本記事では、コンパイラ構築に興味がある方向けに、CIS531という大学院レベルの授業を通じて、5つのプロジェクトを提案しています。このコースでは、Racket言語を用いてx86-64アセンブリ言語へと変換するコンパイラを段階的に構築します。プロジェクトは、変数の代入、整数演算、入出力処理、条件分岐、ループ、関数などの機能を含んだ言語を実装することを目指しています。プロジェクトは、基礎から始まり、最終的に関数や再帰、ラムダ式を取り扱う言語に進化します。この過程で、プログラミング言語の多様性を学びながら、実践的なスキルを身につけることができます。また、プロジェクトには包括的なテストスイートが用意されており、実装の正確性を検証するための挑戦が盛り込まれています。