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.
- 1.ACM. Proc. of the ACM SIGPLAN SIGOA Symposium on Text Manipulation (Portland, Oregon, June 8-10, 1981). Appeared as Sigplan Notices, 16(6), June 1981.Google Scholar
- 2.AMBRAS, J., AND O'DAY, V. Microscope: A knowledge-based programming environment. IEEE Software 5, 3 (May 1988), 50-58. Google ScholarDigital Library
- 3.BAECKER, R. M., AND MARCUS, A. Human Factors and Typography for More Readable Programs. ACM Press, New York, New York, 1990. Google Scholar
- 4.BAHLKE, R., AND SNELTING, G. The PSG system: From formal language definitions to interactive programming environments. ACM Trans. on Programming Languages and Systems 8, 4 (1986), 547-576. Google ScholarDigital Library
- 5.BALLANCE, R. A. Syntactic and Semantic Checking in Language-Based Editing Systems. Ph.D. dissertation, Computer Science Division-EECS, University of California, Berkeley, California, 94720, Dec. 1989. Available as Technical Report No. UCB/CSD 89/548. Google ScholarDigital Library
- 6.BALLANCE, R. A., BUTCHER, J., AND GRAHAM, S. L, Grammatical abstraction and incremental syntax analysis in a language-based editor. In Proc. of the SIG- PLAN '88 Conference on Programming Language Design and Implementation (Atlanta, Georgia, June 22- 24, 1988), ACM, pp. 185-198. Appeared as Sigplan Notices, 23(7), July 1988. Google ScholarDigital Library
- 7.BALLANCE, R. A., AND GRAHAM, S. L. Consistency maintenance for contextual constraints. In preparation., July 1990.Google Scholar
- 8.BALLANCE, R. A., AND VAN DE VANTER, M. L. Pan I: An introduction for users. Technical Report No. UCB/CSD 88/410, Computer Science Division- EECS, University of California, Berkeley, California, 94720, Mar. 1988. Google ScholarDigital Library
- 9.BALLANCE, R. A., VAN DE VANTER, M. L., AND GRA- HAM, S. L. The architecture of Pan I. Technical Report No. UCB/CSD 88/409, Computer Science Division- EECS, University of California, Berkeley, California, 94720, Mar. 1988. Google ScholarDigital Library
- 10.BLACK, C. L. PPP: The Pan program presenter. Technical Report No. UCB/CSD 90/589, Computer Science Division-EECS, University of California, Berkeley, California, 94720, Sept. 1990. Google ScholarDigital Library
- 11.BORRAS, P., CLEMENT, D., DESPEYROUX, T., IN- CERPI, J., KAHN, G., LANG, B., AND PASCUAL, V. CENTAUR: the system. In Henderson {25}, pp. 14-24. Google Scholar
- 12.BUDINSKY, F. J., HOLT, R. C., AND ZAKY, S. G. SRE-a syntax-recognizing editor. Software--Practice & Experience 15, 5 (May 1985), 489-497.Google Scholar
- 13.BUTCHER, J. Ladle. Master's thesis, Computer Science Division-EECS, University of California, Berkeley, California, 94720, Nov. 1989. Available as Technical Report No. UCB/CSD 89/519. Google ScholarDigital Library
- 14.CHEN, P., COKER, J., HARRISON, M. A., MCCAR- RELL, J., AND PROCTER, S. The w Document Preparation Environment. In Proc. of the End European Conference on TEX for Scientific Documentation (Strasbourg, France, June 19-21 1986), J. Desarmenien, Ed., no. 236 in LNCS, Springer-Verlag, pp. 45-54. Google ScholarDigital Library
- 15.CHEN, P., AND HARRISON, M. A. Multiple representation document development. IEEE Computer 21, 1 (Jan. 1988), 15-31. Google ScholarDigital Library
- 16.COHEN, J. Constraint logic programming languages. Communications of the ACM 33, 7 (July 1990) 52-68. Google ScholarDigital Library
- 17.CONRADI, R., DIDRIKSEN, T. M., AND WANVIK, D., Eds. Advanced Programming Environment8 (Berlin, Heidelberg, New York, 1986), no. 244 in Lecture Notes in Computer Science, Springer-Verlag. Google ScholarDigital Library
- 18.CORBETT, R. P. Static Semantics and Compiler Error Recovery. Ph.D. dissertation, Computer Science Division-EECS, University of California, Berkeley, California, 94720, June 1985. Available as Technical Report No. UCB/CSD 85/251. Google ScholarDigital Library
- 19.DERANSART, P., JOURDAN, M., AND LORHO, B. Attribute Grammars: Definitions, Systems, and Bibliography. No. 323 in Lecture Notes in Computer Science. Springer-Verlag, Berlin, Heidelberg, New York, 1988. Google ScholarDigital Library
- 20.DONZEAU-GOUGE, V., HUET, G., KAHN, G., AND LANG, B. Programming environments bssedl on structure editors: The Mentor experience. Ra.pports de Recherche 26, INRIA, June 1980.Google Scholar
- 21.DOYLE, J. A truth maintenance system. In Beading8 in Artificial Intelligence, B. L. Webber and N. II. Nilsson, Eds. Tioga, Palo Alto, California, 1981, pp. 496-516.Google Scholar
- 22.FORSTALL, B. T. Experience with language description mechanisms in Pan. PIPER Working Paper 90-3, Computer Science Division-EECS, University of California, Berkeley, California, 94720, 1990.Google Scholar
- 23.GOLDBERG, A. Programmer 8s reader. IEEE Software 4, 5 (Sept. 1987), 62-70.Google ScholarDigital Library
- 24.HABERMANN, A. N., AND NOTKIN, D. Gandalf: Software development environments. IEEE Trans. on Software Engineering SE-IL, 12 (Dec. 1986), 1117-1127. Google ScholarDigital Library
- 25.HENDERSON, P., Ed. ACM SIGSOFT '88: Third Symposium on Software Development Environments (1988). Google Scholar
- 26.HILFINGER, P. N., AND COLELLA, P. Fidil: A language for scientific programming. In Symbolic Computation: Applications to Scientific Computing, R. Grossman, Ed. SIAM, 1989, pp. 97-138.Google Scholar
- 27.HOLT, R. W., BOEHM-DAVIS, D. A., AND SCHULTZ, A. C. Mental representations of programs for student and professional programmers. In Empirical Studies of Programmers: Second Workshop, G. M. Olson, S. Sheppard, and E. Soloway, Eds. Ablex Publishing, Norwood, NJ, 1987, p. 33. Google ScholarDigital Library
- 28.HORTON, M. R. Design of a multi-language editor with static error detection capabilities. Ph.D. dissertation, Computer Science Division-EECS, University of California, Berkeley, California, 94720, 1981. Google ScholarDigital Library
- 29.HORWITZ, S., AND TEITELBAUM, T. Generating editing environments based on relations and attributes. ACM Trans. on Programming Languages and Systems 8, 4 (Oct. 1986), 577-608. Google ScholarDigital Library
- 30.JALILI, F., AND GALLIER, J. H. Building friendly parsers. In Proceedings of the 9th Annual ACM Symposium on Principle8 of Programming Language8 (Albuquerque, New Mexico, January 25-27, 1982), ACM, pp. 196-206. Google ScholarDigital Library
- 31.KAHN, G. Natural semantics. Tech. Rep. 601, INRIA, Feb. 1987.Google ScholarCross Ref
- 32.KAHN, G., LANG, B., MEL$sE, B., AND MORCOS, E. Metal: A formalism to specify formalisms. Science of Computer Programming 3 (1983), 151-188.Google ScholarCross Ref
- 33.KAISER, G. E. Semantics for Structure Editing Enuironments. Ph.D. dissertation, Carnegie Mellon University, Pittsburgh, Pennsylvania, 15213, May 1985. Google ScholarDigital Library
- 34.KIRSLIS, P. A. C. The SAGA Editor: A Language- Oriented Editor Based on Incremental LR(1) Parser. Ph.D. dissertation, University of Illinois at Urbana Champaign, Dec. 1985. Google ScholarDigital Library
- 35.LAMPSON, B. W. Bravo Users Manual. Palo Alto, 1978.Google Scholar
- 36.LANG, B. On the usefulness of syntax directed editors. In Conradi et al. {17}, pp. 47-51. Google ScholarDigital Library
- 37.LETOVSKY, S. Cognitive processes in program comprehension. In Empirical Studies of Programmers, E. Soloway and S. Iyengar, Eds. Ablex Publishing, Norwood, NJ, 1986, pp. 58-79. Google ScholarDigital Library
- 38.LETOVSKY, S., AND SOLOWAY, E. Delocalized plans and program comprehension. IEEE Software 3, 3 (May 1986), 41-49.Google ScholarDigital Library
- 39.LEWIS, C., AND NORMAN, D. A. Designing for error. In User Centered System Design: New Perspectives on Human-Computer Interaction, D. A. Norman and S. W. Draper, Eds. Lawrence Erlbaum Associates, Hillsdale, NJ, 1986, pp. 411-432.Google Scholar
- 40.MASINTER, L. M. Global program analysis in an interactive environment. Tech. Rep. SSL-SO-l, Xerox Palo Alto Research Center, Palo Alto, 1980.Google Scholar
- 41.MEDINA-MORA, R., AND FEILER, P. H. An incremental programming environment. IEEE Trans. on Software Engineering SE-T, 5 (1981), 472-481.Google ScholarDigital Library
- 42.NEAL, L. R. Cognition-sensitive design and user modelling for syntax-directed editors. In CHI+GI (1987), pp. 99-102. Google ScholarDigital Library
- 43.NORD, R. L., AND PFENNING, F. The Ergo attribute system, In Henderson {25}, pp. 110-120. Google Scholar
- 44.OMAN, P . , AND COOK, C. R. Typographic style is more than cosmetic. Communications of the ACM 33, 5 (May 1990), 506-520. Google ScholarDigital Library
- 45.REPS, T., TEITELBAUM, T., AND DEMERS, A. Incremental context dependent analysis for language based editors. ACM Trans. on Programming Languages and Systems 5, 3 (July 1983), 449-477. Google ScholarDigital Library
- 46.RICH, C., AND WATERS, R. C. The Programmers Ap Prentice: A research overview. IEEE Computer 21, 11 (Nov. 1988), 10-25, Google ScholarDigital Library
- 47.SMITH, B., AND KELLEHER, G., Eds. Reason Maintenance Systems and Their Applications. Series in Artificial Intelligence. Ellis Norwood Limited, Chichester, 1988. Google ScholarDigital Library
- 48.SOLOWAY, E., AND EHRLICH, K. Empirical studies of programming knowledge. IEEE Transactions on Software Engineering SE-f 0, 5 (Sept. 1984), 595-609.Google Scholar
- 49.STALLMAN, R. M. EMACS: The extensible, customizable, self-documenting display editor. In Proc. of the ACM SIGPLAN SIGOA Symposium on Text Manipulation {1}, pp. 147-156. Appeared as Sigplan Notices, 16(6), June 1981. Google ScholarDigital Library
- 50.STEELE JR., G. L., AND SUSSMAN, G. J. Constraints. AI Memo No. 502, Massachusetts Institute of Technology Artificial Intelligence Laboratory, Cambridge, Massachusetts, Nov. 1978.Google Scholar
- 51.STERLING, L., AND SHAPIRO, E. The Art of Prolog: Advanced Proqromming Techniques. The MIT Press, Cambridge, Massachusetts and London, England, 1986. Google ScholarDigital Library
- 52.STRBMFORS, O. Editing large programs using a structure-oriented text editor. In Conradi et al. {17}, pp. 39-46. Google ScholarDigital Library
- 53.TEITELBAUM, T., AND REPS, T. The Cornell Program Synthesizer: A syntax-directed programming environment. Communications of the ACM 24,9 (Sept. 1981), 563-573. Google ScholarDigital Library
- 54.TEITELBAUM, T., REPS, T., AND HORWTZ, S. The why and wherefore of the Cornell program synthesizer. SIGPLAN Notices 16, 6 (June 1981). Google ScholarDigital Library
- 55.TEITELMAN, W. A tour through Cedar. IEEE Trans. on Software Engineering SE-11, 3 (Mar. 1985). Google ScholarDigital Library
- 56.VAN DE VANTER, M. L. User-centered program viewing. Research Proposal, Computer Science Division- EECS, University of California, Berkeley, California, 94720, Nov. 1987.Google Scholar
- 57.VAN DE VANTER, M. L. Error management and debugging in Pan I. Technical Report No. UCB/CSD 89/554, Computer Science Division-EECS, University of California, Berkeley, California, 94720, Dec. 1989. Google ScholarDigital Library
- 58.VAN DE VANTER, M. L., BALLANCE, R. A., AND GRA- HAM, S. L. Coherent user interfaces for language-based editing systems. Technical Report No. UCB/CSD 90/591, Computer Science Division-EECS, University of California, Berkeley, California, 94720, July 1990. Google ScholarDigital Library
- 59.WATERS, R. C. Program editors should not abandon text oriented commands. SIGPLAN Notices 17, 7 (1982), 39-46. Google ScholarDigital Library
- 60.WINOGRAD, T. Beyond programming languages. Communications of the ACM 22, 7 (July 1979), 391- 401. Google ScholarDigital Library
- 61.WOOD, S. R. Z-the 95% program editor. In Proc. of the ACM SIGPLAN SIGOA Symposium on Text Manipulation {l}, pp. 1-7. Appeared as Sigplan Notices, 16(6), June 1981. Google ScholarDigital Library
Index Terms
- The Pan language-based editing system for integrated development
Recommendations
The Pan language-based editing system
Powerful editing systems for developing complex software documents are difficult to engineer. Besides requiring efficient incremental algorithms and complex data structures, such editors must accommodate flexible editing styles, provide a consistent, ...
The Pan language-based editing system for integrated development
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, ...
Comments