symantic-parser-0.1.0.20210201: Parser combinators statically optimized and staged via typed meta-programming
Safe HaskellNone
LanguageHaskell2010

Symantic.Parser.Machine

Synopsis

Documentation

type ParserRepr repr inp = ObserveSharing Name (OptimizeGrammar (Program repr inp)) Source #

Like a Parser but not bound to the Gen interpreter.

type Parser inp = ParserRepr Gen inp Source #

machine :: forall inp repr a. Ord (InputToken inp) => Show (InputToken inp) => Lift (InputToken inp) => Grammar (InputToken inp) (Program repr inp) => Machine (InputToken inp) repr => ParserRepr repr inp a -> repr inp '[] ('Succ 'Zero) a Source #

Build a Machine able to generateCode for the given Parser.