grammar-combinators-0.2.6: A parsing library of context-free grammar combinators.

Text.GrammarCombinators.Parser.TopDown

Description

This was intended as a common library for top-down parser algorithms, but it is a bit outdated and currently only used by the LL1 parser.

Documentation

newtype NonBranchingRule phi r t v Source

Constructors

MkNBR 

Fields

unNBR :: (forall ix. phi ix -> [ConcreteToken t] -> NonBranchingRule phi r t (r ix)) -> MaybeT (State [ConcreteToken t]) v
 

Instances

type UnambiguousTopDownGrammar phi r t = (Domain phi, Token t) => phi ix -> [ConcreteToken t] -> NonBranchingRule phi r t (r ix)Source

newtype WrapLookaheadNBR phi r t ix Source

Constructors

WrapLNBR 

Fields

unWrapLNBR :: [ConcreteToken t] -> NonBranchingRule phi r t (r ix)
 

parseTopDown :: forall phi r t ix. (Domain phi, Token t) => UnambiguousTopDownGrammar phi r t -> phi ix -> [ConcreteToken t] -> Maybe (r ix)Source