Skip to main content
Log in

On correct procedure parameter transmission in higher programming languages

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

The paper starts with the observation that in ALGOL 60 no specifications for formal procedure parameters are prescribed, whereas ALGOL 68 demands complete specifications. As a consequence, no ALGOL 68 program accepted by the compiler can have wrong parameter transmissions at run time whereas ALGOL 60 programs may have them. The property of ALGOL 60 programs to have only correct parameter transmissions obviously is undecidable if all data, conditional statements, etc. have to be taken into consideration (Theorem 1) and it is unfair to demand that the compiler should decide that property by a finite process. Therefore, we investigate this question of decidability under a much fairer condition, namely without taking into consideration any data or conditions and by giving all procedure calls occurring in the same block “equal rights” (Section IV, p. 123). Even this fairer problem turns out to be algorithmically unsolvable, in general (Theorem 5), but it is solvable as soon as the programs do not have global formal procedure parameters (Theorem 3). Analogous answers can be given to the problems of formal equivalence of programs and of formal reachability, formal recursivity, and strong formal recursivity of procedures (Theorems 8–11). Procedures which are not strongly formally recursive have great importance in compilation techniques as is shown in Section X.

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

References

  1. De Bakker, J. W., de Roever, W. P.: A Calculus for Recursive Program Schemes. MR 131/72, Mathematisch Centrum Amsterdam, February 1972.

  2. Fischer, M. J.: Grammars with Macro-like Productions. Report No. NSF-22. Math. Ling. and Autom. Translation. Harvard Univ., Cambridge, Mass., May 1968.

    Google Scholar 

  3. Grau, A. A., Hill, U., Langmaack, H.: Translation of ALGOL 60. Handbook for Automatic Computation. Vol. I, Part b. Berlin-Heidelberg-New York: Springer 1967.

    Google Scholar 

  4. Hawkins, E. N., Huxtable, D. H. R.: A Multi-Pass Translation Scheme for ALGOL 60. Annual Review in Automatic Programming. Vol. III, 163–205. Oxford: Pergamon Press 1963.

    Google Scholar 

  5. Koster, C. H. A.: On Infinite Modes. ALGOL Bulletin No. 30, 86–89 (1969).

  6. Ledgard, H. F.: A Model for Type Checking. Comm. ACM 15, 956–966 (1972).

    Google Scholar 

  7. Naur, P. (Ed.) et al.: Revised Report on the Algorithmic Language ALGOL 60. Num. Math. 4, 420–453 (1963).

  8. Pair, C.: Concerning the Syntax of ALGOL 68. ALGOL Bulletin No. 31, 16–27 (1970).

  9. Post, E. L.: A Variant of a Recursively Undecidable Problem. Bull. Am. Math. Soc. 52, 264–268 (1946).

    Google Scholar 

  10. Scheidig, H.: Representation and Equality of Modes. Inf. Proc. Letters 1, 61–65 (1971).

    Google Scholar 

  11. Van Wijngaarden, A., Mailloux, B. J., Peck, J. E. L., Koster, C. H. A.: Report on the Algorithmic Language ALGOL 68. Num. Math. 14, 79–218 (1969).

    Google Scholar 

  12. Zosel, M.: A Formal Grammer for the Representation of Modes and its Application to ALGOL 68. Thesis, Univ. of Wash. 1971.

  13. Langmaack, H.: On Procedures as Open Subroutines. Fachbereich Angew. Math. u. Informatik, Univ. des Saarlandes, Bericht A 73/04 (1973).

Download references

Author information

Authors and Affiliations

Authors

Additional information

The main results of this paper have been announced in an invited lecture given at the first annual congress of the Gesellschaft fur Informatik (GI) in October 1971 in Munich.

The author should like to thank Prof. G. Hotz for many discussions, Dr. H. Feldmann for some hints, and the referees for their valuable critical remarks.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Langmaack, H. On correct procedure parameter transmission in higher programming languages. Acta Informatica 2, 110–142 (1973). https://doi.org/10.1007/BF00264026

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation