diff options
| author | aarne <aarne@cs.chalmers.se> | 2007-10-04 21:38:59 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2007-10-04 21:38:59 +0000 |
| commit | 48ebf562b9bfcacff7c0fabeaa5892f31ddd3e1c (patch) | |
| tree | 7c39399a32dd7b66e9921118de61e9246468944d /src/GF/GFCC/AbsGFCC.hs | |
| parent | acc32ec199694c0e57df9f4a1f2273d166b88be4 (diff) | |
new GFCC format in GF/GFCC
Diffstat (limited to 'src/GF/GFCC/AbsGFCC.hs')
| -rw-r--r-- | src/GF/GFCC/AbsGFCC.hs | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/GF/GFCC/AbsGFCC.hs b/src/GF/GFCC/AbsGFCC.hs new file mode 100644 index 000000000..b41f66d6f --- /dev/null +++ b/src/GF/GFCC/AbsGFCC.hs @@ -0,0 +1,83 @@ +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 = + Typ [CId] CId + | DTyp [Hypo] CId [Exp] + deriving (Eq,Ord,Show) + +data Exp = + Tr Atom [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 + 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) + |
