Skip to content

Commit

Permalink
Update README with quick instructions and markdown it
Browse files Browse the repository at this point in the history
  • Loading branch information
namin committed Nov 24, 2012
1 parent c65425e commit ae20694
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 62 deletions.
62 changes: 0 additions & 62 deletions src/README

This file was deleted.

78 changes: 78 additions & 0 deletions src/README.md
@@ -0,0 +1,78 @@
Inc: an incrementally developed compiler
=======================================

Setup instructions for Ubuntu x86
---------------------------------

- [Install Petite Chez Scheme](http://blog.acfoltzer.net/2011/01/installing-petite-chez-scheme-on-ubuntu/)
- `$ sudo apt-get install libc6-dev-i386`

Quick instructions to run all tests
-----------------------------------
$ petite compiler.scm
> (compile-lib) ;; just once
> (test-all) ;; run all the tests

Full original instructions
--------------------------

To run the tests, make sure that your compiler file is called
`compiler.scm`, and that at the top of that file, you have:
`(load "tests-driver.scm")` ; this should come first
`(load "tests-1.1-req.scm")` ; and any other test files you may have.

Also, make sure that your compiler defines the function
`emit-program` that takes an expression and uses `emit` to emit the
appropriate instructions.

The `tests-driver` defines the procedure `test-all` that will run all
the tests provided, get the output, redirect it to a file `stst.s`,
and invokes gcc on that file as well as the startup.c file that you
should have written, and the `lib.s` file that is generated from the
`compile-lib` thunk, which you'll need to call once and every time you
change the `emit-library` thunk, which you can define.

The tests-driver is written for [Petite] Chez Scheme 7. You can
obtain a copy of Petite Chez Scheme from:
[http://www.scheme.com](http://www.scheme.com)

The `tests-driver` also assumes that you have the GNU C compiler `gcc`
already setup and added to your pathname. How you do this depends
on your platform. If you have a different C compiler that you wish
to use, you can edit the `tests-driver` yourself (look for the
definition of the `build` procedure).

If all is well, then invoking `petite` on your compiler and typing
`(test-all)` should run all the tests as in the following sample
transcript.

$ petite compiler.scm
Petite Chez Scheme Version 7.0a
Copyright (c) 1985-2005 Cadence Research Systems

> (test-all)
test 0:#f ... ok
test 1:#t ... ok
test 2:() ... ok
test 3:0 ... ok
test 4:1 ... ok
test 5:-1 ... ok
test 6:2736 ... ok
test 7:-2736 ... ok
test 8:536870911 ... ok
test 9:-536870912 ... ok
test 10:#\nul ... ok
...
test 131:#\y ... ok
test 132:#\z ... ok
test 133:#\{ ... ok
test 134:#\| ... ok
test 135:#\} ... ok
test 136:#\~ ... ok
test 137:#\rubout ... ok
passed all 138 tests
>

Enjoy.

Abdulaziz Ghuloum <aghuloum@cs.indiana.edu>

0 comments on commit ae20694

Please sign in to comment.