ptera-core-0.1.0.0: A parser generator
Safe HaskellNone
LanguageHaskell2010

Language.Parser.Ptera.Pipeline.Grammar2PEG

Documentation

grammar2Peg :: Enum start => Enum nonTerminal => Enum terminal => FixedGrammar start nonTerminal terminal elem varDoc altDoc action -> T start varDoc altDoc (Action action) Source #

type Pipeline start nonTerminal varDoc altDoc action = State (Context start nonTerminal varDoc altDoc action) Source #

data Context start nonTerminal varDoc altDoc action Source #

Constructors

Context 

Fields

grammarStartPipeline :: Enum start => Enum nonTerminal => start -> nonTerminal -> Pipeline start nonTerminal varDoc altDoc action () Source #

grammarRulePipeline :: Enum nonTerminal => Enum terminal => nonTerminal -> RuleExpr nonTerminal terminal elem altDoc action -> Pipeline start nonTerminal varDoc altDoc action () Source #

grammarAltPipeline :: Enum nonTerminal => Enum terminal => Alt nonTerminal terminal elem altDoc action r -> Pipeline start nonTerminal varDoc altDoc action AltNum Source #

grammarExprPipeline :: forall start nonTerminal terminal elem varDoc altDoc action us. Enum nonTerminal => Enum terminal => Expr nonTerminal terminal elem us -> Pipeline start nonTerminal varDoc altDoc action [Unit] Source #

grammarUnitPipeline :: Enum nonTerminal => Enum terminal => Unit nonTerminal terminal elem u -> Pipeline start nonTerminal varDoc altDoc action Unit Source #

getNewVar :: Enum nonTerminal => nonTerminal -> Pipeline start nonTerminal varDoc altDoc action VarNum Source #

liftBuilder :: T start varDoc altDoc (Action action) Identity r -> Pipeline start nonTerminal varDoc altDoc action r Source #