content: -- File generated by the BNF Converter (bnfc 2.9.5).
  
  {-# LANGUAGE GeneralizedNewtypeDeriving #-}
  
  -- | The abstract syntax of language RawSpecLang.
  
  module AbsRawSpecLang where
  
  import Prelude (Double, Integer, String)
  import qualified Prelude as C (Eq, Ord, Show, Read)
  import qualified Data.String
  
  data LBound
      = LBInt Integer
      | LBDouble Double
      | LBNegInt Integer
      | LBNegDouble Double
      | LInf
    deriving (C.Eq, C.Ord, C.Show, C.Read)
  
  data UBound
      = UBInt Integer
      | UBDouble Double
      | UBNegInt Integer
      | UBNegDouble Double
      | UInf
    deriving (C.Eq, C.Ord, C.Show, C.Read)
  
  data VarBind
      = VarSpec Id LBound UBound
      | VarSpecIdx Id Integer LBound UBound
      | VarSpecField Id Id LBound UBound
    deriving (C.Eq, C.Ord, C.Show, C.Read)
  
  data SpecBind
      = SpecBindN Id [Id] [VarBind] | SpecBind0 Id [VarBind]
    deriving (C.Eq, C.Ord, C.Show, C.Read)
  
  data Spec = Specification [SpecBind]
    deriving (C.Eq, C.Ord, C.Show, C.Read)
  
  newtype Id = Id String
    deriving (C.Eq, C.Ord, C.Show, C.Read, Data.String.IsString)
  
  