Translation of attribute grammars into procedures
ACM Transactions on Programming Languages and Systems (TOPLAS)
Global Data Flow Analysis and Iterative Algorithms
Journal of the ACM (JACM)
A Deterministic Attribute Grammar Evaluator Based on Dynamic Scheduling
ACM Transactions on Programming Languages and Systems (TOPLAS)
Sub-protocol-evaluators for attribute grammars
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
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
A semantics-directed compiler generator
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
LINGUIST-86: Yet another translator writing system based on attribute grammars
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
A truly generative semantics-directed compiler generator
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Automatic generation of efficient evaluators for attribute grammars
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Definition and use of attribute reevaluation in attributed grammars.
Definition and use of attribute reevaluation in attributed grammars.
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Object-oriented database support for software environments
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Incremental evaluation for a general class of circular attribute grammars
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Incremental dynamic semantics for language-based programming environments
ACM Transactions on Programming Languages and Systems (TOPLAS)
Graph attribution as a specification paradigm
SDE 3 Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient evaluation of circular attribute grammars
ACM Transactions on Programming Languages and Systems (TOPLAS)
Higher-order attribute grammars and editing environments
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
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
Incremental attribute evaluation: a flexible algorithm for lazy update
ACM Transactions on Programming Languages and Systems (TOPLAS)
Composable attribute grammars: support for modularity in translator design and implementation
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Scan grammars: parallel attribute evaluation via data-parallelism
SPAA '93 Proceedings of the fifth annual ACM symposium on Parallel algorithms and architectures
Attribute grammar paradigms—a high-level methodology in language implementation
ACM Computing Surveys (CSUR)
Incremental evaluation of computational circuits
SODA '90 Proceedings of the first annual ACM-SIAM symposium on Discrete algorithms
Finding circular attributes in attribute grammars
Journal of the ACM (JACM)
The Cactis Project: Database Support for Software Environments
IEEE Transactions on Software Engineering
Nordic Journal of Computing
A Functional Semantics of Attribute Grammars
TACAS '02 Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Journal of the ACM (JACM)
Using Verified Data-Flow Analysis-based Optimizations in Attribute Grammars
Electronic Notes in Theoretical Computer Science (ENTCS)
Circular reference attributed grammars — their evaluation and applications
Science of Computer Programming
The JastAdd system — modular extensible compiler construction
Science of Computer Programming
Development of a Modelica Compiler Using JastAdd
Electronic Notes in Theoretical Computer Science (ENTCS)
Challenge proposal: verification of refactorings
Proceedings of the 3rd workshop on Programming languages meets program verification
Demand-driven evaluation of collection attributes
Automated Software Engineering
Formalising and Verifying Reference Attribute Grammars in Coq
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Declarative Intraprocedural Flow Analysis of Java Source Code
Electronic Notes in Theoretical Computer Science (ENTCS)
Silver: An extensible attribute grammar system
Science of Computer Programming
Applying attribute grammars for metamodel semantics
Proceedings of the International Workshop on Formalization of Modeling Languages
An introductory tutorial on JastAdd attribute grammars
GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III
Automated selective caching for reference attribute grammars
SLE'10 Proceedings of the Third international conference on Software language engineering
Reference attribute grammars for metamodel semantics
SLE'10 Proceedings of the Third international conference on Software language engineering
Integrating attribute grammar and functional programming language features
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
Extensible intraprocedural flow analysis at the abstract syntax tree level
Science of Computer Programming
DropsBox: the Dresden Open Software Toolbox
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
In the traditional formulation of attribute grammars (AGs) circularities are not allowed, that is, no attribute-instance in any derivation tree may be defined in terms of itself. Elsewhere in mathematics and computing, though, circular (or recursive) definitions are commonplace, and even essential. Given appropriate constraints, recursive definitions are well-founded, and the least fixed-points they denote are computable. This is also the case for circular AGs.This paper presents constraints on individual attributes and semantic functions of an AG that are sufficient to guarantee that a circular AG specifies a well-defined translation and that circularly-defined attribute-instances can be computed via successive approximation. AGs that satisfy these constraints are called finitely recursive.An attribute evaluation paradigm is presented that incorporates successive approximation to evaluate circular attribute-instances, along with an algorithm to automatically construct such an evaluator. The attribute evaluators so produced are static in the sense that the order of evaluation at each production-instance in the derivation-tree is determined at the time that each translator is generated.A final algorithm is presented that tells which individual attributes and functions must satisfy the constraints.