The Dragon software package implements a combined scanner/parser generator for LR compliant grammar definitions. The generated C++ parser class is used as a super class from which a parser implementation class must be derived. This class implements the scanner feed methods but also all required semantic action methods.
Dragon has been used for several large projects with complex grammar definitions (about 200 productions/80 tokens). For these grammar definitions, the analyses phase to build up the parse table, is quite CPU intensive. It is recommended that state of the art hardware be used.
Dragon requires the base LFC package to compile and also for the compilation of the generated C++ code.