Code generation using tree matching and dynamic programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Crafting a compiler with C
Engineering a simple, efficient code-generator generator
ACM Letters on Programming Languages and Systems (LOPLAS)
An efficient context-free parsing algorithm
Communications of the ACM
Extending Graham-Glanville techniques for optimal code generation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using dynamic programming to generate optimized code in a Graham-Glanville style code generator
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
A new method for compiler code generation
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Optimal Regular Tree Pattern Matching Using Pushdown Automata
Proceedings of the 18th Conference on Foundations of Software Technology and Theoretical Computer Science
A machine independent algorithm for code generation and its use in retargetable compilers.
A machine independent algorithm for code generation and its use in retargetable compilers.
Compilers: Principles, Techniques, and Tools (2nd Edition)
Compilers: Principles, Techniques, and Tools (2nd Edition)
Hi-index | 0.00 |
The code generator in a compiler attempts to match a subject tree against a collection of tree-shaped patterns for generating instructions. Tree-pattern matching may be considered as a generalization of string parsing. We propose a new generalized LR (GLR) parser, which extends the LR parser stack with a parser cactus. GLR explores all plausible parsing steps to find the least-cost matching. GLR is fast due to two properties: (1) duplicate parsing steps are eliminated and (2) partial parse trees that will not lead to a least-cost matching are discarded as early as possible.