wan*_*now 7 compiler-construction interpreter build-process programming-languages
我可以构建自己的解释器,然后可以转换为编译器吗?如果是,我该如何建造呢?
Jör*_*tag 11
这被称为第二Futamura投影.它首先由Yoshihiko Futamura教授在其1971年的论文"计算过程的部分评估 - 编译器 - 编译器的方法"(日语)中首次描述,其英文版本在28年后重新发布.
它使用部分评估,通过部分评估部分评估器本身相对于解释器,从而产生编译器.
因此,您需要两个成分:用于目标语言的解释器,用某种宿主语言编写(可能与目标语言可能相同或不同),以及能够同时评估解释器和本身的部分求值器,换句话说,它需要部分评估宿主语言,它本身需要用它可以评估的宿主语言编写.