skip to main content
10.1145/99277.99286acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article
Free Access

The Pan language-based editing system for integrated development

Authors Info & Claims
Published:01 October 1990Publication History

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.

References

  1. 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 ScholarGoogle Scholar
  2. 2.AMBRAS, J., AND O'DAY, V. Microscope: A knowledge-based programming environment. IEEE Software 5, 3 (May 1988), 50-58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.BAECKER, R. M., AND MARCUS, A. Human Factors and Typography for More Readable Programs. ACM Press, New York, New York, 1990. Google ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.BALLANCE, R. A., AND GRAHAM, S. L. Consistency maintenance for contextual constraints. In preparation., July 1990.Google ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.CHEN, P., AND HARRISON, M. A. Multiple representation document development. IEEE Computer 21, 1 (Jan. 1988), 15-31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.COHEN, J. Constraint logic programming languages. Communications of the ACM 33, 7 (July 1990) 52-68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle Scholar
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle Scholar
  23. 23.GOLDBERG, A. Programmer 8s reader. IEEE Software 4, 5 (Sept. 1987), 62-70.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24.HABERMANN, A. N., AND NOTKIN, D. Gandalf: Software development environments. IEEE Trans. on Software Engineering SE-IL, 12 (Dec. 1986), 1117-1127. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25.HENDERSON, P., Ed. ACM SIGSOFT '88: Third Symposium on Software Development Environments (1988). Google ScholarGoogle Scholar
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 31.KAHN, G. Natural semantics. Tech. Rep. 601, INRIA, Feb. 1987.Google ScholarGoogle ScholarCross RefCross Ref
  32. 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 ScholarGoogle ScholarCross RefCross Ref
  33. 33.KAISER, G. E. Semantics for Structure Editing Enuironments. Ph.D. dissertation, Carnegie Mellon University, Pittsburgh, Pennsylvania, 15213, May 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 35.LAMPSON, B. W. Bravo Users Manual. Palo Alto, 1978.Google ScholarGoogle Scholar
  36. 36.LANG, B. On the usefulness of syntax directed editors. In Conradi et al. {17}, pp. 47-51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 38.LETOVSKY, S., AND SOLOWAY, E. Delocalized plans and program comprehension. IEEE Software 3, 3 (May 1986), 41-49.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle Scholar
  40. 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 ScholarGoogle Scholar
  41. 41.MEDINA-MORA, R., AND FEILER, P. H. An incremental programming environment. IEEE Trans. on Software Engineering SE-T, 5 (1981), 472-481.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. 42.NEAL, L. R. Cognition-sensitive design and user modelling for syntax-directed editors. In CHI+GI (1987), pp. 99-102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. 43.NORD, R. L., AND PFENNING, F. The Ergo attribute system, In Henderson {25}, pp. 110-120. Google ScholarGoogle Scholar
  44. 44.OMAN, P . , AND COOK, C. R. Typographic style is more than cosmetic. Communications of the ACM 33, 5 (May 1990), 506-520. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  46. 46.RICH, C., AND WATERS, R. C. The Programmers Ap Prentice: A research overview. IEEE Computer 21, 11 (Nov. 1988), 10-25, Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. 47.SMITH, B., AND KELLEHER, G., Eds. Reason Maintenance Systems and Their Applications. Series in Artificial Intelligence. Ellis Norwood Limited, Chichester, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. 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 ScholarGoogle Scholar
  49. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  50. 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 ScholarGoogle Scholar
  51. 51.STERLING, L., AND SHAPIRO, E. The Art of Prolog: Advanced Proqromming Techniques. The MIT Press, Cambridge, Massachusetts and London, England, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. 52.STRBMFORS, O. Editing large programs using a structure-oriented text editor. In Conradi et al. {17}, pp. 39-46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  54. 54.TEITELBAUM, T., REPS, T., AND HORWTZ, S. The why and wherefore of the Cornell program synthesizer. SIGPLAN Notices 16, 6 (June 1981). Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. 55.TEITELMAN, W. A tour through Cedar. IEEE Trans. on Software Engineering SE-11, 3 (Mar. 1985). Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. 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 ScholarGoogle Scholar
  57. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  58. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  59. 59.WATERS, R. C. Program editors should not abandon text oriented commands. SIGPLAN Notices 17, 7 (1982), 39-46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. 60.WINOGRAD, T. Beyond programming languages. Communications of the ACM 22, 7 (July 1979), 391- 401. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. The Pan language-based editing system for integrated development

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          SDE 4: Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
          October 1990
          248 pages
          ISBN:089791418X
          DOI:10.1145/99277

          Copyright © 1990 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 October 1990

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader