summaryrefslogtreecommitdiff
path: root/src/GF/CFGM/AbsCFG.hs
diff options
context:
space:
mode:
authorbringert <unknown>2004-08-23 07:51:36 +0000
committerbringert <unknown>2004-08-23 07:51:36 +0000
commit65f012d15513814bd2cc4ad74f54edd35ade13fe (patch)
tree089419071773038e8357a6b97a9ec0481df2a338 /src/GF/CFGM/AbsCFG.hs
parent25ffe15333a881022047409a1c12a17dd41d1198 (diff)
Added CFGM format (pm -printer=cfgm) and utf8 conversion for pm.
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)
+