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.
Similar content being viewed by others
References
Bakker, J.W. de: Axiomatics of simple assignment statements. Stichting Mathematisch Centrum, Amsterdam, Report MR94, 1968
Bakker, J. W. de, Scott, D.: A theory of programs. An outline of joint work by the authors privately circulated
Backus, J. W.: The syntax and semantics of the proposed international algebraic language. Proc. Int. Conf. UNESCO, Paris 1959. Munich: Oldenbourg 1960
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
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
Burstall, R. M.: Proving properties of programs by structural induction. Computer J. 12, 41–48 (1969)
Elgot, C. C., Robinson, A.: Random-access stored-program machines. An approach to programming languages. J. ACM 11, 365–399 (1964)
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
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
Hoare, C. A. R.: An axiomatic basis for computer programming. Comm. ACM 12, 576–580 (1967)
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
Hoare, C. A. R.: Proof of a program: Find. comm. ACM 13, 39–45 (1971)
Igarashi, S.: An axiomatic approach to the equivalence problems of algorithms with applications. Computing Centre, University Tokyo, Report No. 1, 1968
Landin, P. J.: A correspondence between ALGOL 60 and Church's lambda notation. Comm. ACM 8, 158–165 (1965)
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
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
Landin, P. J.: The mechanical evaluation of expressions. Computer J. 6, 308–320 (1964)
Lauer, P. E.: Consistent formal theories of the semantics of programming languages. IBM Laboratory Vienna, Techn. Report TR. 25.121, Nov. 1971
Lauer, P. E.: Formal definition of ALGOL 60. IBM Laboratory Vienna, Techn. Report TR. 25.088, Dec. 1968
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
Lucas, P., Walk, K.: On the formal description of PL/I. Annual Review in Automatic Programming 6, 105–182 (1969)
Manna, Z.: The correctness of programs. J. Computer and System Sciences 3, 119–127 (1969)
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
McCarthy, J.: Recursive functions of symbolic expressions and their computation by machine, Part I. Comm. ACM. 3, 184–195 (1960)
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
Milner, R.: Logic for computable functions. Description of a machine implementation. Stanford University, AIM-169. May 1972
Naur, P. (ed.): Revised report on the algorithmic language ALGOL 60. Comm. ACM 6, 1–23 (1963)
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
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
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
Author information
Authors and Affiliations
Rights 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
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00264034