Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
LR PARSING theory and practice
LR PARSING theory and practice
Eli: a complete, flexible compiler construction system
Communications of the ACM
ANTLR: a predicated-LL(k) parser generator
Software—Practice & Experience
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Generation of LR parsers by partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Functional Treatment of Parsing
The Functional Treatment of Parsing
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
Deterministic Techniques for Efficient Non-Deterministic Parsers
Proceedings of the 2nd Colloquium on Automata, Languages and Programming
Deterministic, Error-Correcting Combinator Parsers
Advanced Functional Programming, Second International School-Tutorial Text
Journal of Functional Programming
Grammars with macro-like productions
SWAT '68 Proceedings of the 9th Annual Symposium on Switching and Automata Theory (swat 1968)
LR-regular grammars-an extension of LR(k) grammars
Journal of Computer and System Sciences
Macros for context-free grammars
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
Hi-index | 0.00 |
Common LR parser generators lack abstraction facilities for defining recurring patterns of productions. Although there are generators capable of supporting regular expressions on the right hand side of productions, no generator supports user defined patterns in grammars. Parameterized LR parsing extends standard LR parsing technology by admitting grammars with parameterized non-terminal symbols. A generator can implement such a grammar in two ways, either by expansion or directly. We develop the theory required for the direct implementation and show that it leads to significantly smaller parse tables and that it has fewer parsing conflicts than the expanded grammar. Attribute evaluation for a parameterized non-terminal is possible in the same way as before, if the semantic functions related to the non-terminal are polymorphic with respect to the parameter. We have implemented parameterized LR parsing in the context of Essence, a partial-evaluation based LR parser generator for Scheme.