Предположим, что целью назначения является написание компилятора, который работает на подмножестве языка C (вы можете предполагать подмножество любого языка, просто поддерживая базовую выразительность сценариев, не имея сложных вещей в качестве объектов).
Какой промежуточный код можно использовать для проверки правильности компилятора? Я разговаривал с профессором, и он говорил о том, что он не знал, что дать своим ученикам в качестве виртуальной машины для «скомпилированного кода», поэтому я подумал, что может быть хорошим решением.
Subset of C -> Compiler -> Code? -> VM
в котором код может быть либо в двоичном формате, либо лучше в формате ASCII (что-то вроде псевдо-ассемблера).
Я ищу что-то уже сделанное, не то, как структурировать этот промежуточный код и виртуальную машину, а просто и просто, готовое для использования для тестирования некоторых скомпилированных программ.