Skip to main content
Log in

SEMANOL (73) a metalanguage for programming the semantics of programming languages

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

SEMANOL is a practical programming system for writing readable formal specifications of the syntax and semantics of programming languages. SEMANOL is based on a theory of semantics which embraces algorithmic (operational) and extensional (input/output) semantics. Specifications for large contemporary languages have been constructed in the formal language, SEMANOL (73), which is a readable high-level notation. A SEMANOL (73) specification can be executed (by an existing interpreter program); when given a program from the specified language, and its input, the execution of the SEMANOL (73) specification produces the program's output. The demonstrated executability of SEMANOL (73) provides important practical advantages. This paper includes discussions of the theory of semantics underlying SEMANOL, the syntax and semantics of the SEMANOL (73) language, the use of the SEMANOL (73) language in the SEMANOL method for describing programming languages, and the contrast between the Vienna definition method (VDL) and SEMANOL.

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. Blum, E. K.: Towards a theory of semantics and compilers for programming languages. Computer and System Sciences 3, 248–275 (1969)

    Google Scholar 

  2. Blum, E. K.: Semantics of programming languages. IFIP W.G.2.2 Bulletin, Apr. 1971

  3. Lucas, P., Walk, K. et al.: ULD VERSION II. IBM Reports, 1968; also: On the formal description of PL/I. Annual Review of Automatic Programming 6. New York: Pergamon 1970, p. 105–181

    Google Scholar 

  4. Gilmore, P. C.: Purely functional programs as recursions. IBM Research Report, Oct. 1972

  5. Gilmore, P. C.: A Completeness theorem for programs. IBM Report, Nov. 1972

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

    Google Scholar 

  7. deBakker, J. W.: Formal definition of programming languages. Mathematical Centre, Amsterdam, Mathematical Centre Tracts 16, 1967

    Google Scholar 

  8. Boyle, J. M., Grau, A. A.: An algorithmic semantics for ALGOL 60 identifier denotation. J. ACM 17, 361–382 (1970)

    Google Scholar 

  9. Scott, D., Strachey, C.: Towards a mathematical semantics for computer languages. In: Proc. Symposium on Computers and Automata, Brooklyn Polytechnic Institute Microwave Res. Inst. Symposia Series, Vol. 21, 1972

  10. Knuth, D.: Semantics of context-free languages. Mathematical Systems Theory 2, 127–145 (1968)

    Google Scholar 

  11. Floyd, R. W.: Assigning meanings to programs. In: Schwartz, J. T. (ed.): Proc. of Symposium in Applied Mathematics 19, Mathematical Aspects of Computer Science. Providence (R.I.): Am. Math. Soc. 1967, p. 19–32

    Google Scholar 

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

    Google Scholar 

  13. Park, D.: Fixpoint induction and proofs of program semantics. In: Meltzer, B. and Michie, D. (eds.): Machine Intelligence, Vol. 5. Edinburgh: University Press 1970, p. 59–78

    Google Scholar 

  14. Hoare, C. A. R.: An axiomatic basis for computer programming. Comm. ACM 12, 576–583 (1969)

    Google Scholar 

  15. Fang, Isu: FOLDS, A declarative formal language definition system. Stanford University, Report CS-72-329, December 1972

  16. Blum, E. K.: The semantics of programming languages, Part I. TRW Technical Report TPR-TR-1, Dec. 1969; Part II: SEMANOL: A programming system for the semantics of programming languages. TRW Systems Group Technical Report TPR-TR-2, Dec. 1970

  17. Blum, E. K.: Formal semantics of programming languages, TRW Report TPRTR-6, Aug. 1973; Formal semantics of programming languages, IRIA Seminar Reviews May, 1974

  18. Knuth, D.: The art of computer programming, Vol. 1. Reading (Mass.): AddisonWesley 1968

    Google Scholar 

  19. Steel, T. B. Jr. (ed.): Formal language description languages. Amsterdam: NorthHolland 1966

    Google Scholar 

  20. Hoare, C. A. R., Wirth, N.: An axiomatic definition of the programming language PASCAL. Acta Informatica 2, 335–355 (1973)

    Google Scholar 

  21. Caraciollo di Forino, A.: Generalized Markov algorithms and automata. In: Caianiello, E. R. (ed.): Automata Theory. New York: Academic Press 1966, p. 115–130

    Google Scholar 

  22. Branquardt, P., Lewi, J., Sintzoff, M., Wodon, P. L.: The composition of semantics in ALGOL 68. Comm. ACM 14, 697–708 (1971)

    Google Scholar 

  23. Neuhold, E. J.: The formal description of programming languages. IBM Systems J. 10, 86–113 (1971)

    Google Scholar 

  24. A standard for language implementation — SEMANOL specification of JOVIL. TRW Systems Report, 26 March 1973

  25. Hopcroft, J, Ullman, J.: Formal languages and their relation to automata. Reading (Mass.): Addison-Wesley 1969

    Google Scholar 

  26. Allen, C. D., Chapman, D. N., Jones, C. B.: A formal definition of ALGOL 60. IBM U.K. Laboratories Report TR 12.105, Aug. 1972

  27. Ollongren, A.: On the Vienna method and notation for the formal definition of programming languages. Centraal Reken-Institut, Rijkuniversitet te Leiden, Technisch Report Jan. 1971

  28. Alber, K., Oliva, P.: Translation of PL/I into abstract syntax. IBM Laboratory Vienna, Tech. Report TR 25.086, June 1968

  29. Bekic, H., Walk, K.: Formalization of storage properties. In: Engeler, E. (ed.): Symposium on Semantics of Algorithmic Languages. Lecture Notes Mathematics 188. Berlin-Heidelberg-New York: Springer 1971, p. 28–61

    Google Scholar 

  30. Walk, K.: Modelling of storage properties of higher-level languages. International J. of Computer and Information Sciences 2, 1–24 (1973)

    Google Scholar 

  31. Lee, J. A. N.: Computer semantics. New York: Van Nostrand Reinhold 1972

    Google Scholar 

  32. Anderson, E. R., Belz, F. C., Blum, E. K.: SEMANOL 73, A metalanguage for programming the semantics of programming languages. TRW Systems Group Report TPR-TR-7, June 14, 1974

  33. Bekic, H., Bjorner, D., Henhapl, W., Jones, C. B., Lucas, P.: A formal definition of a PL/I subset. Parts I and II. IBM Laboratory Vienna, Technical Report TR25.139, Dec. 20, 1974

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Anderson, E.R., Belz, F.C. & Blum, E.K. SEMANOL (73) a metalanguage for programming the semantics of programming languages. Acta Informatica 6, 109–131 (1976). https://doi.org/10.1007/BF00268496

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation