Index of /users/moore/acl2/v3-0/distrib/acl2-sources/books/workshops/1999/compiler
Name Last modified Size Description
Parent Directory -
Makefile 20-Sep-2004 20:24 587
compiler.lisp 16-Apr-2000 11:04 60K
evaluator.lisp 19-Jan-2004 16:28 22K
exercises.lisp 16-Apr-2000 08:50 14K
machine.lisp 15-Sep-2003 11:46 18K
proof.lisp 15-Sep-2003 11:48 41K
proof1.lisp 10-Apr-2001 22:34 16K
;;===========================================================================
;; Copyright (C) 1999 Institut fuer Informatik, University of Kiel, Germany
;;===========================================================================
;; File: README
;; Author: Wolfgang Goerigk
;; Content: README for ACL2 Book Contribution
;; as of: 12/04/00, University of Kiel, Germany
;;---------------------------------------------------------------------------
;; $Revision: 1.1 $
;; $Id: README,v 1.1 2000/04/16 12:09:36 wg Exp wg $
;;===========================================================================
The series of ACL2 books in this directory goes with the article
"Wolfgang Goerigk: Compiler Verification Revisited" as part of the
book "Computer Aided Reasoning: ACL2 Case Studies" edited by Matt
Kaufmann, Pete Manolios and J Strother Moore.
======================================================================
This distribution contains the following files:
- REAME ; this file
- machine.lisp ; the TL machine formalization
- compiler.lisp ; the SL (miniComLisp) to TL compiler
- exercises.lisp ; solutions to the exercises from the paper
- evaluator.lisp ; the SL semantics
- proof1.lisp ; part 1 of the compiler correctness proof
- proof.lisp ; part 2 of the compiler correctness proof
On a Unix system, you can certify the books by typing make, if this
directory is under books/case-studies/ in an ACL2 distribution.
Otherwise, In order to use the ACL2 scripts, you should certify the
book "machine". Start ACL2 in this directory and type
(certify-book "machine" 0 t)
You may then step through the other scripts or certify them as well
(using a similar command, see below).
----------------------------------------------------------------------
TL Machine and SL to TL Compiler:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
o "machine"
o "compiler" (includes the book "machine")
define the TL Machine (see "machine.lisp") and the SL to TL Compiler
(see "compiler.lisp"). The machine formalization must be compiled
using (certify-book "machine" 0 t), or equivalently, (certify-book
"machine"), before you process the events in compiler or any of the
other scripts below (since they include the machine book).
Solutions to the Exercises
~~~~~~~~~~~~~~~~~~~~~~~~~~
o "exercises" (includes the book "compiler")
gives solutions to the exercises from the article and some additional
stuff.
SL Semantics and Compiler Correctness Proof
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
o "evaluator" (includes the book "compiler")
o "proof1" (includes the book "evaluator")
o "proof.lisp" (includes the book "proof1")
The books "proof1" and "proof" (in that order) prove the SL to TL
compiler correct with respect to the SL semantics (as defined in
"evaluator.lisp") and the machine semantics.
If you certify these books, you will find ACL2 complain about some
missing guard verification, but you may just ignore the warnings. If
you certify the books, you should (1) certify "machine", then (2)
certify "compiler", then (3) "evaluator", then (4) "proof1", and
finally you may also certify "proof". You may step through the proofs
as well, but "machine" must be compiled.