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.
Cited By
- Shilling J (2019). Incremental LL(1) Parsing in Language-Based Editors, IEEE Transactions on Software Engineering, 19:9, (935-940), Online publication date: 1-Sep-1993.
- Ballance R, Graham S and Van De Vanter M The Pan language-based editing system for integrated development Proceedings of the fourth ACM SIGSOFT symposium on Software development environments, (77-93)
- Ballance R, Graham S and Van De Vanter M (2019). The Pan language-based editing system for integrated development, ACM SIGSOFT Software Engineering Notes, 15:6, (77-93), Online publication date: 1-Dec-1990.
- Furnas G (1986). Generalized fisheye views, ACM SIGCHI Bulletin, 17:4, (16-23), Online publication date: 1-Apr-1986.
- Furnas G Generalized fisheye views Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, (16-23)
- Campbell R and Kirslis P (1984). The SAGA project, ACM SIGSOFT Software Engineering Notes, 9:3, (73-80), Online publication date: 1-May-1984.
- Campbell R and Kirslis P (1984). The SAGA project, ACM SIGPLAN Notices, 19:5, (73-80), Online publication date: 1-May-1984.
- Campbell R and Kirslis P The SAGA project Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments, (73-80)
Recommendations
Growing a language environment with editor libraries
GPCE '11: Proceedings of the 10th ACM international conference on Generative programming and component engineeringLarge software projects consist of code written in a multitude of different (possibly domain-specific) languages, which are often deeply interspersed even in single files. While many proposals exist on how to integrate languages semantically and ...
Growing a language environment with editor libraries
GCPE '11Large software projects consist of code written in a multitude of different (possibly domain-specific) languages, which are often deeply interspersed even in single files. While many proposals exist on how to integrate languages semantically and ...
A multi-language syntax-directed editor
CSC '87: Proceedings of the 15th annual conference on Computer ScienceA limitation of current selection-entry syntax-directed editors is that a particular editor is limited to manipulating programs in one particular programming language. A primary goal of the IMEGS research project was to construct a selection-entry ...