Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
The abstract syntax of language BNFC.
Synopsis
- data Grammar = Grammar [Def]
- data Def
- = Rule Label Cat [Item]
- | Comment String
- | Comments String String
- | Internal Label Cat [Item]
- | Token Identifier Reg
- | PosToken Identifier Reg
- | Entryp [Cat]
- | Separator MinimumSize Cat String
- | Terminator MinimumSize Cat String
- | Delimiters Cat String String Separation MinimumSize
- | Coercions Identifier Integer
- | Rules Identifier [RHS]
- | Function Identifier [Arg] Exp
- | Layout [String]
- | LayoutStop [String]
- | LayoutTop
- data Item
- data Cat
- data Label
- data Arg = Arg Identifier
- data Separation
- data Exp
- data RHS = RHS [Item]
- data MinimumSize
- data Reg
- newtype Identifier = Identifier ((Int, Int), String)
- type BNFC'Position = Maybe (Int, Int)
- pattern BNFC'NoPosition :: BNFC'Position
- pattern BNFC'Position :: Int -> Int -> BNFC'Position
- class HasPosition a where
- hasPosition :: a -> BNFC'Position
Documentation
Instances
Eq Grammar Source # | |
Ord Grammar Source # | |
Read Grammar Source # | |
Show Grammar Source # | |
Print Grammar Source # | |
data Separation Source #
Instances
Eq Separation Source # | |
Defined in BNFC.Abs (==) :: Separation -> Separation -> Bool Source # (/=) :: Separation -> Separation -> Bool Source # | |
Ord Separation Source # | |
Defined in BNFC.Abs compare :: Separation -> Separation -> Ordering Source # (<) :: Separation -> Separation -> Bool Source # (<=) :: Separation -> Separation -> Bool Source # (>) :: Separation -> Separation -> Bool Source # (>=) :: Separation -> Separation -> Bool Source # max :: Separation -> Separation -> Separation Source # min :: Separation -> Separation -> Separation Source # | |
Read Separation Source # | |
Show Separation Source # | |
Print Separation Source # | |
Defined in BNFC.Print |
Cons Exp Exp | |
App Identifier [Exp] | |
Var Identifier | |
LitInt Integer | |
LitChar Char | |
LitString String | |
LitDouble Double | |
List [Exp] |
data MinimumSize Source #
Instances
Eq MinimumSize Source # | |
Defined in BNFC.Abs (==) :: MinimumSize -> MinimumSize -> Bool Source # (/=) :: MinimumSize -> MinimumSize -> Bool Source # | |
Ord MinimumSize Source # | |
Defined in BNFC.Abs compare :: MinimumSize -> MinimumSize -> Ordering Source # (<) :: MinimumSize -> MinimumSize -> Bool Source # (<=) :: MinimumSize -> MinimumSize -> Bool Source # (>) :: MinimumSize -> MinimumSize -> Bool Source # (>=) :: MinimumSize -> MinimumSize -> Bool Source # max :: MinimumSize -> MinimumSize -> MinimumSize Source # min :: MinimumSize -> MinimumSize -> MinimumSize Source # | |
Read MinimumSize Source # | |
Show MinimumSize Source # | |
Print MinimumSize Source # | |
Defined in BNFC.Print |
RAlt Reg Reg | |
RMinus Reg Reg | |
RSeq Reg Reg | |
RStar Reg | |
RPlus Reg | |
ROpt Reg | |
REps | |
RChar Char | |
RAlts String | |
RSeqs String | |
RDigit | |
RLetter | |
RUpper | |
RLower | |
RAny |
newtype Identifier Source #
Identifier ((Int, Int), String) |
Instances
Eq Identifier Source # | |
Defined in BNFC.Abs (==) :: Identifier -> Identifier -> Bool Source # (/=) :: Identifier -> Identifier -> Bool Source # | |
Ord Identifier Source # | |
Defined in BNFC.Abs compare :: Identifier -> Identifier -> Ordering Source # (<) :: Identifier -> Identifier -> Bool Source # (<=) :: Identifier -> Identifier -> Bool Source # (>) :: Identifier -> Identifier -> Bool Source # (>=) :: Identifier -> Identifier -> Bool Source # max :: Identifier -> Identifier -> Identifier Source # min :: Identifier -> Identifier -> Identifier Source # | |
Read Identifier Source # | |
Show Identifier Source # | |
HasPosition Identifier Source # | |
Defined in BNFC.Abs | |
Print Identifier Source # | |
Defined in BNFC.Print |
pattern BNFC'NoPosition :: BNFC'Position Source #
pattern BNFC'Position :: Int -> Int -> BNFC'Position Source #
class HasPosition a where Source #
Get the start position of something.
hasPosition :: a -> BNFC'Position Source #
Instances
HasPosition Identifier Source # | |
Defined in BNFC.Abs |