UCI ICS 228 - ballance graham vander vanter

Unformatted text preview:

The Pan Language-Based Editing System For Integrated Development Environments* Robert A. Ballancet Susan L. Grahamt Michael L. Van De Vanter* Abstract technology to benefit software developers. The Pan sys- Powerful editing systems for developing complex software documents are difficult to engineer. Besides requiring effi- cient incremental algorithms and complex data structures, such editors must integrate smoothly with the other tools in the environment, maintain a sharable database of infor- mation concerning the documents being edited, accommo- date flexible editing styles, provide a consistent, coherent, and empowering user interface, and support individual vari- ations and project-wide configurations. Pun is a language- based editing and browsing system that exhibits these char- acteristics. 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, in- formation retention in the presence of change, tolerance for errors and anomalies, and extension facilities. tem 1. rests on three fundamental assumptions. Software is composed of textual documents hav- ing many structures that can be derived using language-based analysis. “Syntax” is just one such derived structure. 2. 3. Developers are proficient with tools and languages; their ability to read and comprehend documents is the serious bottleneck. The bridge between developers and their software will be intelligent editing interfaces. 1 Introduction The Pan’ editing and browsing system originated from an investigation into ways to exploit language-based *Research sponsored in part by the Defense Advanced Rs search Projects Agency (DOD), monitored by Space and Naval Warfare Systems Comman d under Contracts NO003984C-0089 and NO003988C-0292, by IBM under IBM Research Contract No. 564516, by a gift from Apple Computer, Inc., and by the State of California MICRO Fellowship Program tDepartment of Computer Science, University of New Mexico, Albuquerque, NM 87131. [email protected] .unm.edu $Computer Science Division (EECS), University of Cali- fornia, Berkeley, CA, 94720. gxahtisequoia.berkeley.edu, mlvdv8sequoia.berkeley.edu Pan operates on documents-objects with both tex- tual and structural aspects, such as formal designs and program components, as well as unstructured texts. To its users it appears as a fast, convenient, full-functioned text editor that happens to be extremely knowledge- able about the local working environment: the many languages in use, local conventions, and perhaps the user’s own personal working habits. One might use Pan for editing text without ever giving a thought to its other capabilities. But at any time one might choose to broaden the dialogue with Pan to draw on many kinds of information (maintained by Pan) about the document. In particular, Pan can help reveal the mul- tiplicity of structures, some user-defined, inherent in and among documents. Pan can be directed to use this information to guide editing actions, to configure and selectively highlight the textual display, to present an- swers to queries, and more. 1 Why “Pan”? In the Greek pantheon, Pan is the god of trees and forests. Also, the prefix “pan-” connotes “applying to all”- in this instance referring to the multilingual text- and structure- oriented approach adopted for this system. Finally, since an edi- tor is one of the most frequently used tools in a programmer’s tool box, the allusion to the lowly, ubiquitous kitchen utensil is apt. Pan is one of the PIPER projects at the University of California, Berkeley. 0 The current implementation, Pan I [9], is a fully func- tional prototype. It supports ongoing research in lan- guage description, language-based analysis techniques, user interface design, advanced program viewing meth- ods, and related areas. The functional characteristics of this prototype were chosen for maximum leverage as a usable tool and its a platform for continuing research. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. @ 1990 ACM O-89791-41 8-X190/001 Z-0077...$1.50 l Pan I is a multi-window, multiple-font, mouse- based editing system that is fully customizable and extensible in the spirit of Emacs [49]. l Pan I incrementally builds and maintains a collec- tion of information about documents that can be shared with other tools. 77Pan I users can freely mix text- and la,nguage- oriented manipulations in the same visual editing field; text editing is completely unrestricte’d. A single Pan I session may involve multiple lan- guages. Adding new languages by writing language descrip- tions is just one of Pan I’s extension mech.anisms. New language description techniques were developed for Pan. Grammatical abstraction establishes formal correspondence between the concrete (parsing) syntax and the abstract syntax for each language [6, 131. This correspondence permits a decorated abstract syntax tree, P~n’s primary structural representation, to be used directly for incremental LR parsing. A second technique, logical constraint grammars, adapts logic programming and consistency maintenance to the speci- fication and enforcement of contextual constraints [5,?]. Such constraints usually include the static semantic rules of a language, but can also include site-specific or project-specific restrictions such as naming conventions. Information gathered during


View Full Document
Download ballance graham vander vanter
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view ballance graham vander vanter and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view ballance graham vander vanter 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?