Generating language-based environments
Generating language-based environments
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
The PSG system: from formal language definitions to interactive programming environments
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
A meta-language and system for nonlocal incremental attribute evaluation in language-based editors
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Incremental Context-Dependent Analysis for Language-Based Editors
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Cornell program synthesizer: a syntax-directed programming environment
Communications of the ACM
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
Remote attribute updating for language-based editors
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Dynamically bypassing copy rule chains in attribute grammars
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
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
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Incremental evaluation for attribute grammars with application to syntax-directed editors
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiler Construction
Optimal-time incremental semantic analysis for syntax-directed editors
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Non-syntactic attribute flow in language based editors
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Maintained and constructor attributes
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
Attribute propagation by message passing
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
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
The Poe language-based editor project
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Automatic generation of efficient evaluators for attribute grammars
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
High-level data flow analysis using a parse tree representation of the program.
High-level data flow analysis using a parse tree representation of the program.
Incremental vlsi design systems based on circular attribute grammars (fixed point computation, computer aided design)
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)
Matching-based incremental evaluators for hierarchical attribute grammar dialects
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Finding circular attributes in attribute grammars
Journal of the ACM (JACM)
Graph rewrite systems for program optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Nordic Journal of Computing
A framework for incremental extensible compiler construction
ICS '03 Proceedings of the 17th annual international conference on Supercomputing
Online Cycle Detection and Difference Propagation: Applications to Pointer Analysis
Software Quality Control
Architectural styles for active documents
Science of Computer Programming - Special issue on new software composition concepts
A framework for incremental extensible compiler construction
International Journal of Parallel Programming - Special issue II: The 17th annual international conference on supercomputing (ICS'03)
Circular reference attributed grammars — their evaluation and applications
Science of Computer Programming
Iterative type inference with attribute grammars
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Stepwise evaluation of attribute grammars
Proceedings of the Eleventh Workshop on Language Descriptions, Tools and Applications
A local algorithm for incremental evaluation of tabled logic programs
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Hi-index | 0.00 |
We present efficient algorithms for exhaustive and incremental evaluation of circular attributes under any conditions that guarantee finite convergence. The algorithms are derived from those for noncircular attribute grammars by partitioning the underlying attribute dependency graph into its strongly connected components and by ordering the evaluations to follow a topological sort of the resulting directed acyclic graph. The algorithms are efficient in the sense that their worst-case running time is proportional to the cost of computing the fixed points of only those strongly connected components containing affected attributes or attributes directly dependent on affected attributes. When the attribute grammar is noncircular or the specific dependency graph under consideration is acyclic, both algorithms reduce to the standard optimal algorithms for noncircular attribute evaluation.