Generating language-based environments
Generating language-based environments
Programming in Prolog (2nd ed.)
Programming in Prolog (2nd ed.)
Data structures and network algorithms
Data structures and network algorithms
The design and implementation of INGRES
ACM Transactions on Database Systems (TODS)
A relational model of data for large shared data banks
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
Programming primitives for database languages
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Universality of data retrieval languages
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
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
Graphical program development with PECAN program development systems
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
Monitoring in a software development environment: A relational approach
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Implementing relational views of programs
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Iterative global flow techniques for detecting program anomalies.
Iterative global flow techniques for detecting program anomalies.
Global program analysis in an interactive environment
Global program analysis in an interactive environment
On the use of global optimization algorithms for the detection of semantic programming errors (setl, data flow, type finding)
Generating language-based editors: a relationally-attributed approach
Generating language-based editors: a relationally-attributed approach
A performance analysis of view materialization strategies
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
A relational approach to monitoring complex systems
ACM Transactions on Computer Systems (TOCS)
A System for Generating Language-Oriented Editors
IEEE Transactions on Software Engineering
INC: a language for incremental computations
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Software Prototyping by Relational Techniques: Experiences with Program Construction Systems
IEEE Transactions on Software Engineering
Incremental dynamic semantics for language-based programming environments
ACM Transactions on Programming Languages and Systems (TOPLAS)
Incremental computation via function caching
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The C Information Abstraction System
IEEE Transactions on Software Engineering
Higher-order attribute grammars and editing environments
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
The Pan language-based editing system for integrated development
SDE 4 Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
Models of Software Development Environments
IEEE Transactions on Software Engineering
INC: a language for incremental computations
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Pan language-based editing system
ACM Transactions on Software Engineering and Methodology (TOSEM)
GENOA: a customizable language- and front-end independent code analyzer
ICSE '92 Proceedings of the 14th international conference on Software engineering
Developing and integrating ProDAG in the Arcadia environment
SDE 5 Proceedings of the fifth ACM SIGSOFT symposium on Software development environments
IEEE Transactions on Software Engineering - Special issue: specification and analysis of real-time systems
A categorized bibliography on incremental computation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
TAOS: Testing with Analysis and Oracle Support
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
A brief look at extension programming before and now
ACM SIGPLAN Notices
Demand interprocedural dataflow analysis
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Discovering auxiliary information for incremental computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A C++ Data Model Supporting Reachability Analysis and Dead Code Detection
IEEE Transactions on Software Engineering
GENOA—a customizable, front-end-retargetable source code analysis framework
ACM Transactions on Software Engineering and Methodology (TOSEM)
Updating Distributed Materialized Views
IEEE Transactions on Knowledge and Data Engineering
Incremental Computation of Time-Varying Query Expressions
IEEE Transactions on Knowledge and Data Engineering
Incremental Computation of Set Difference Views
IEEE Transactions on Knowledge and Data Engineering
The Cactis Project: Database Support for Software Environments
IEEE Transactions on Software Engineering
Visualising Software Documents in a Generic Development Environment
ASWEC '97 Proceedings of the Australian Software Engineering Conference
Constructing SDEs with the IPSEN meta environment
SEE '97 Proceedings of the 8th International Conference on Software Engineering Environments (SEE '97)
A voice-activated syntax-directed editor for manually disabled programmers
Proceedings of the 8th international ACM SIGACCESS conference on Computers and accessibility
Hi-index | 0.00 |
The ability to generate language-based editors depends on the existence of a powerful, language-independent model of editing. A model is proposed in which programs are represented as attributed abstract-syntax trees with an associated relational database. Relations can depend on the state of the attributed tree, and attributes can depend on the values in relations, provided there are no circular dependencies.The power and the limitations of relational operations are demonstrated with respect to the support of static-semantic checking, anomaly detection, an interrogation facility, and the ability to define alternative program displays. The advantages of the hybrid system over both the purely relational and purely attribute-based systems are presented, and new algorithms are given for query evaluation and incremental view updating motivated by the efficiency requirements of interactive editing under the defined model. A prototype implementation of an editor generator is described, and suggestions for future research are made.