summaryrefslogtreecommitdiff
path: root/src/GF/CFGM/AbsCFG.hs
blob: 063b96802fb1b0962b433a97410332b3ddfbb063 (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
45
module GF.CFGM.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 Profiles Category [Symbol]
  deriving (Eq,Ord,Show)

data Fun =
   Cons Ident
 | Coerce
  deriving (Eq,Ord,Show)

data Profiles =
   Profiles [Profile]
  deriving (Eq,Ord,Show)

data Profile =
   UnifyProfile [Integer]
 | ConstProfile Ident
  deriving (Eq,Ord,Show)

data Symbol =
   CatS Category
 | TermS String
  deriving (Eq,Ord,Show)

data Category =
   Category SingleQuoteString
  deriving (Eq,Ord,Show)