Skip to main content
Log in

Zur Elimination von Prozedurschachtelungen

On the elimination of procedure nestings

  • Published:
Computing Aims and scope Submit manuscript

Abstract

In ALGOL-like programming languages with procedures there are several properties of programs concerning procedures that may be used to improve resp. optimise the performance of the runtime system. In these considerations problems very soon arise, because in general one has to discuss programs with an arbitrary nesting of procedure declarations. This paper shows that an arbitrary ALGOL 60-program can be transformed into an ALGOL 60-program which has a maximal procedure nesting 2, and both programs define the same input-output function. In order to prove this property a new notion for equivalence of ALGOL-like programs with procedures is introduced.

Zusammenfassung

In ALGOL-ähnlichen Programmiersprachen mit Prozeduren gibt es im Zusammenhang mit diesen Prozeduren eine Reihe von Programmeigenschaften, die zu einer Verbesserung des Laufzeitsystems benutzt werden können. Bei solchen Überlegungen treten jedoch häufig Probleme auf, da man Programme mit beliebigen Prozedurschachtelungen betrachten muß. Es wird nun gezeigt, daß sich beliebige ALGOL-60-Programme in funktional äquivalente Programme mit einer maximalen Prozedurschachtelungstiefe 2 transformieren lassen. Als Hilfsmittel wird hierzu ein neuer Äquivalenzbegriff für ALGOL-ähnliche Programme mit Prozeduren eingeführt.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Literatur

  1. Langmaack, H.: On correct procedure parameter transmission in higher programming languages. Acta Informatica2, 110–142 (1973).

    Google Scholar 

  2. Langmaack, H.: On procedures as open subroutines I. Acta Informatica2, 311–333 (1973).

    Article  Google Scholar 

  3. Langmaack, H.: On procedures as open subroutines II. Acta Informatica3, 227–241 (1974).

    Article  Google Scholar 

  4. Simon, F.: Zur Charakterisierung von LISP als ALGOL-ähnliche Programmiersprache mit einem strikt nach dem Kellerprinzip arbeitenden Laufzeitsystem. Dissertation, Christian-Albrechts-Universität Kiel, 1978.

  5. Simon, F.: Cons-freies Programmieren in LISP unter deletion-Strategie, in: Informatik-Fachberichte 1 (Schneider, H. J., Nagl, M., Hrsg.), S. 111–123. Berlin-Heidelberg-New York: Springer 1976.

    Google Scholar 

  6. Simon, F., Trademann, P.: Eine Beziehung zwischen cons-freiem LISP und Stackautomaten. Elektronische Informationsverarbeitung und Kybernetik EIK 14 (1978).

  7. Kaufholz, G., Lippe, W. M.: A note on a paper of H. Langmaack about correct procedure parameter transmission. Bericht Nr. A 74/06 des Fachbereichs Angewandte Mathematik und Informatik der Universität des Saarlandes, Saarbrücken, 1974.

  8. Lippe, W. M.: Zur Entscheidbarkeit von Programmeigenschaften durch Programmtransformationen. Bericht Nr. 7607, Institut für Informatik und Praktische Mathematik der Christian-Albrechts-Universität Kiel, 1976.

  9. Lippe, W. M.: Über die Entscheidbarkeit der formalen Erreichbarkeit von Prozeduren bei monadischen Programmen, in: Informatik-Fachberichte 1 (Schneider, H. J., Hrsg.), S. 124–134. Berlin-Heidelberg-New York: Springer 1976.

    Google Scholar 

  10. Lippe, W. M., Simon, F.: Untersuchungen zur Beziehung zwischen ALGOL 60 und ALGOL 60-P-G. Bericht Nr. 7707, Institut für Informatik und Praktische Mathematik der Christian-Albrechts-Universität Kiel, 1977.

  11. Damm, W., Fehr, E., Indermark, K.: Higher type recursion and self-application as control structures. Proc. of the IFIP Working Conference on Formal Description of Programming Concepts (1977).

  12. Greibach, S.: Theory of program structures: schemes, semantics and verification. (Lecture Notes in Computer Science, Vol. 36.) Berlin-Heidelberg-New York: Springer 1976.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lippe, W.M., Simon, F. Zur Elimination von Prozedurschachtelungen. Computing 23, 119–138 (1979). https://doi.org/10.1007/BF02252093

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02252093

Navigation