The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
A Deterministic Attribute Grammar Evaluator Based on Dynamic Scheduling
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Cornell program synthesizer: a syntax-directed programming environment
Communications of the ACM
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
Linear cost is sometimes quadratic
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic generation of near-optimal linear-time translators for non-circular attribute grammars
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Creation of hierarchic text with a computer display
Creation of hierarchic text with a computer display
Incremental attribute evaluation in distributed language-based environments
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
An incremental algorithm for software analysis
SDE 2 Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Object-oriented database support for software environments
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Incremental data-flow analysis algorithms
ACM Transactions on Programming Languages and Systems (TOPLAS)
An Semantic Feedback in the Higgens UIMS
IEEE Transactions on Software Engineering
Cactis: a self-adaptive, concurrent implementation of an object-oriented database management system
ACM Transactions on Database Systems (TODS)
Incremental data flow analysis via dominator and attribute update
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Incremental computation via function caching
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)
Incremental reduction in the lambda calculus
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
An efficient hybrid algorithm for incremental data flow analysis
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Software Engineering and Methodology (TOSEM)
A categorized bibliography on incremental computation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An incremental algorithm for maintaining the dominator tree of a reducible flowgraph
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new framework for exhaustive and incremental data flow analysis using DJ graphs
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
A new framework for elimination-based data flow analysis using DJ graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
CACTIS: a database system for specifying functionally-defined data
OODS '86 Proceedings on the 1986 international workshop on Object-oriented database systems
Incremental Context-Dependent Analysis for Language-Based Editors
ACM Transactions on Programming Languages and Systems (TOPLAS)
Remote attribute updating for language-based editors
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
Transformational programming: applications to algorithms and systems
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Incremental data flow analysis
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Cactis Project: Database Support for Software Environments
IEEE Transactions on Software Engineering
Support Algorithms for Incremental Attribute Evaluation of Asynchronous Subtree Replacements
IEEE Transactions on Software Engineering
The Performance and Utility of the Cactis Implementation Algorithms
VLDB '90 Proceedings of the 16th International Conference on Very Large Data Bases
Attribute propagation by message passing
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
A truly generative semantics-directed compiler generator
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Document structure and modularity in mentor
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Hierarchical Program Diagram Editor Based on Attributed Graph Grammar
COMPSAC '96 Proceedings of the 20th Conference on Computer Software and Applications
Minimal change and bounded incremental parsing
COLING '94 Proceedings of the 15th conference on Computational linguistics - Volume 1
Maintaining Longest Paths Incrementally
Constraints
Adaptive functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
A dynamic topological sort algorithm for directed acyclic graphs
Journal of Experimental Algorithmics (JEA)
Imperative self-adjusting computation
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiling self-adjusting programs with continuations
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
A cost semantics for self-adjusting computation
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An experimental analysis of self-adjusting computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Self-adjusting computation with Delta ML
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
A local algorithm for incremental evaluation of tabled logic programs
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Incremental algorithms for inter-procedural analysis of safety properties
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Incremental semantic analysis for OCL compilers
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
Attribute grammars permit the specification of static semantics in an applicative and modular fashion, and thus are a good basis for syntax-directed editors. Such editors represent programs as attributed trees, which are modified by operations such as subtree pruning and grafting. After each modification, a subset of attributes, AFFECTED, requires new values. Membership in AFFECTED is not known a priori; this paper presents an algorithm that identifies attributes in AFFECTED and computes their new values. The algorithm is time-optimal, its cost is proportional to the size of AFFECTED.