Abstract:
Many kinds of complex documents, including programs,
are based on underlying formal languages. Language-based editing
systems exploit knowledge of these languages to provide services
beyond the scope of traditional text editors. To be effective, these
services must use the power of language-based information to broaden
the options available to the user, but without revealing complex
linguistic and implementation models. Users understand complex
documents in terms of many overlapping structures, only some of which
are related to linguistic structure. Communications with the user
concerning document structures must be based on models of document
structure that are natural, convenient, and coherent to the user.
Pan is a language-based editing and browsing system designed to support development and maintenance of complex software documents. Pan's implementation combines several approaches: unrestricted text editing, language-based browsing and editing, description-driven language definition for incremental analysis, and support for multiple languages per session. Pan uses a variety of mechanisms to help users understand and manipulate complex documents effectively, in terms of underlying language when necessary, but always in the framework of a coherent, user-oriented interface. This paper describes that interface, the mechanisms needed to support it, and the complex relationships between interface design and implementation techniques demanded by the goals of the system.
International Journal of Man-Machine Studies 37,4 (October 1992), 431-466.
Reprinted in Structure-Based Editors and Environments, Gerd Szwillus and Lisa Neal Eds., Academic Press, 1996.
An earlier version appeared as Technical Report UCB/CSD 90/591 published by the Computer Science Division, EECS, University of California, Berkeley, July 1990 (PDF).