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.

LLgen is a part of the Amsterdam Compiler Kit, used all the way
in it for parsing C, Pascal, Modula etc.
