Advertisement

High-level semantics

An integrated approach to programming language semantics and the specification of implementations
  • Uwe F. Pleban
  • Peter Lee
Part VI New Directions
Part of the Lecture Notes in Computer Science book series (LNCS, volume 298)

Abstract

In the course of implementing a semantics directed compiler generator we have developed high-level semantics, a new style of semantic definition which overcomes fundamental problems concerning the specification techniques used in traditional denotational semantics. In the past, these problems have precluded the generation of realistic compilers from traditional denotational specifications. By contrast, high-level semantic specifications are suitable for both defining the functional semantics of programming languages, and describing realistic compiler implementations which are automatically generated from the semantics.

In an earlier paper we described the MESS system, a prototype implementation of a compiler generator incorporating the principles of high-level semantics. Here, we summarize the salient characteristics of our methodology. A comprehensive overview of high-level semantics and the MESS compiler generator can be found in the dissertation of the second author.

Keywords

Semantic Operator Procedure Call Action Semantic Denotational Semantic Imperative Action 
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. [Bir82]
    Bird, P. An implementation of a code generator specification language for table driven code generators. Proc. SIGPLAN '82 Symp. Compiler Construction, SIGPLAN Notices 17, 6 (June 1982), 44–55.CrossRefGoogle Scholar
  2. [BoB82]
    Bodwin, J., Bradley, L., Kanda, K., Litle, D., and Pleban, U. Experience with a compiler generator based on denotational semantics. Proc. SIGPLAN '82 Symp. Compiler Construction, SIGPLAN Notices 17, 6 (June 1982), 216–229.CrossRefGoogle Scholar
  3. [CIF82]
    Clinger, W., Friedman, D. P., and Wand, M. A scheme for a higher-level semantic algebra. US-French Seminar on the Application of Algebra to Language Definition and Compilation, Fontainebleau, France, June 1982.Google Scholar
  4. [Gan80]
    Ganapathi, M. Retargetable code generation and optimization using attribute grammars. Ph. D. Thesis, Tech. Rep. 406, Computer Science Department, University of Wisconsin-Madison, 1980.Google Scholar
  5. [GlG78]
    Glanville, R. S., and Graham, S. A new method for compiler code generation. Conf. Rec. 5th Ann. ACM Symp. Principles of Programming Languages, Tucson, AZ, Jan. 1978, 231–240.Google Scholar
  6. [Gor79]
    Gordon, M. J. C. The denotational description of programming languages: An introduction. Springer-Verlag, New York, 1979.Google Scholar
  7. [JoC82]
    Jones, N. D., and Christiansen, H. Control flow treatment in a simple semantics-directed compiler generator. Formal Description of Programming Concepts II, IFIP IC-2 Working Conference, North Holland, Amsterdam, 1982.Google Scholar
  8. [Lee87]
    Lee, P. The automatic generation of realistic compilers from high-level semantic descriptions. Ph. D. Dissertation, The University of Michigan, April 1987.Google Scholar
  9. [LeP86a]
    Lee, P., and Pleban, U. F. The automatic generation of realistic compilers from high-level semantic descriptions: A progress report. Technical Report CRL-TR-13-86, The University of Michigan Computing Research Laboratory, June 1986.Google Scholar
  10. [LeP86b]
    Lee, P., and Pleban, U. F. On the use of LISP in implementing denotational semantics. Proc. 1986 ACM Conf. LISP and Functional Programming, Cambridge, MA, August 1986, 233–248.Google Scholar
  11. [LeP87]
    Lee, P., and Pleban, U. F. A realistic compiler generator based on high-level semantics. Proc. 14th Annual ACM SIGACT/SIGPLAN Symposium on Principles of Programming Languages, Munich, W.-Germany, January 1987, 284–295.Google Scholar
  12. [MiS76]
    Milne, R. E., and Strachey, C. A theory of programming language semantics. Chapman and Hall, London, 1976.Google Scholar
  13. [Mil85]
    Milner, R. The standard ML core language. Polymorphism II, 2 (Oct. 1985).Google Scholar
  14. [MiP84]
    Milos, D., Pleban, U., and Loegel, G. Direct implementation of compiler specifications, or: The Pascal P-code compiler revisited. Conf. Rec. 11th Ann. Symp. Principles of Programming Languages, Salt Lake City, UT, January 1984, 196–207.Google Scholar
  15. [Mos79]
    Mosses, P. SIS—Semantics implementation system. Tech. Rep. DAIMI MD-30, Computer Science Dept., Aarhus Univ., Aug. 1979.Google Scholar
  16. [Mos82]
    Mosses, P. Abstract semantic algebras! In: D. Bjoerner (Ed.), Formal description of programming concepts II. North Holland, Amsterdam, 1982, 63–88.Google Scholar
  17. [Mos84]
    Mosses, P. A basic abstract semantic algebra. In: Semantics of data type, Lecture Notes in Computer Science, Vol. 173. Springer-Verlag, Berlin, 1984, 87–107.Google Scholar
  18. [Mos87]
    Mosses, P. Modularity in action semantics (Preliminary Version). Presented at a Workshop on Semantic Issues in Human and Computer Languages, Half Moon Bay, CA, March 1987.Google Scholar
  19. [MoW86a]
    Mosses, P., and Watt, D. A. The use of action semantics. Technical Report DAIMI PB-217, Aarhus University, Aarhus, Denmark, August 1986.Google Scholar
  20. [MoW86b]
    Mosses, P., and Watt, D. A. Pascal: Action semantics. Draft — Version 0.3). Computer Science Dept., Aarhus University, Aarhus, Denmark, Sept. 1986.Google Scholar
  21. [NiN86]
    Nielson, H. R., and Nielson, F. Semantics directed compiling for functional languages. Proc. 1986 ACM Conf. LISP and Functional Programming, 249–257.Google Scholar
  22. [Pau81]
    Paulson, L. A compiler generator for semantic grammars. Ph. D. Dissertation, Stanford University, December 1981.Google Scholar
  23. [Pau82]
    Paulson, L. A semantics-directed compiler generator. Conf. Rec. 9th Ann. ACM Symp. Principles of Programming Languages, Albuquerque, NM, Jan. 1982, 224–239.Google Scholar
  24. [Ple84a]
    Pleban, U. Formal semantics and compiler generation. In: Morgenbrod, H., and Sammer, W. (Eds.) Programmierumgebungen und Compiler. Teubner-Verlag, Stuttgart, 1984, 145–161.Google Scholar
  25. [Ple84b]
    Pleban, U. Compiler prototyping using formal semantics. Proc. SIGPLAN '84 Symp. Compiler Construction, SIGPLAN Notices 19, 6 (June 1984), 94–105.CrossRefGoogle Scholar
  26. [Roy86]
    Royer, V. Transformations of denotational semantics in semantics directed compiler generation. Proc. SIGPLAN '86 Symp. Compiler Construction, SIGPLAN Notices 21, 6 (June 1986), 68–73.CrossRefGoogle Scholar
  27. [Sch86]
    Schmidt, D. A. Denotational Semantics. Allyn & Bacon, 1986.Google Scholar
  28. [Set81]
    Sethi, R. Control flow aspects of semantics directed compiling. Tech. Rep. 98, Bell Labs., 1981; also in Proc. SIGPLAN '82 Symp. Compiler Construction, SIGPLAN Notices 17, 6 (June 1982), 245–260.CrossRefGoogle Scholar
  29. [Sto77]
    Stoy, J. E. Denotational semantics: The Scott-Strachey approach to programming language theory. MIT Press, Cambridge, 1977.Google Scholar
  30. [Wan82]
    Wand, M. Deriving target code as a representation of continuation semantics. ACM TOPLAS 4, 3 (July 1982), 496–517.CrossRefGoogle Scholar
  31. [Wan84]
    Wand, M. A semantic prototyping system. Proc. SIGPLAN '84 Symp. Compiler Construction, SIGPLAN Notices 19, 6 (June 1984), 213–221.Google Scholar
  32. [Wat82]
    Watt, D. A. Modular language definitions. Rep. CSC/82/R3, Computing Science Department, University of Glasgow, Oct. 1982.Google Scholar
  33. [Wat84]
    Watt, D. A. Executable semantic descriptions. Rep. CSC/84/R2, Computing Science Department, University of Glasgow, Oct. 1984; also Software-Practice and Experience 16, 1 (Jan. 1986), 13–43.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Uwe F. Pleban
    • 1
  • Peter Lee
    • 2
  1. 1.PhiloSoft and The University of MichiganAnn Arbor
  2. 2.Computer Science DepartmentCarnegie Mellon UniversityPittsburgh

Personalised recommendations