1.0 KiB
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.
I will be using Javascript and Typescript as reference implementation language. This is not required. I'd highly recommend you try to implement the concepts in another language, so that you understand the concepts, not just copy the source code.
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.