Design of a multi-language editor with static error detection capabilities

Mark R. Horton · 1981

Programmers who prepare programs interactively usually edit them in terms of text. Those few who use source language editors are restricted to a single language for which they have a tree structured editor. The Babel set of programming tools is described. Babel has knowledge of the syntax and semantics of many languages. A language description language is used to make it easy to add a new language to the collection. Programs are represented as generalized parse trees. The Babel system includes an editor that presents a text-like interface to the user. Commands utilizing the tree structure are possible, but need not be used. The user can be unaware of the underlying tree structure. The editor incrementally checks the syntax and semantics of the program and immediately notifies the user of errors. Human factors involving temporarily incorrect programs, program formatting, and responsiveness of the editor are addressed. A prototype implementation has been built. Its design and characteristics are described.

Read the paper · More papers on PaperTik