Efficient tree pattern matching (extended abstract): an aid to code generation
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Journal of the ACM (JACM)
Experience with a Graham-Glanville style code generator
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
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
Engineering a production code generator
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Tree templates and subtree transformational grammars.
Tree templates and subtree transformational grammars.
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.
Retargetable code generation and optimization using attribute grammars
Retargetable code generation and optimization using attribute grammars
Graham/glanville code generators (compiler, parser, programming language)
Graham/glanville code generators (compiler, parser, programming language)
Hi-index | 0.00 |
In recent years, the Graham-Glanville approach to code generation has become an increasingly important influence on new compiler writing projects. Initial enthusiasm prompted by the early research results has now fueled projects with more practical goals and requirements. This paper reports on the early results of a long-term project that is applying the Graham-Glanville method to the creation of an industrial-quality multi-language, multi-target compiler system. Much of the resulting code generation system deals with matters that are not fully handled by the Graham-Glanville method. We present a derailed list of the limitations encountered and, for each, the extension or modification that was invented to deal with it.Our conclusion is that the Graham-Glanville method does not always fulfill its early promise of generating locally-optimal code. Production-quality retargetable compiler generation still requires clever organization and many sophisticated algorithms to achieve this goal in the presence of register allocation and cost analysis.