forked from GitHub/gf-core
58 lines
1.1 KiB
Haskell
58 lines
1.1 KiB
Haskell
----------------------------------------------------------------------
|
|
-- |
|
|
-- Module : (Module)
|
|
-- Maintainer : (Maintainer)
|
|
-- Stability : (stable)
|
|
-- Portability : (portable)
|
|
--
|
|
-- > CVS $Date $
|
|
-- > CVS $Author $
|
|
-- > CVS $Revision $
|
|
--
|
|
-- (Description of the module)
|
|
-----------------------------------------------------------------------------
|
|
|
|
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 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 SingleQuoteString
|
|
deriving (Eq,Ord,Show)
|
|
|
|
data Category =
|
|
Category SingleQuoteString
|
|
deriving (Eq,Ord,Show)
|
|
|