DISCLAIMER: This is the course material and our group's implementation of a Scheme compiler for Professor Norman Ramsey's CS106: Virtual Machines and Language Translation. Credit for all course material and boilerplate code go to Professor Ramsey.
This is the student-facing code repository for CS 106: Simple Virtual Machines and Language Translation.
The repo is intended to be cloned and edited. If your git skills
are limited, no problem! You mainly need to know git clone to get
your own copy, git commit to save your own work, and git pull
to get updates. You can also use these resources:
-
If you're quite new to
git, I recommend The Git Parable by Tom Preston-Werner. This introduction focuses on problems thatgitis meant to solve. -
Git Magic by Ben Lynn is a fine tutorial.
-
If you use Emacs, Magit by Jonas Bernoulli is the best interface---it blows everything else out of the water.
In the repository, you'll find these directories:
-
binholds compiled binaries and also scripts. Add it to your$PATH. -
buildis a holding area for compiled files (.oand that ilk). If you are having trouble compiling, it is safe to remove everything from it and start over. -
srccontains sources that I provide and that you'll edit:src/vschemecontains source code for avschemeinterpreter. Use it for testing and experimentation.src/svmcontains starter source code for your Simple Virtual Machine.src/uftcontains starter source code for your Universal Forward Translator.