Zusammenfassung
Bevor ein Programm optimiert werden kann, muß zur Übersetzungszeit Information bestimmt und gesammelt werden. Die Techniken, die zur Bestimmung der Optimierungsinformation verwendet werden, gehen meist von der Darstellung des Programmes als Flußgraph aus [U 75, K 73, AC 76]. Bei dieser Darstellung geht Information über die Struktur des Programmes verloren, die aus dem Flußgraphen rekonstruiert werden muß z.B. werden Schleifen (for ..., while ..., do ...) durch die Bestimmung der streng zusammenhängenden Gebiete [A 69] oder über Intervalle [A 70, AC 76] des Graphen erkannt. Liegen blockstrukturierte Sprachen vor, geht bei der Erstellung des Graphen die Information über Blöcke verloren. Globale Optimierung wurde bisher auf unstrukturierten Sprachen, vor allem Fortran, betrachtet. Um die Strukturinformation, wie sie in Algol oder PL/1 automatisch anfällt, auszunutzen, wird hier ein Ansatz vorgestellt, der von der Darstellung eines Programmes in abstrakter Syntax [LLS 70, L 68] ausgeht. Zur Gewinnung der Optimierungsinformation wird der iterative Algorithmus von Kildall [K 73], der auf Flußgraphen arbeitet, auf abstrakte Syntaxbäume übertragen. Außerdem wird gezeigt, daß es bei dieser Darstellung möglich ist, schleifeninvariante Ausdrücke ohne Kenntnis von streng zusammenhängenden Gebieten zu bestimmen [A 69].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Literatur
Allen, F.E., Program Optimization, Annl. Rev. in Autom. Programming, Vol. 5, 1969.
Allen, F.E., Control Flow Analysis, Sigplan Notices, 5:7, 1970.
Allen, F.E., Cocke, J., A Program Data Flow Analysis Procedure, CACM, 19:3, 1976.
Kildall, G.A., A Unified Approach to Global Program Optimization, Proc. ACM Symp. on Pr. of Programming Languages, 1973.
Kam, J., Ullman, J., Monotone Data Flow Analysis Frameworks, Acta Informatica, 7, 1977.
Lauer, P., Formal Definition of Algol 60, IBM Labor Wien, TR 25.088, 1968.
Lucas, P., Lauer, P., Stigleitner, H., Method and Notation for the Formal Definition of Programming Languages, IBM Labor Wien, TR 25.087, 1970.
Ollongren, A., Definition of Programming Languages by Interpreting Automata, Academic Press, 1974.
Ullman, J., Data Flow Analysis, Proc. 2nd USA-Japan Computer Conference, AFIPS Press, 1975.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1978 Springer-Verlag Berlin · Heidelberg
About this chapter
Cite this chapter
Bengel, G. (1978). Definition Einer Programmanalysemaschine in VDL. In: Alber, K. (eds) Programmiersprachen. Informatik - Fachberichte, vol 12. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-87956-2_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-87956-2_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-08680-2
Online ISBN: 978-3-642-87956-2
eBook Packages: Springer Book Archive