The Pan Language-Based Editing System (1992)

Authors: Robert A. Ballance, Susan L. Graham, and Michael L. Van De Vanter

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.


ACM Transactions on Software Engineering and Methodology 1,1 (January 1992), 95-127. (DOI) (PDF).