割り当ての目的が、C言語のサブセットで動作するコンパイラーを作成することであるとします(オブジェクトとして複雑なものを持たずに、基本的なスクリプト表現力をサポートするだけで、任意の言語のサブセットを想定できます)。
コンパイラの正しさを検証するために、どのような種類の中間コードを使用できますか?私は教授と話していましたが、彼は「コンパイルされたコード」に使用されるVMとして学生に何を与えるべきかわからなかったという事実について話しました。そのため、どちらが良い解決策になるのか疑問に思いました。
Subset of C -> Compiler -> Code? -> VM
このコードは、バイナリ形式またはASCII形式(疑似asmなど)のいずれかである可能性があります。
この中間コードとVMを構造化する方法ではなく、コンパイル済みプログラムのテストに使用できる簡単でシンプルなものを探しています。