Generating language-based environments
Generating language-based environments
Incremental attribute evaluation in distributed language-based environments
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
Efficient incremental evaluation of aggregate values in attribute grammars
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
The synthesizer generator: a system for constructing language-based editors
The synthesizer generator: a system for constructing language-based editors
DIANA: an intermediate language for Ada
DIANA: an intermediate language for Ada
ICSE '89 Proceedings of the 11th international conference on Software engineering
Incremental Context-Dependent Analysis for Language-Based Editors
ACM Transactions on Programming Languages and Systems (TOPLAS)
An Attribute Grammar for the Semantic Analysis of ADA
An Attribute Grammar for the Semantic Analysis of ADA
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
Software Change Dynamics or Half of all Ada Compilations are Redundant
ESEC '89 Proceedings of the 2nd European Software Engineering Conference
ACM Transactions on Software Engineering and Methodology (TOSEM)
Extending attribute grammars to support programming-in-the-large
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
The MERCURY system generates multi-user language-based environments from attribute grammars. The AG specifies the interface checking among modular units, to be applied by the environment to inform programmers of errors introduced by interface changes. Since AGs assume a monolithic program, we extended the formalism to support separate compilation units. Our previous work was based on an ideal language where programs consist of an unordered set of monolithic compilation units. We now augment our extensions to support Ada, to allow multiple kinds of compilation units and nested compilation units. We describe how these extensions are used to detect naming errors, determine compilation unit context, and check compilation order as mandated by Ada.