A Deterministic Attribute Grammar Evaluator Based on Dynamic Scheduling
ACM Transactions on Programming Languages and Systems (TOPLAS)
Semantic evaluation from left to right
Communications of the ACM
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
Automatic generation of efficient evaluators for attribute grammars
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
The Cornell Program Synthesizer: A Microcomputer Implementation of PL/CS
The Cornell Program Synthesizer: A Microcomputer Implementation of PL/CS
Creation of hierarchic text with a computer display
Creation of hierarchic text with a computer display
On attribute grammars and the semantic specification of programming languages.
On attribute grammars and the semantic specification of programming languages.
The coroutine model of attribute grammar evaluation.
The coroutine model of attribute grammar evaluation.
Attributed grammar models for data flow analysis.
Attributed grammar models for data flow analysis.
Translation of attribute grammars into procedures
ACM Transactions on Programming Languages and Systems (TOPLAS)
A generator of direct manipulation office systems
ACM Transactions on Information Systems (TOIS)
Efficient incremental evaluation of aggregate values in attribute grammars
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Generation of run-time environments
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Implementing a user interface as a system of attributes
SDE 2 Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
A foundation for programming environments
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
Relationship between IDL and structure editor generation technology
ACM SIGPLAN Notices
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
Cactis: a self-adaptive, concurrent implementation of an object-oriented database management system
ACM Transactions on Database Systems (TODS)
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
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
Higher-order attribute grammars and editing environments
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Extending the MERCURY system to support teams of Ada programmers
SETA1 Proceedings of the first international symposium on Environments and tools for Ada
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
Using attribute grammars to find solutions for musical equational programs
ACM SIGPLAN Notices
Sublinear-space evaluation algorithms for attribute grammars
ACM Transactions on Programming Languages and Systems (TOPLAS)
SIGGRAPH '95 Proceedings of the 22nd annual conference on Computer graphics and interactive techniques
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
CACTIS: a database system for specifying functionally-defined data
OODS '86 Proceedings on the 1986 international workshop on Object-oriented database systems
Reducing the storage requirements of constraint dataflow graphs
Proceedings of the 12th annual ACM symposium on User interface software and technology
ACM Transactions on Software Engineering and Methodology (TOSEM)
Input/output linkage in a user interface management system
SIGGRAPH '85 Proceedings of the 12th annual conference on Computer graphics and interactive techniques
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
An approach to incremental compilation
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Using model dataflow graphs to reduce the storage requirements of constraints
ACM Transactions on Computer-Human Interaction (TOCHI)
Adaptive functional programming
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lessons learned about one-way, dataflow constraints in the Garnet and Amulet graphical toolkits
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
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
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parallel Evaluation of Attribute Grammars
IEEE Transactions on Parallel and Distributed Systems
Automated Protocol Implementation with RTAG
IEEE Transactions on Software Engineering
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
Safeness of Make-Based Incremental Recompilation
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
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
A form-based approach to human engineering methodologies
ICSE '82 Proceedings of the 6th international conference on Software engineering
DUAL: An interactive tool for developing documented programs by step-wise refinements.
ICSE '82 Proceedings of the 6th international conference on Software engineering
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
Dynamizing static algorithms, with applications to dynamic trees and history independence
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
An experimental analysis of self-adjusting computation
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Adaptive functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
DITTO: automatic incrementalization of data structure invariant checks (in Java)
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Using Verified Data-Flow Analysis-based Optimizations in Attribute Grammars
Electronic Notes in Theoretical Computer Science (ENTCS)
Imperative self-adjusting computation
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Memory management for self-adjusting computation
Proceedings of the 7th international symposium on Memory management
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
CEAL: a C-based language for self-adjusting computation
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
An experimental analysis of self-adjusting computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Library for Self-Adjusting Computation
Electronic Notes in Theoretical Computer Science (ENTCS)
A consistent semantics of self-adjusting computation
ESOP'07 Proceedings of the 16th European conference on Programming
Traceable data types for self-adjusting computation
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Incremental query evaluation in a ring of databases
Proceedings of the twenty-ninth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Self-adjusting computation with Delta ML
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
Memoization of methods using software transactional memory to track internal state dependencies
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
DryadInc: reusing work in large-scale computations
HotCloud'09 Proceedings of the 2009 conference on Hot topics in cloud computing
Specifying and implementing refactorings
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Implicit self-adjusting computation for purely functional programs
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Reactive imperative programming with dataflow constraints
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Two for the price of one: a model for parallel and incremental computation
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
An efficient hardware implementation for AI applications
SETN'06 Proceedings of the 4th Helenic conference on Advances in Artificial Intelligence
A local algorithm for incremental evaluation of tabled logic programs
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
A framework for the checking and refactoring of crosscutting concepts
ACM Transactions on Software Engineering and Methodology (TOSEM)
Design and implementation of an adaptable software environment
Computer Languages
Type-directed automatic incrementalization
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Non-monotonic self-adjusting computation
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Asynchronous functional reactive programming for GUIs
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Lazy stateless incremental evaluation machinery for attribute grammars
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.02 |
A syntax-directed editor is a tool for structured program development. Such an editor can enforce syntactic correctness incrementally by restricting editing operations to legitimate modifications of the program's context-free derivation tree. However, not all language features can be described by the context-free formalism. To build editors that enforce non-context-free correctness, a more powerful specification technique is needed. In this paper we discuss the advantages of attribute grammars as a specification technique for a syntax-directed editing system. We also present an efficient algorithm for incrementally evaluating attributes as a program tree is derived.