Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yinwang0/yscheme
A compiler from Scheme into X64
https://github.com/yinwang0/yscheme
Last synced: 5 days ago
JSON representation
A compiler from Scheme into X64
- Host: GitHub
- URL: https://github.com/yinwang0/yscheme
- Owner: yinwang0
- Created: 2014-05-10T19:37:53.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-05-11T06:14:28.000Z (over 10 years ago)
- Last Synced: 2024-08-01T22:54:32.681Z (3 months ago)
- Language: Scheme
- Homepage:
- Size: 162 KB
- Stars: 187
- Watchers: 11
- Forks: 117
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# YScheme - an experimental compiler for Scheme
This is the final submission for a compiler course I took from Kent Dybvig at Indiana
University. The compiler compiles a significant subset of Scheme into X64
assembly and then links it with a runtime system written in C. I made attempts
to simplify and innovate the compiler, so it is quite different from Kent's
original design.In Kent's words, I put myself into trouble each week by doing things differently
and then get myself out of it. Sometimes I did better than his compiler,
sometimes, worse. But eventually I passed all his tests and got an A+.A notable thing of this compiler is its use of _high-order evaluation contexts_,
an advanced technique used in CPS
transformers, which resulted sometimes in much simpler and shorter code.### Copyright
Copyright (c) 2008-2014 Yin Wang, All rights reserved
Only the main compiler code is here. I don't have copyright of the rest of the
code (test framework, runtime system etc)### References
For a history of the important compiler techniques contained in this compiler,
please refer to Kent's paper:The Development of Chez
SchemeFor details of the compiler framework developed for the course, please refer to
For more information about CPS transformation, please refer to Andrew Appel's
book:and Danvy and Filinski's paper
Representing control: a study of the CPS transformation (1992)