A unified approach to global program optimization
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Analysis of a simple algorithm for global data flow problems
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Compiler Construction for Digital Computers
Compiler Construction for Digital Computers
Proceedings of a symposium on Compiler optimization
Compiling circular attribute grammars into Prolog
IBM Journal of Research and Development
Modular specification of incremental program transformation systems
ICSE '89 Proceedings of the 11th international conference on Software engineering
Incremental Context-Dependent Analysis for Language-Based Editors
ACM Transactions on Programming Languages and Systems (TOPLAS)
Semantic evaluation from left to right
Communications of the ACM
The intrinsically exponential complexity of the circularity problem for attribute grammars
Communications of the ACM
Formal specification and automatic programming
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Removal of invariant statements from nested-loops in a single effective compiler pass
Proceedings of the conference on Programming languages and compilers for parallel and vector machines
Alternating semantic evaluator
ACM '75 Proceedings of the 1975 annual conference
Constant folding within an expression by semantic attributes
Computer Languages
Hi-index | 0.03 |
Once the general principles of compilation by semantic attributes have been exposed, it is then demonstrated, with the help of a simple example, how such an approach leads naturally to an amelioration of the generated code without resorting to any special optimization treatment. Also included is the determination of basic blocks of a program, the fundamental elements in code optimization, by the method of attributes. This offers the possibility of formalizing semantically the principal optimization algorithms. To our knowledge this is the very first attempt undertaken to describe optimizing compilers methodically.