# 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.