Incremental evaluation for attribute grammars with application to syntax-directed editors

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.

[1]  Tim Teitelbaum,et al.  The Cornell Program Synthesizer: A Microcomputer Implementation of PL/CS , 1979 .

[2]  Gregor von Bochmann,et al.  Semantic evaluation from left to right , 1976, CACM.

[3]  Ken Kennedy,et al.  Automatic generation of efficient evaluators for attribute grammars , 1976, POPL.

[4]  Rodney Wayne Farrow Attributed grammar models for data flow analysis. , 1977 .

[5]  Ken Kennedy,et al.  A Deterministic Attribute Grammar Evaluator Based on Dynamic Scheduling , 1979, TOPL.

[6]  Wilfred J. Hansen,et al.  Creation of hierarchic text with a computer display , 1971 .

[7]  Mehdi Jazayeri,et al.  On attribute grammars and the semantic specification of programming languages. , 1975 .

[8]  Mark Wegman Parsing for structural editors , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[9]  Bernard Lang,et al.  Programming Environments Based on Structured Editors: The MENTOR Experience, , 1980 .

[10]  Thomas Reps,et al.  Programming Techniques and Data Structures , 1981 .

[11]  Tim Teitelbaum The Cornell Program Synthesizer: a syntax-directed programming environment , 1979, SIGP.

[12]  Tim Teitelbaum,et al.  The Cornell Program Synthesizer: A Tutorial Introduction , 1979 .

[13]  Daniel J. Rosenkrantz,et al.  Attributed Translations , 1974, J. Comput. Syst. Sci..

[14]  Scott Kipling Warren The coroutine model of attribute grammar evaluation. , 1976 .

[15]  Stephen Karl Skedzeleski Definition and use of attribute reevaluation in attributed grammars. , 1978 .

[16]  Rina S. Cohen,et al.  Automatic generation of near-optimal linear-time translators for non-circular attribute grammars , 1979, POPL.