803 B
Introduction
This course will walk you through how to build a interpreter/compiler.
The first chapter will show how to make a simple polish notation calculator. The latter chapters will show how to specify and implement a complete programming language.
Exercises
You should attempt and should be able to do all exercises not marked *.
Exercises marked * are a bit harder, meaning they take more time. They don't require deeper theoretical knowledge. These are optional, if you're just following along.
Exercises marked ** are hard and take a lot more effort and often require deeper theoretical knowledge. These are not required, and I'd recommend not spending time on these, unless you have a good idea of how to solve them and want to spent a significant amount of time solving them.