LLgen is a tool for generating an efficient recursive descent parser
from an ELL(1) grammar. The grammar may be ambiguous or more general
than ELL(1): there are both static and dynamic facilities to resolve
the ambiguities