In this chapter, we will build four projects of increasing complexity, listed as follows:
- The first project (calc_parser) will just be a syntax checker for the Calc language. Actually, it is just a parser, followed by a formatted debugging print of the parsing result.
- The second project (calc_analyzer) uses the parsing result of the first project to add the verification of the consistency of the variable declarations and of their usage, followed by a formatted debugging print of the analysis result.
- The third project (calc_interpreter) uses the analysis result to execute the preprocessed code, in an interactive interpreter.
- The fourth project (calc_compiler) uses the analysis result again to translate the preprocessed code into equivalent Rust code.