diff options
| author | aarne <aarne@cs.chalmers.se> | 2006-09-05 12:14:13 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2006-09-05 12:14:13 +0000 |
| commit | 8484cfab1b1d27ba7046798c2821c138e4f5fabf (patch) | |
| tree | b1b6e5660b736b190cd5b9bcf7aa59e1cb798a5f /src/GF/Canon/GFCC/AbsGFCC.hs | |
| parent | 1807dc437960afd13adc17cce52c54992daa9570 (diff) | |
starting GFCC format
Diffstat (limited to 'src/GF/Canon/GFCC/AbsGFCC.hs')
| -rw-r--r-- | src/GF/Canon/GFCC/AbsGFCC.hs | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/GF/Canon/GFCC/AbsGFCC.hs b/src/GF/Canon/GFCC/AbsGFCC.hs new file mode 100644 index 000000000..bbc323d0f --- /dev/null +++ b/src/GF/Canon/GFCC/AbsGFCC.hs @@ -0,0 +1,64 @@ +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 + 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 + deriving (Eq,Ord,Show) + +data Tokn = + KS String + | KP [String] [Variant] + deriving (Eq,Ord,Show) + +data Variant = + Var [String] [String] + deriving (Eq,Ord,Show) + |
