This was intended as a common library for topdown parser algorithms, but it is a bit outdated and currently only used by the LL1 parser.
Documentation
newtype NonBranchingRule phi r t v Source
MkNBR  

Monad (NonBranchingRule phi r t)  
Functor (NonBranchingRule phi r t) 
nbrEndOfInput :: NonBranchingRule phi r t ()Source
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
WrapLNBR  

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