Language.Parser.Ptera.Machine.LAPEG.Builder
type T start varDoc altDoc a = BuilderT start varDoc altDoc a Source #
type BuilderT start varDoc altDoc a = StateT (Context start varDoc altDoc a) Source #
data Context start varDoc altDoc a Source #
Constructors
Fields
Defined in Language.Parser.Ptera.Machine.LAPEG.Builder
Methods
fmap :: (a -> b) -> Context start varDoc altDoc a -> Context start varDoc altDoc b #
(<$) :: a -> Context start varDoc altDoc b -> Context start varDoc altDoc a #
(==) :: Context start varDoc altDoc a -> Context start varDoc altDoc a -> Bool #
(/=) :: Context start varDoc altDoc a -> Context start varDoc altDoc a -> Bool #
showsPrec :: Int -> Context start varDoc altDoc a -> ShowS #
show :: Context start varDoc altDoc a -> String #
showList :: [Context start varDoc altDoc a] -> ShowS #
build :: Monad m => BuilderT start varDoc altDoc a m () -> m (T start varDoc altDoc a) Source #
genNewVar :: Monad m => Var varDoc -> BuilderT start varDoc altDoc a m VarNum Source #
genNewAlt :: Monad m => Alt altDoc a -> BuilderT start varDoc altDoc a m AltNum Source #
addInitial :: Monad m => Enum start => start -> VarNum -> BuilderT start varDoc altDoc a m () Source #
addRule :: Monad m => VarNum -> Rule -> BuilderT start varDoc altDoc a m () Source #