Writing a Scheme to x86 compiler by following Abdulaziz Ghuloum's "An Incremental Approach to Compiler Construction".
This also takes a lot of inspiration from namin/inc and the Let's Build a Compiler series of blog posts.
The best way to get an up-to-date overview of the supported features is to look
into the ./src/tests/
folder.
But in terms of Ghuloum's paper: the compiler here implements most of the functionality (except some macro expansions and functions) described in the sections up to and including "3.18 Apply".
- Linux (I use a Docker container on macOS for that)
- Chez Scheme
docker build -t scheme_x86 . && \
docker run -it -v $(pwd):/code scheme_x86 -c 'cd /code/src/ && make test'
Running a single test is possible by specifying the filename:
TEST=test-unary-primitives make test