Experiences with the PSG — Programming System Generator

  • G. Snelting
Colloquium On Software Engineering Tools And Environments
Part of the Lecture Notes in Computer Science book series (LNCS, volume 186)


The programming system generator developed at the Technical University of Darmstadt generates sophisticated interactive programming environments from formal language definitions. From a formal, entirely nonprocedural definition of the language's syntax, context conditions and denotational semantics, it produces a hybrid editor, an interpreter and a library system. The editor allows both structure editing and text editing, guaranteeing immediate recognition of syntax and semantic errors. The generator has been used to generate environments for PASCAL, MODULA-2 and the formal language definition language itself. A brief description of the generated environments and the definition language is given, and our experiences with formal language definitions are discussed from the language definer's point of view as well as from the programmer's point of view using the generated environments.


Context Condition Abstract Syntax Context Analysis Semantic Function Denotational Semantic 

6. References

  1. [Bah84a]
    Bahlke, R. and Snelting, G.: Programmiersystemgenerator. Arbeitsbericht 1984. Bericht PU2R2/84, Fachgebiet Programmiersprachen und Űbersetzer II, Technische Hochschule Darmstadt, Februar 1984.Google Scholar
  2. [Bah84b]
    Bahlke, R. and Letschert, T.: Ausfűhrbare denotationale Semantik. Proc. 4. GI-Fachgespräch Implementierung von Programmiersprachen, Zűrich, März 1984.Google Scholar
  3. [Bjo78]
    Bjørner, D. and Jones, C.B. (eds.): The Vienna Development Method: The metalanguage. LNCS 61, Springer Verlag 1978.Google Scholar
  4. [Fei84]
    Kaiser, G.E. and Feiler, P.: Generation of language-oriented editors. Proc. Programmierumgebungen und Compiler, Berichte des German Chapter of the ACM 18, Teubner 1984.Google Scholar
  5. [Gor79]
    Gordon, M.J.C.: The denotational description of programming languages, an introduction. Springer 1979.Google Scholar
  6. [Hab82]
    Habermann, N. et al.: The second compendium of GANDALF documentation. Carnegie-Mellon-University, May 1982.Google Scholar
  7. [Hen84]
    Henhapl, W. and Snelting, G.: Context relations — a concept for incremental context analysis in program fragments. Proc. 8. GI-Fachtagung Programmiersprachen und Programmentwicklung, Informatik Fachberichte 77, Springer Verlag 1984.Google Scholar
  8. [Kah83]
    Kahn, G. et al.: Metal: A Formalism to specify formalisms. Science of Computer Programming 3 (1983) 151–188.Google Scholar
  9. [Kas80]
    Kastens, U. and Zimmermann, E.: GAG — A generator based on attributed Grammars. Universität Karlsruhe, Institut fűr Informatik, Bericht Nr 14/80, 1980.Google Scholar
  10. [Klu84]
    Klug, M.: Implementation of MODULA-2 with the PSG-System. Diploma Thesis, TH Darmstadt, 1984 (In German).Google Scholar
  11. [Knu68]
    Knuth, D.E.: Semantics of context-free languages, Mathematical Systems Theory 2, 127–145, June 1968.Google Scholar
  12. [Let84]
    Letschert,T.: Type inference in the presence of overloading, polymorphism, and type coercions. Proc 8. GI-Fachtagung Programmiersprachen und Programmentwicklung, Informatik Fachberichte 77, Springer 1984.Google Scholar
  13. [Mos79]
    Mosses, P.: SIS — Semantics implementation system, Reference Manual and user guide, Report DAIMI DC-30, Aarhus University 1979.Google Scholar
  14. [Pau82]
    Paulson, L.: A semantics-directed compiler generator. Proc. 9th ACM POPL conference, Albuquerque 1982, 224–239.Google Scholar
  15. [Ple84]
    Pleban, U.: Formal Semantics and Compiler Generation. Proc. Programmiersprachen und Compiler, Berichte des German Chapter of the ACM 18, Teubner 1984.Google Scholar
  16. [Rep83]
    Reps, T., Teitelbaum, T. and Demers, A.: Incremental context-dependent analysis for language-based editors. ACM TOPLAS 5, No. 3 (1983), 449–477.Google Scholar
  17. [Rep84]
    Reps, T. and Teitelbaum, T.: The Synthesizer Generator. SIGPLAN Notices Vol. 19, No. 5, 1984.Google Scholar
  18. [Tei81]
    Teitelbaum, T. and Reps, T.: The Cornell Programm Synthesizer: a syntax-directed programming environment. CACM 24, No. 9 (1981).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • G. Snelting
    • 1
  1. 1.Institut fűr Systemarchitektur Technische Hochschule DarmstadtDarmstadt

Personalised recommendations