diff options
| author | aarne <aarne@cs.chalmers.se> | 2006-09-19 12:59:33 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2006-09-19 12:59:33 +0000 |
| commit | 7ea135378f9b6b70288ac174e2f165f469efcf58 (patch) | |
| tree | 73afa1bbf88acc95fcc2f3b97464a14bbd5c5aec /src/GF/FCFG/AbsFCFG.hs | |
| parent | 1242b8cc91f2ba3b9860cf34b36d0a5bbcea1b1a (diff) | |
FCFG format in BNFC
Diffstat (limited to 'src/GF/FCFG/AbsFCFG.hs')
| -rw-r--r-- | src/GF/FCFG/AbsFCFG.hs | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/src/GF/FCFG/AbsFCFG.hs b/src/GF/FCFG/AbsFCFG.hs new file mode 100644 index 000000000..c7b2c4057 --- /dev/null +++ b/src/GF/FCFG/AbsFCFG.hs @@ -0,0 +1,82 @@ +module GF.FCFG.AbsFCFG where + +-- Haskell module generated by the BNF converter + +newtype Ident = Ident String deriving (Eq,Ord,Show) +data FGrammar = + FGr [FRule] + deriving (Eq,Ord,Show) + +data FRule = + FR Abstract [[FSymbol]] + deriving (Eq,Ord,Show) + +data Abstract = + Abs FCat [FCat] Name + deriving (Eq,Ord,Show) + +data FSymbol = + FSymCat FCat Integer Integer + | FSymTok String + deriving (Eq,Ord,Show) + +data FCat = + FC Integer Ident [[PathEl]] [PathTerm] + deriving (Eq,Ord,Show) + +data PathEl = + PLabel Label + | PTerm Term + deriving (Eq,Ord,Show) + +data PathTerm = + PtT [PathEl] Term + deriving (Eq,Ord,Show) + +data Name = + Nm Ident [Profile] + deriving (Eq,Ord,Show) + +data Profile = + Unify [Integer] + | Const Forest + deriving (Eq,Ord,Show) + +data Forest = + FMeta + | FNode Ident [[Forest]] + | FString String + | FInt Integer + | FFloat Double + deriving (Eq,Ord,Show) + +data Term = + Arg Integer Ident [PathEl] + | Constr CIdent [Term] + | Rec [Assoc] + | Proj Term Label + | Tbl [Case] + | Select Term Term + | Vars [Term] + | Concat Term Term + | Tok String + | Empty + deriving (Eq,Ord,Show) + +data Case = + Cas Term Term + deriving (Eq,Ord,Show) + +data Assoc = + Ass Label Term + deriving (Eq,Ord,Show) + +data Label = + L Ident + | LV Integer + deriving (Eq,Ord,Show) + +data CIdent = + CIQ Ident Ident + deriving (Eq,Ord,Show) + |
