Abstract
This paper presents the concept of a dialog system for software development which contains an incremental compiler as fundamental component. Incremental compilation is carried out in two steps, the first generating the program graph which represents the abstract syntax of a program, the second yielding code pieces. The syntax is checked in the first step. Code pieces are executed while interpreting the program graph. The interpreter and the intermediate code can be extended by test, optimization, monitoring, parallelization and other facilities.
Zusammenfassung
Der folgende Aufsatz beschreibt das Konzept eines Software-Arbeitsplatzes, der als Herzstück einen inkrementellen Compiler enthält. Die inkrementelle Compilation wird in zwei Schritten ausgeführt: Im ersten Schritt wird ein Graph als Zwischencode erzeugt, der die abstrakte Syntax eines Programms repräsentiert, im zweiten Schritt werden die Inkremente in Codestücke übersetzt. Die gesamte Syntax wird im ersten Schritt abgeprüft. Die Codestücke werden ausgeführt, während der Programmgraph interpretiert wird. In den Zwischencode und den Programmgrapheninterpreter können leicht Komponenten für Fehlersuche und Test, Laufzeitmessung, Optimierung und Parallelisierung integriert werden.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
A.V. Aho/ J.D. Ullman: Principles of Compiler Design, Reading: Addison-Wesley (1977).
W. Altmann: A new module concept for design of reliable software, Applied Computer Science 14, 155–166, München: Hanser-Verlag (1979).
B. Austermühl/W. Henhapl/H.H. Kron/R. Lutze: Die Generierung von interaktiven Programmierumgebungen, in Notizen zum Interaktiven Programmieren 2, (1979).
F.L. Bauer et al.: Program Development by Transformation, Section III of F.L. Bauer (Ed.): Program Construction, Lect. Notes Comp. Sci 69, 235–92 (1979).
M. Berthaud/M. Griffiths: Incremental Compilation and Conversational Interpretation, Ann. Rev. Autom. Programming 7, 2, 95–114 (1973).
W. Brendel/H. Bunke/M. Nagl: Syntaxgesteuerte Programmierung und inkrementelle Compilation, Informatik-Fachberichte 10, 57–74, Berlin: Springer-Verlag (1977).
W. Brendel/M. Nagl/D. Weber: Implementation of Sequential and Parallel Graph Rewriting Systems, Applied Computer Science 8, 79–106, München: Hanser-Verlag (1978).
H. Bunke: Beschreibung eines syntaxgesteuerten inkrementellen Compilers durch Graph-Grammatiken, Arbeitsbericht d. Instituts f. Math. Masch. u. Datenverarb. 7, 7, University of Erlangen (1974).
W. Brendel: Maschinencode-Erzeugung bei inkrementeller Compilation, Arbeitsbericht d. Inst. f. Math. Masch. u. Datenverarb. 10, 8, 24–120, University of Erlangen (1977)
H.H. Kron/F. De Remer: Programming-in-the-large versus Programming-in-the-small, Informatik Fachberichte 1, 80–89, Berlin: Springer-Verlag (1976).
J. Earley/P. Caizergues: A Method for Incrementally Compiling Languages with Nested Statement Structure, Comm. ACM 15, 12, 1040–1044, (1972).
W. Händler/F. Hofmann/H.J. Schneider: A general purpose array with a broad spectrum of applications, Informatik-Fachberichte 4, 311–335, Berlin: Springer-Verlag (1978).
H.J. Hoffmann: Programming by selection, Proc. 1973 Int. Comp. Symp., 59 – 66, Amsterdam: North-Holland (1974).
H.J. Hoffmann/ I. Kupka: Arbeiten mit interaktiven Systemen…, in Notizen zum Interaktiven Programmieren 1, 5–30 (1978).
M. Kahrs: Implementation of an Interactive Programming System, Proc. 1979 SIGPLAN Symp. on Compiler Construction, SIGPLAN Notices 14, 8, 76–82 (1979).
H. Katzan: Batch, conversational, and incremental compilers, AFIPS Proc. 1969 SJCC, vol. 34, 47–56(1969).
D. Knuth: Structured programming with goto statements, Computing Surveys 8, 261–301 (1974).
M. Nagl: Graph-Grammatiken: Theorie, Anwendungen, Implementierung, Wiesbaden: Vieweg-Verlag (1979).
M. Nagl: GRAPL — A Programming Language for Dynamic Problems on Graphs, Proc. WG’79 on Graphtheoretic Concepts in Computer Science, München: Carl Hanser Verlag
W.J. Rishel: Incremental Compilers, Datamation 16, 1, 129–136 (1970).
H. Rohlfing: Programmentwicklung im Dialog, Doctoral Dissertation, University of Karlsruhe (1976).
H.A. Schmid: A user oriented and efficient incremental compiler, Proc. Int. Comp. Symp., 259–269, Venice (1972).
H.A. Schmid/ B. Nienaber: Messung der Effizienz eines einfachen “Incremental Compiler” Lect. Notes Ec. and Math. Syst. 78, 159–168, Berlin: Springer-Verlag (1973).
N. Siegmund/ R. Schmitt/ F. Wankmüller: Abänderung von Programmen als Anwendung des Einbettungsproblems für Graphen, Techn. Rep. 42/77, University of Dortmund (1977).
H.J. Schneider: Syntax-directed description of incremental compilers, Lect. Notes Comp. Sci. 26, 192–201, Berlin: Springer-Verlag (1975).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1980 Springer-Verlag Berlin · Heidelberg
About this paper
Cite this paper
Nagl, M. (1980). An Incremental Compiler as Component of a System for Software Generation. In: Hoffmann, HJ. (eds) Programmiersprachen und Programmentwicklung. Informatik-Fachberichte, vol 25. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-67600-0_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-67600-0_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-09937-6
Online ISBN: 978-3-642-67600-0
eBook Packages: Springer Book Archive