module GF.GFCC.AbsGFCC where -- Haskell module generated by the BNF converter newtype CId = CId String deriving (Eq,Ord,Show) data Grammar = Grm CId [CId] Abstract [Concrete] deriving (Eq,Ord,Show) data Abstract = Abs [Flag] [FunDef] [CatDef] deriving (Eq,Ord,Show) data Concrete = Cnc CId [Flag] [LinDef] [LinDef] [LinDef] [LinDef] [LinDef] deriving (Eq,Ord,Show) data Flag = Flg CId String deriving (Eq,Ord,Show) data CatDef = Cat CId [Hypo] deriving (Eq,Ord,Show) data FunDef = Fun CId Type Exp deriving (Eq,Ord,Show) data LinDef = Lin CId Term deriving (Eq,Ord,Show) data Type = DTyp [Hypo] CId [Exp] deriving (Eq,Ord,Show) data Exp = DTr [CId] Atom [Exp] | EEq [Equation] deriving (Eq,Ord,Show) data Atom = AC CId | AS String | AI Integer | AF Double | AM Integer | AV CId deriving (Eq,Ord,Show) data Term = R [Term] | P Term Term | S [Term] | K Tokn | V Int --H | C Int --H | F CId | FV [Term] | W String Term | TM | RP Term Term deriving (Eq,Ord,Show) data Tokn = KS String | KP [String] [Variant] deriving (Eq,Ord,Show) data Variant = Var [String] [String] deriving (Eq,Ord,Show) data Hypo = Hyp CId Type deriving (Eq,Ord,Show) data Equation = Equ [Exp] Exp deriving (Eq,Ord,Show)