You will implement a small programming language.
The implementation is broken down into a sequence of stages, with a discussion of how to complete each state.
The first stage is intended as a warmup, although it will figure into the stages that follow it.
Read the language description, and get going on the first stage as soon as you are ready.