summaryrefslogtreecommitdiff
path: root/src/GF/CFGM/AbsCFG.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/GF/CFGM/AbsCFG.hs')
-rw-r--r--src/GF/CFGM/AbsCFG.hs50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/GF/CFGM/AbsCFG.hs b/src/GF/CFGM/AbsCFG.hs
new file mode 100644
index 000000000..c709aee38
--- /dev/null
+++ b/src/GF/CFGM/AbsCFG.hs
@@ -0,0 +1,50 @@
+module AbsCFG where
+
+-- Haskell module generated by the BNF converter
+
+newtype Ident = Ident String deriving (Eq,Ord,Show)
+data Grammars =
+ Grammars [Grammar]
+ deriving (Eq,Ord,Show)
+
+data Grammar =
+ Grammar Ident [Flag] [Rule]
+ deriving (Eq,Ord,Show)
+
+data Flag =
+ StartCat Category
+ deriving (Eq,Ord,Show)
+
+data Rule =
+ Rule Ident Name Profile Category [Symbol]
+ deriving (Eq,Ord,Show)
+
+data Profile =
+ Profile [Ints]
+ deriving (Eq,Ord,Show)
+
+data Ints =
+ Ints [Integer]
+ deriving (Eq,Ord,Show)
+
+data Symbol =
+ CatS Category
+ | TermS String
+ deriving (Eq,Ord,Show)
+
+data Name =
+ Name [IdentParam] Category
+ deriving (Eq,Ord,Show)
+
+data Category =
+ Category IdentParam Ident [Param]
+ deriving (Eq,Ord,Show)
+
+data IdentParam =
+ IdentParam Ident [Param]
+ deriving (Eq,Ord,Show)
+
+data Param =
+ Param Ident
+ deriving (Eq,Ord,Show)
+