compiler-construction - 构建您自己的可以作为编译器的解释器

标签 compiler-construction programming-languages build-process interpreter

我可以构建自己的解释器,然后将其转换为编译器吗?如果是,我该如何构建它?

最佳答案

这被称为第二次二村投影。它首先由 Prof. Yoshihiko Futamura 描述在他 1971 年的论文 Partial Evaluation of Computation Process – An approach to a Compiler-Compiler (Japanese) , English version其中28年后重新出版。
它使用 Partial Evaluation ,通过相对于解释器部分评估部分评估器本身,从而产生编译器。
因此,您需要两个要素:一个用某种宿主语言(可能与目标语言相同也可能不同)编写的目标语言的解释器和一个能够评估解释器和它本身的部分评估器,换句话说,它需要部分评估宿主语言,并且它本身需要用它可以评估的宿主语言编写。

关于compiler-construction - 构建您自己的可以作为编译器的解释器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2637278/

相关文章:

c - C 中全局/局部变量的内存对齐

c# - 在 VB.NET 中制作 NotInheritable 类是否提供与 C# 中密封的相同(潜在)编译器优化?

汇编中的 C++ 类函数

linux - 构建自定义小型 TCPDUMP 可执行文件,大小为 100 到 300KB

build-process - 如何设置 rpmbuild 每次调用的构建区域

python - 编译器 : How to parse function calls and function definitions

programming-languages - 首先必须将项目编程为业余爱好

python - 有没有类似 Python 的编程语言,具有自愿静态类型?

clojure - 怎么包含?在 Clojure 工作中?

performance - 有什么方法可以改善构建/编译时间?