The Pan language-based editing system for integrated development
- 1 October 1990
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGSOFT Software Engineering Notes
- Vol. 15 (6) , 77-93
- https://doi.org/10.1145/99278.99286
Abstract
Powerful editing systems for developing complex software documents are difficult to engineer. Besides requiring efficient incremental algorithms and complex data structures, such editors must integrate smoothly with the other tools in the environment, maintain a sharable database of information concerning the documents being edited, accommodate flexible editing styles, provide a consistent, coherent, and empowering user interface, and support individual variations and project-wide configurations. Pan is a language-based editing and browsing system that exhibits these characteristics. This paper surveys the design and engineering of Pan , paying particular attention to a number of issues that pervade the system: incremental checking and analysis, information retention in the presence of change, tolerance for errors and anomalies, and extension facilities.This publication has 26 references indexed in Scilit:
- Constraint logic programming languagesCommunications of the ACM, 1990
- Typographic style is more than cosmeticCommunications of the ACM, 1990
- Grammatical abstraction and incremental syntax analysis in a language-based editorPublished by Association for Computing Machinery (ACM) ,1988
- Cognition-sensitive design and user modeling for syntax-directed editorsPublished by Association for Computing Machinery (ACM) ,1986
- Metal: a formalism to specify formalismsScience of Computer Programming, 1983
- Incremental Context-Dependent Analysis for Language-Based EditorsACM Transactions on Programming Languages and Systems, 1983
- Program editors should not abandon text oriented commandsACM SIGPLAN Notices, 1982
- The Cornell program synthesizerCommunications of the ACM, 1981
- The why and wherefore of the Cornell Program SynthesizerACM SIGPLAN Notices, 1981
- Beyond programming languagesCommunications of the ACM, 1979