Generating language-based environments
Generating language-based environments
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
Incremental data flow analysis in a structured program editor
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
A unified approach to global program optimization
POPL '73 Proceedings of the 1st annual 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
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
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)
The PegaSys System: pictures as formal documentation of large programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficiently updating materialized views
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Query processing in main memory database management systems
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Worlds: an organizing structure for object-bases
SDE 2 Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Design of Flexible Static Program Analyzers with PQL
IEEE Transactions on Software Engineering
A Study of Index Structures for Main Memory Database Management Systems
VLDB '86 Proceedings of the 12th International Conference on Very Large Data Bases
Locking and Latching in a Memory-Resident Database System
VLDB '92 Proceedings of the 18th International Conference on Very Large Data Bases
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 alternate views of a program. The advantages of the hybrid system over both the purely relational and purely attribute-based systems are presented, and a prototype implementation of an editor generator is discussed. New algorithms are given for query evaluation and incremental view updating motivated by the efficiency requirements of interactive editing under the defined model.