Communications of the ACM
Communications of the ACM
BLISS: a language for systems programming
Communications of the ACM
A high-level approach to computer document formatting
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Multics Emacs (Prose and Cons): A commercial text-processing system in Lisp
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
Exact and approximate membership testers
STOC '78 Proceedings of the tenth annual ACM symposium on Theory of computing
The Cornell Program Synthesizer: A Microcomputer Implementation of PL/CS
The Cornell Program Synthesizer: A Microcomputer Implementation of PL/CS
EMACS: The Extensible, Customizable, Self-Documenting Display Editor
EMACS: The Extensible, Customizable, Self-Documenting Display Editor
Essential E
ACM Transactions on Programming Languages and Systems (TOPLAS)
LEXX—a programmable structured editor
IBM Journal of Research and Development
Row replacement algorithms for screen editors
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Pan language-based editing system for integrated development
SDE 4 Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
The Pan language-based editing system
ACM Transactions on Software Engineering and Methodology (TOSEM)
Optimization of a hierarchical file organization for spelling correction
SIGIR '85 Proceedings of the 8th annual international ACM SIGIR conference on Research and development in information retrieval
The use of logging data in the design of a new text editor
CHI '85 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Interactive Editing Systems: Part II
ACM Computing Surveys (CSUR)
Experience with a space efficient way to store a dictionary
Communications of the ACM
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
PEN: A hierarchical document editor
Proceedings of the ACM SIGPLAN SIGOA symposium on Text manipulation
Defining the ergonomic buzzwords
ACM '83 Proceedings of the 1983 annual conference on Computers : Extending the human resource
ACM SIGPLAN Notices
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Design and implementation of an adaptable software environment
Computer Languages
Hi-index | 0.02 |
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.