summaryrefslogtreecommitdiff
path: root/src/GF/CFGM/AbsCFG.hs
blob: c605ce2127927845a8b95cfdcb8d99c96121a71c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
module AbsCFG where

-- Haskell module generated by the BNF converter

newtype Ident = Ident String deriving (Eq,Ord,Show)
newtype SingleQuoteString = SingleQuoteString 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 Fun Profile Category [Symbol]
  deriving (Eq,Ord,Show)

data Fun =
   Cons Ident
 | Coerce
  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 Category =
   Category SingleQuoteString
  deriving (Eq,Ord,Show)