The design of a language-directed editor for block-structured languages

A language-directed editor combines the text manipulation functions of a general-purpose editor with the syntax-checking functions of a compiler. It allows a user to create and modify a program in terms of its syntactic structure. The design of a user interface and an implementation for one such editor is described in language-independent terms. The design rationale is given. The implementation is outlined in terms of its major data structures.