module GF.Canon.GFCC.AbsGFCC where -- Haskell module generated by the BNF converter newtype CId = CId String deriving (Eq,Ord,Show) data Grammar = Grm Header Abstract [Concrete] deriving (Eq,Ord,Show) data Header = Hdr CId [CId] deriving (Eq,Ord,Show) data Abstract = Abs [AbsDef] deriving (Eq,Ord,Show) data Concrete = Cnc CId [CncDef] deriving (Eq,Ord,Show) data AbsDef = Fun CId Type Exp deriving (Eq,Ord,Show) data CncDef = Lin CId Term deriving (Eq,Ord,Show) data Type = Typ [CId] CId deriving (Eq,Ord,Show) data Exp = Tr Atom [Exp] deriving (Eq,Ord,Show) data Atom = AC CId | AS String | AI Integer | AF Double | AM deriving (Eq,Ord,Show) data Term = R [Term] | P Term Term | S [Term] | K Tokn | V Integer | C Integer | F CId | FV [Term] | W String Term | RP Term Term | TM | L CId Term | BV CId deriving (Eq,Ord,Show) data Tokn = KS String | KP [String] [Variant] deriving (Eq,Ord,Show) data Variant = Var [String] [String] deriving (Eq,Ord,Show)