Syntax-Directed Editing

Literature references and annotations by Dick Grune, dick@dickgrune.com. Last update: Tue Sep 15 10:38:36 2009.
These references and annotations were originally intended for personal use and are presented here only in the hope that they may be useful to others. There is no claim to completeness or even correctness. Each annotation represents my understanding of the text at the moment I wrote the annotation.
No guarantees given; comments and content criticism welcome.

* J.W.C. Koorn, "GSE: Generic Text and Structure Editor", in CSN '92, ed. by J.L.G. Dietz, CWI, Amsterdam, pp. 168-177. Nov. 1992,

* Jim Welsh, Brad Broom, Derek Kiong, "A design rationale for a language-based editor", Softw. Pract. Exper., 21, #9, pp. 923-948. Sept. 1991,

* T. Reps, T. Teitelbaum, "The Synthesizer Generator: a System for Constructing Language-Based Editors", Springer Verlag, NY, 1989, pp. 317.

* T.F. Lunney, R.H. Perrott, "Syntax-directed editing", Software Eng. J., 3, #2, March 1988, pp. 37-46.
Survey paper. ???
Text-oriented versus syntax-directed editing, or how to modify a syntactically correct program.
clipping to temporary tree + structure conversion operators.
matched replacement of one template by another
good down to a certain level only; not good for expressions. there: flatten node to text, edit, reparse to node.
also possible: continuous reparse during editing (invisibly) → suggesting possible.
Program display.
Windowing: have more windows, e.g. one showing procedure heading, one showing declarations and one showing statements.
syntactic elision: compressing part of the text by replacing it by dots.
holophrasting: compressing part of the text by replacing it by its syntactic name.
automatic formatting: have several layouts for a syntactic construction, progressively narrower, to be used as screen width allows.
comments: have a mode to emphasize comments rather than code.
program construction: difference between creating and modifying.
With bibliography and evaluation of twelve SDEs.

* R. Ballance, J. Butcher, S. Graham, "Grammatical abstraction and incremental syntax analysis in a language-based editor", ACM SIGPLAN Notices, 23, #7, July 1988, pp. 185-198.

* G. Kaiser, et al., "A retrospective of DOSE: an interpretive approach to syntax editor generation", Softw. Pract & Exp., 18, #8, Aug. 1988, pp. 733-748.

* P. Feiler, R. Medina-Mora, "An incremental programming environment", IEEE Trans. Softw. Eng., SE-7, #5, 1981, pp. 472-481.

* T. Teitelbaum, T. Reps, "The Cornell program synthesizer: a syntax-directed programming environment", Commun. ACM, 24, #9, Sept. 1981, pp. 563-673.

* S.R. Wood, "Z. The 95% program editor", ACM SIGPLAN Notices, 16, #6, June 1981, pp. 1-7.