Z - the 95% program editor

  • Authors:
  • Steven R. Wood

  • Affiliations:
  • Department of Computer Science, Yale University, New Haven, Connecticut

  • Venue:
  • Proceedings of the ACM SIGPLAN SIGOA symposium on Text manipulation
  • Year:
  • 1981

Quantified Score

Hi-index 0.02

Visualization

Abstract

Recently much attention has been focused on structure-oriented program editors that have specific knowledge about the syntax and semantics of a particular programming language [1, 4, 5, 18]. These editors provide many desirable features for editing programs. However, the user interface is constrained by the syntax and semantics of the target language, and editing operations that are simple in a text editor can be quite complicated in a structure-oriented editor. In addition, the user has an editor that is limited to a single language and must use a different editor for text editing. Existing implementations of structure-oriented editors use a parse-tree representation for a program along with a supporting lexical analyzer, parser, and pretty-printer; this representation significantly complicates the implementation of an editor. We believe that the most natural representation of programs is text and that the editor should be able to take advantage of the same visual cues that programmers use to understand their programs. With a text-oriented model of program structure, the editor is both a program editor and a document editor. As a program editor it provides features to support many different programming languages, such as LISP, APL, PASCAL, and BLISS. As a document editor it provides basic word-processing functions such as text justification and spelling correction. A text orientation considerably simplifies the design of the editor and presents the user with a simple but powerful model of program structure. This paper describes a text-oriented display editor called Z. Z is the production editor in the Yale Computer Science Department.