The Topics Covered in Compilers
In my course I am focussing on students (really) understanding where compilers are coming from, both conceptually and as an engineering technique. This is the gradual refinement from Evaluation to Interpretation to Compilation (abstract machine) to Compilation (native code).
- Parsing (with menhir)
- Evaluation: the simple imperative language
- Evaluation: functions
- Optimisation by partial evaluation