Optimization of directly executable LR parsers
Date
1988
Authors
Whitney, Michael James
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Directly-executable parsers enable compilers and other parse-intensive applications to run significantly faster than those which use table-driven parsers. The cost for increased speed is a larger parser. It is possible to further increase parsing speed by applying various optimization algorithms at parser generation time. Some existing optimizations used with table-driven parsers are applicable, while others apply only to directly-executable parsers. It is also possible to reduce the size of hard-coded parsers substantially.
Several optimization algorithms for directly-executable LR parsers are presented. They are designed to be implementable at the parser construction phase, within an LR parser generator. The algorithms are "adaptive" in the sense that the complexity of each part of the generated parsing automaton reflects the complexity of the grammatical construct to be parsed, independently of the rest of the parser.