CS 256: C++ Programming
The goal of this project was to write your own "programming language". You can compile the program using C++ or the Crazy Language. Additionally, there is an interactive mode which lets you type Crazy Language syntax and you can watch the modifications that happen.