Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Elimination algorithms for data flow analysis
ACM Computing Surveys (CSUR)
Binding performance at language design time
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Fast and Usually Linear Algorithm for Global Flow Analysis
Journal of the ACM (JACM)
A Unified Approach to Path Problems
Journal of the ACM (JACM)
Fast Algorithms for Solving Path Problems
Journal of the ACM (JACM)
Communications of the ACM
The intrinsically exponential complexity of the circularity problem for attribute grammars
Communications of the ACM
Hierarchical VLSI design systems based on attribute grammars
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A unified approach to global program optimization
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Automatic generation of efficient evaluators for attribute grammars
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Design, implementation and evaluation of the FNC-2 attribute grammar system
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Finding circular attributes in attribute grammars
Journal of the ACM (JACM)
Hi-index | 0.00 |
Circular attribute grammars appear in many data flow analysis problems. As one way of making the notion useful, an automatic translation of circular attribute grammars to equivalent non-circular attribute grammars is presented. It is shown that for circular attribute grammars that arise in many data flow analysis problems, the translation does not increase the asymptotic complexity of the semantic equations. Therefore, the translation may be used in conjunction with any evaluator generator to automate the development of efficient data flow analysis algorithms. As a result, the integration of such algorithms with other parts of a compiler becomes easier.