All Projects → carld → compiler-tutorial

carld / compiler-tutorial

Licence: other
Incremental Compiler paper by Abdulaziz Ghuloum, using Chez scheme, Nasm, x86_64 for OSX

Programming Languages

scheme
763 projects
c
50402 projects - #5 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to compiler-tutorial

Animach
Scheme语言实现和运行时环境 / A Scheme runtime & implementation
Stars: ✭ 45 (+9.76%)
Mutual labels:  scheme-interpreter, scheme-compiler
JSchemeMin
A small scheme implementation in java
Stars: ✭ 22 (-46.34%)
Mutual labels:  scheme-interpreter
peroxide
Scheme in Rust
Stars: ✭ 14 (-65.85%)
Mutual labels:  scheme-interpreter
genyris
Genyris presents a new programming paradigm. Objects can belong to multiple classes independent from construction allowing data to be classified into types after creation.
Stars: ✭ 14 (-65.85%)
Mutual labels:  scheme-interpreter
abap scheme
ABAP Scheme
Stars: ✭ 13 (-68.29%)
Mutual labels:  scheme-interpreter
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
compile-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 runtime.c file that you
should have written.

The tests-driver is written for [Petite] Chez Scheme 7.  You can
obtain a copy of Petite Chez Scheme from:
  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 <[email protected]>
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].