|
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
|
|
|
|
|
|
|
|
Yanhong A. Liu , Scott D. Stoller , Tim Teitelbaum, Discovering auxiliary information for incremental computation, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.157-170, January 21-24, 1996, St. Petersburg Beach, Florida, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Stefano Mannucci , Bruno Mojana , Maria Cristina Navazio , Valerio Romano , Maria Carla Terzi , Piero Torrigiani, Graspin: A Structural Development Environment for Analysis and Design, IEEE Software, v.6 n.6, p.35-43, November 1989
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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...
|