Experience with an experimental compiler generator based on denotational semantics

  • Authors:
  • James Bodwin;Laurette Bradley;Kohji Kanda;Diane Litle;Uwe Pleban

  • Affiliations:
  • Department of Computer and Communication Sciences, The University of Michigan, Ann Arbor, MI;Department of Computer and Communication Sciences, The University of Michigan, Ann Arbor, MI;Department of Computer and Communication Sciences, The University of Michigan, Ann Arbor, MI;Department of Computer and Communication Sciences, The University of Michigan, Ann Arbor, MI;Department of Computer and Communication Sciences, The University of Michigan, Ann Arbor, MI

  • Venue:
  • SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
  • Year:
  • 1982

Quantified Score

Hi-index 0.00

Visualization

Abstract

Compiler generation based on formal semantics has received considerable attention in recent years from a number of semanticists. Compiler writers, on the other hand, know relatively little about these efforts. This paper tries to remedy this situation by discussing our experimentation with the Semantics Implementation System (SIS) of Peter Mosses. SIS allows the user to generate a complete compiler from a formal specification of the syntax and semantics of a programming language. In particular, the translator component of a compiler is obtained by directly implementing a denotational semantics. Consequently, a compiler is expressed as a higher order function. A program is compiled by formally applying the compiler to a tree representation of the program and simplifying this application. The experimentation with SIS indicates that compiler generation based on denotational semantics is feasible, though not yet viable. We argue that SIS constitutes an important first step toward the automatic construction of provably correct, complete, and reasonably efficient compilers from formal syntactic and semantic specifications.