ACM Home Page
Please provide us with feedback. Feedback
The PSG system: from formal language definitions to interactive programming environments
Full text PdfPdf (2.35 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 8 ,  Issue 4  (October 1986) table of contents
Pages: 547 - 576  
Year of Publication: 1986
ISSN:0164-0925
Authors
Rolf Bahlke  Technical Univ. of Darmstadt, Darmstadt, W. Germany
Gregor Snelting  Technical Univ. of Darmstadt, Darmstadt, W. Germany
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 70,   Citation Count: 35
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/6465.20890
What is a DOI?

ABSTRACT

The PSG programming system generator developed at the Technical University of Darmstadt produces interactive, language-specific programming environments from formal language definitions. All language-dependent parts of the environment are generated from an entirely nonprocedural specification of the language's syntax, context conditions, and dynamic semantics. The generated environment consists of a language-based editor, supporting systematic program development by named program fragments, an interpreter, and a fragment library system. The major component of the environment is a full-screen editor, which allows both structure and text editing. In structure mode the editor guarantees prevention of both syntactic and semantic errors, whereas in textual mode it guarantees their immediate recognition. PSG editors employ a novel algorithm for incremental semantic analysis which is based on unification. The algorithm will immediately detect semantic errors even in incomplete program fragments. The dynamic semantics of the language are defined in denotational style using a functional language based on the lambda calculus. Program fragments are compiled to terms of the functional language which are executed by an interpreter. The PSG generator has been used to produce environments for Pascal, ALGOL 60, MODULA-2, and the formal language definition language itself.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
AMBRIOLA, V., AND MONTANGERO, C. Automatic generation of execution tools in a GANDALF environment. J. Syst. Softw. 5, 2 (May 1985), 155-171.
 
4
BAHLKE, R., ANO LETSCHERT, T. The BLKS system: Towards the generation of programming environments. In Proceedings 3. Gl-Fachgesprach Compiler-Compiler (Munich, Mar. 1982), W. Henhapl, Ed., 153-173.
 
5
BAHLKE, R., AND SNELTING, G. Programmiersystemgenerator--Arbeitsbericht 1984, Rep. PU2R2/84, TH Darmstadt, Feb. 1984.
 
6
BAHLKE, R, AND LETSCHERT, T. Ausf~ihrbare Denotationale Semantik. In Proceedings 4. GI-Fachgespr~ch Implementierung yon Programmiersprachen (Zurich, Mar. 1984), H. Ganzinger, Ed., 3-19.
7
 
8
 
9
 
10
BJORNER, D., AND JONES, C.B. Formal Specification and Software Development. Prentice-Hall, Englewood Cliffs, N.J., 1982.
 
11
 
12
DESPEYROUX, T. Executable specification of static semantics. In Lecture Notes in Computer Science, 173. Springer Verlag, New York, 1984, 215-233.
13
 
14
ELLISON, R. J., AND STAUDT, B.J. The evolution of the GANDALF system. J. Syst. Softw. 5, 2 (May 1985), 107-119.
 
15
GILOI, W. K., AND M(~HLENBEIN, H. Rationale and concepts for the SUPRENUM supercomputer architecture. Internal Rep., Gesellschaft ~r Mathematik und Datenverarbeitung, 1985.
 
16
GOGUEN, J. A. Order-sorted algebras: Exception and error sorts, coercions and overloaded operators. Semantics and Theory of Computation Rep. 14, UCLA, 1978.
 
17
HENHAPL, W. Von der Compiler-Generierung zu der Programmiersystemgenerierung. In Proceedings 1. GI-Fachgespr~ch Compiler-Compiler (Berlin, Sept. 1978), 160-169.
 
18
HENHAPL, W., AND LETSCHERT, T. VDM in research, development, and education: Local experiences. In Formal Models in Programming. North-Holland, Amsterdam, 1985, 157-180.
19
20
 
21
JOHNSON, S.C. YACC: Yet another compiler-compiler. In UNIX Programmer's Manual Vol. 2B, Bell Labs., July 1978.
 
22
KAHN, G., LANG, B., Mi~LI~SE, B., AND MORCOS, E. METAL: A formalism to specify formalisms. Sci. Comput. Program. 3 (1983), 151-188.
 
23
LANDIN, P.J. The mechanical evaluation of expressions. Comput. J. 6, 4 (1964), 308-320.
 
24
 
25
MEDINA-MORA, R., NOTKIN, D. S., AND ELLISON, g.J. ALOE user's and implementor's guide. Carnegie-Mellon Univ., May 1982.
26
 
27
MILNER, R. A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17, 3 (1978), 348-375.
 
28
MOSSES, P. SIS--Semantics Implementation System, reference manual and user guide. Rep. DAIMI MD-30, Aarhus Univ., Aug. 1979.
 
29
PLOTKIN, G. Building in equational theories. Mach. InteU. 7 (1972), 73-90.
30
 
31
32
33
 
34
 
35
REPS, T., AND SNELTING, G. Context relations implemented with attribute grammars. Cornell Univ., Jan. 1986.
 
36
37
 
38
39
 
40
SNELTING, G. Inkrementelle semantische Analyse in unvollst~indigen Programmfragmenten mit Kontextrelationen. Doctoral thesis, TH Darmstadt, Mar. 1986.
 
41
42
 
43
VUILLEMIN, J. Correct and optimal implementations of recursion in a simple programming language. J. Comput. Syst. Sci. 9 (1974), 332-354.

CITED BY  35


REVIEW

"Gerald David Chandler : Reviewer"

The Programming System Generator (PSG) uses a formal specification of a programming language to generate a structure editor, interpreter, and interactive run-time environment for the language. The generated editor operates in structure mode, in   more...

Collaborative Colleagues:
Rolf Bahlke: colleagues
Gregor Snelting: colleagues