Skip to main content
Log in

Consistent and complementary formal theories of the semantics of programming languages

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

This paper presents a comparative study of different methods for formal description of programming languages. These methods have been applied to a simple but realistically usable programming language; the more abstract definitions have been proved to be consistent relative to the more concrete ones.

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. Bakker, J.W. de: Axiomatics of simple assignment statements. Stichting Mathematisch Centrum, Amsterdam, Report MR94, 1968

    Google Scholar 

  2. Bakker, J. W. de, Scott, D.: A theory of programs. An outline of joint work by the authors privately circulated

  3. Backus, J. W.: The syntax and semantics of the proposed international algebraic language. Proc. Int. Conf. UNESCO, Paris 1959. Munich: Oldenbourg 1960

  4. Bekić, H.: On the formal definition of programming languages. In: Itzfeldt, W. D. (ed.): Proc. International Computing Symposium of the German Chapter of the ACM, Bonn 1970, pp. 297–315

  5. Burstall, R. M.: Formal description of program structure and semantics in first order logic. In: Meltzer, B. and Michie, E. (eds.): Machine Intelligence 5. Edinburgh University Press 1970, pp. 79–98

  6. Burstall, R. M.: Proving properties of programs by structural induction. Computer J. 12, 41–48 (1969)

    Google Scholar 

  7. Elgot, C. C., Robinson, A.: Random-access stored-program machines. An approach to programming languages. J. ACM 11, 365–399 (1964)

    Google Scholar 

  8. Floyd, R. W.: Assigning meanings to programs. In: Schwartz, J. T. (ed.): Mathematical aspects of computer science. Proc. Symposia in Applied Mathematics 19. Providence (R.I.): Amer. Math. Soc. 1967, pp. 19–32

  9. Garwick, J. V.: The definition of programming languages by their compilers. In: Steel, T. B. (ed.): Formal language description languages for computer programming. Proc. IFIP Working Conf. 1964. Amsterdam: North-Holland 1966, pp. 266–294

    Google Scholar 

  10. Hoare, C. A. R.: An axiomatic basis for computer programming. Comm. ACM 12, 576–580 (1967)

    Google Scholar 

  11. Hoare, C. A. R.: Procedures and parameters: An axiomatic approach. In: Engeler, E. (ed.): Symposium on the semantics of algorithmic languages. Lecture Notes in Mathematics 188. Berlin-Heidelberg-New York: Springer 1971, pp. 102–116

    Google Scholar 

  12. Hoare, C. A. R.: Proof of a program: Find. comm. ACM 13, 39–45 (1971)

    Google Scholar 

  13. Igarashi, S.: An axiomatic approach to the equivalence problems of algorithms with applications. Computing Centre, University Tokyo, Report No. 1, 1968

  14. Landin, P. J.: A correspondence between ALGOL 60 and Church's lambda notation. Comm. ACM 8, 158–165 (1965)

    Google Scholar 

  15. Landin, P. J.: A formal description of ALGOL 60. In: Steel, T. B., (ed.): Formal language description languages for computer programming. Proc. IFIP Working Conf. 1964. Amsterdam: North-Holland 1966

    Google Scholar 

  16. Landin, P. J.: A λ-calculus approach. In: Fox, L. (ed.): Advances in programming and non-numerical computation. New York: Pergamon Press 1966, pp. 97–141

    Google Scholar 

  17. Landin, P. J.: The mechanical evaluation of expressions. Computer J. 6, 308–320 (1964)

    Google Scholar 

  18. Lauer, P. E.: Consistent formal theories of the semantics of programming languages. IBM Laboratory Vienna, Techn. Report TR. 25.121, Nov. 1971

  19. Lauer, P. E.: Formal definition of ALGOL 60. IBM Laboratory Vienna, Techn. Report TR. 25.088, Dec. 1968

  20. Lucas, P., Lauer, P., Stigleitner, H.: Method and notation for the formal definition of programming languages. IBM Laboratory Vienna, Techn. Report TR. 25.087, June 1968, Revised July 1970

  21. Lucas, P., Walk, K.: On the formal description of PL/I. Annual Review in Automatic Programming 6, 105–182 (1969)

    Google Scholar 

  22. Manna, Z.: The correctness of programs. J. Computer and System Sciences 3, 119–127 (1969)

    Google Scholar 

  23. McCarthy, J.: A basis for a mathematical theory of computation. In: Brafford, P., and Hirschberg, D. (eds.): Computer Programming and Formal Systems. Amsterdam: North Holland 1963, pp. 33–70

    Google Scholar 

  24. McCarthy, J.: Recursive functions of symbolic expressions and their computation by machine, Part I. Comm. ACM. 3, 184–195 (1960)

    Google Scholar 

  25. McCarthy, J.: Toward a mathematical science of computation. In: Popplewell, C. M. (ed.): Information Processing 1962. Proc. IFIP Congress 1952. Amsterdam: North-Holland 1963, pp. 21–28

    Google Scholar 

  26. Milner, R.: Logic for computable functions. Description of a machine implementation. Stanford University, AIM-169. May 1972

  27. Naur, P. (ed.): Revised report on the algorithmic language ALGOL 60. Comm. ACM 6, 1–23 (1963)

  28. Scott, D.: Outline of a mathematical theory of computation. Proceedings of the Fourth Annual Princeton Conference on Information Sciences and System, 1970, pp. 169–176

  29. Strachey, C.: Towards a formal semantics. In: Steel, T. B., Jr. (ed.): Formal language description languages for computer programming. Proc. IFIP Working Conf. 1964. Amsterdam: North-Holland 1966, pp. 198–220

    Google Scholar 

  30. Wijngaarden, A. van: Recursive definition of syntax and semantics. In: Steel, T. B. (ed.): Formal language description languages for computer programming. Proc. IFIP Working Conference 1964. Amsterdam: North-Holland 1966, pp. 13–18

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hoare, C.A.R., Lauer, P.E. Consistent and complementary formal theories of the semantics of programming languages. Acta Informatica 3, 135–153 (1974). https://doi.org/10.1007/BF00264034

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation