LISP and Symbolic Computation

, Volume 8, Issue 1–2, pp 111–182

The VLISP verified PreScheme compiler

  • Dino P. Oliva
  • John D. Ramsdell
  • Mitchell Wand
Article

DOI: 10.1007/BF01128408

Cite this article as:
Oliva, D.P., Ramsdell, J.D. & Wand, M. Lisp and Symbolic Computation (1995) 8: 111. doi:10.1007/BF01128408

Abstract

This paper describes a verified compiler for PreScheme, the implementation language for thevlisp run-time system. The compiler and proof were divided into three parts: A transformational front end that translates source text into a core language, a syntax-directed compiler that translates the core language into a combinator-based tree-manipulation language, and a linearizer that translates combinator code into code for an abstract stored-program machine with linear memory for both data and code. This factorization enabled different proof techniques to be used for the different phases of the compiler, and also allowed the generation of good code. Finally, the whole process was made possible by carefully defining the semantics ofvlisp PreScheme rather than just adopting Scheme's. We believe that the architecture of the compiler and its correctness proof can easily be applied to compilers for languages other than PreScheme.

Keywords

verified compiler 

Copyright information

© Kluwer Academic Publishers 1995

Authors and Affiliations

  • Dino P. Oliva
    • 1
  • John D. Ramsdell
    • 2
  • Mitchell Wand
    • 1
  1. 1.College of Computer ScienceNortheastern UniversityBoston
  2. 2.The MITRE CorporationBedford

Personalised recommendations