Abstract
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.
Work of this author was supported by the "Deutsche Forschungsgemeinschaft", grant He 1170/2-2
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
6. References
Bahlke, R. and Snelting, G.: Programmiersystemgenerator. Arbeitsbericht 1984. Bericht PU2R2/84, Fachgebiet Programmiersprachen und Űbersetzer II, Technische Hochschule Darmstadt, Februar 1984.
Bahlke, R. and Letschert, T.: Ausfűhrbare denotationale Semantik. Proc. 4. GI-Fachgespräch Implementierung von Programmiersprachen, Zűrich, März 1984.
Bjørner, D. and Jones, C.B. (eds.): The Vienna Development Method: The metalanguage. LNCS 61, Springer Verlag 1978.
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.
Gordon, M.J.C.: The denotational description of programming languages, an introduction. Springer 1979.
Habermann, N. et al.: The second compendium of GANDALF documentation. Carnegie-Mellon-University, May 1982.
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.
Kahn, G. et al.: Metal: A Formalism to specify formalisms. Science of Computer Programming 3 (1983) 151–188.
Kastens, U. and Zimmermann, E.: GAG — A generator based on attributed Grammars. Universität Karlsruhe, Institut fűr Informatik, Bericht Nr 14/80, 1980.
Klug, M.: Implementation of MODULA-2 with the PSG-System. Diploma Thesis, TH Darmstadt, 1984 (In German).
Knuth, D.E.: Semantics of context-free languages, Mathematical Systems Theory 2, 127–145, June 1968.
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.
Mosses, P.: SIS — Semantics implementation system, Reference Manual and user guide, Report DAIMI DC-30, Aarhus University 1979.
Paulson, L.: A semantics-directed compiler generator. Proc. 9th ACM POPL conference, Albuquerque 1982, 224–239.
Pleban, U.: Formal Semantics and Compiler Generation. Proc. Programmiersprachen und Compiler, Berichte des German Chapter of the ACM 18, Teubner 1984.
Reps, T., Teitelbaum, T. and Demers, A.: Incremental context-dependent analysis for language-based editors. ACM TOPLAS 5, No. 3 (1983), 449–477.
Reps, T. and Teitelbaum, T.: The Synthesizer Generator. SIGPLAN Notices Vol. 19, No. 5, 1984.
Teitelbaum, T. and Reps, T.: The Cornell Programm Synthesizer: a syntax-directed programming environment. CACM 24, No. 9 (1981).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1985 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Snelting, G. (1985). Experiences with the PSG — Programming System Generator. In: Ehrig, H., Floyd, C., Nivat, M., Thatcher, J. (eds) Formal Methods and Software Development. TAPSOFT 1985. Lecture Notes in Computer Science, vol 186. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-15199-0_10
Download citation
DOI: https://doi.org/10.1007/3-540-15199-0_10
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-15199-9
Online ISBN: 978-3-540-39307-8
eBook Packages: Springer Book Archive