Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mrnugget/scheme_x86
Writing a Scheme to x86 compiler by following Abdulaziz Ghuloum's "An Incremental Approach to Compiler Construction"
https://github.com/mrnugget/scheme_x86
Last synced: 2 months ago
JSON representation
Writing a Scheme to x86 compiler by following Abdulaziz Ghuloum's "An Incremental Approach to Compiler Construction"
- Host: GitHub
- URL: https://github.com/mrnugget/scheme_x86
- Owner: mrnugget
- Created: 2019-07-31T05:02:10.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-11-23T16:44:30.000Z (about 5 years ago)
- Last Synced: 2024-08-03T22:06:29.275Z (6 months ago)
- Language: Scheme
- Size: 220 KB
- Stars: 72
- Watchers: 8
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-racket-and-scheme - scheme_x86
README
# scheme_x86
Writing a Scheme to x86 compiler by following [Abdulaziz Ghuloum's "An Incremental Approach to Compiler Construction"](http://lambda-the-ultimate.org/node/1752).
This also takes _a lot_ of inspiration from [namin/inc](https://github.com/namin/inc) and the [Let's Build a Compiler](https://generalproblem.net/lets_build_a_compiler/01-starting-out/) series of blog posts.
### Features
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".### Requirements
* Linux (I use a Docker container on macOS for that)
* Chez Scheme### Running the tests
```bash
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
```