Advertisement

Acta Informatica

, Volume 3, Issue 2, pp 135–153 | Cite as

Consistent and complementary formal theories of the semantics of programming languages

  • C. A. R. Hoare
  • P. E. Lauer
Article

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.

Keywords

Information System Operating System Data Structure Communication Network Information Theory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bakker, J.W. de: Axiomatics of simple assignment statements. Stichting Mathematisch Centrum, Amsterdam, Report MR94, 1968Google Scholar
  2. 2.
    Bakker, J. W. de, Scott, D.: A theory of programs. An outline of joint work by the authors privately circulatedGoogle Scholar
  3. 3.
    Backus, J. W.: The syntax and semantics of the proposed international algebraic language. Proc. Int. Conf. UNESCO, Paris 1959. Munich: Oldenbourg 1960Google Scholar
  4. 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–315Google Scholar
  5. 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–98Google Scholar
  6. 6.
    Burstall, R. M.: Proving properties of programs by structural induction. Computer J. 12, 41–48 (1969)Google Scholar
  7. 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. 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–32Google Scholar
  9. 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–294Google Scholar
  10. 10.
    Hoare, C. A. R.: An axiomatic basis for computer programming. Comm. ACM 12, 576–580 (1967)Google Scholar
  11. 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–116Google Scholar
  12. 12.
    Hoare, C. A. R.: Proof of a program: Find. comm. ACM 13, 39–45 (1971)Google Scholar
  13. 13.
    Igarashi, S.: An axiomatic approach to the equivalence problems of algorithms with applications. Computing Centre, University Tokyo, Report No. 1, 1968Google Scholar
  14. 14.
    Landin, P. J.: A correspondence between ALGOL 60 and Church's lambda notation. Comm. ACM 8, 158–165 (1965)Google Scholar
  15. 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 1966Google Scholar
  16. 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–141Google Scholar
  17. 17.
    Landin, P. J.: The mechanical evaluation of expressions. Computer J. 6, 308–320 (1964)Google Scholar
  18. 18.
    Lauer, P. E.: Consistent formal theories of the semantics of programming languages. IBM Laboratory Vienna, Techn. Report TR. 25.121, Nov. 1971Google Scholar
  19. 19.
    Lauer, P. E.: Formal definition of ALGOL 60. IBM Laboratory Vienna, Techn. Report TR. 25.088, Dec. 1968Google Scholar
  20. 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 1970Google Scholar
  21. 21.
    Lucas, P., Walk, K.: On the formal description of PL/I. Annual Review in Automatic Programming 6, 105–182 (1969)Google Scholar
  22. 22.
    Manna, Z.: The correctness of programs. J. Computer and System Sciences 3, 119–127 (1969)Google Scholar
  23. 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–70Google Scholar
  24. 24.
    McCarthy, J.: Recursive functions of symbolic expressions and their computation by machine, Part I. Comm. ACM. 3, 184–195 (1960)Google Scholar
  25. 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–28Google Scholar
  26. 26.
    Milner, R.: Logic for computable functions. Description of a machine implementation. Stanford University, AIM-169. May 1972Google Scholar
  27. 27.
    Naur, P. (ed.): Revised report on the algorithmic language ALGOL 60. Comm. ACM 6, 1–23 (1963)Google Scholar
  28. 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–176Google Scholar
  29. 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–220Google Scholar
  30. 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–18Google Scholar

Copyright information

© Springer-Verlag 1974

Authors and Affiliations

  • C. A. R. Hoare
    • 1
  • P. E. Lauer
    • 2
  1. 1.Department of Computer ScienceThe Queen's University of BelfastBelfastNorthern Ireland
  2. 2.University of Newcastle upon Tyne Computing LaboratoryNewcastle upon TyneUK

Personalised recommendations