所以我一直在学习堆栈机器、解释器、编译器以及与编程语言及其一般理论相关的其他一些东西。我在书本和网上找到的大部分内容都非常专业,并且都在谈论一个特定的话题,例如。解释器,没有提及它与其他主题的关系,例如部分评价者。有没有很好的初学者资源来探索解释器、编译器和部分评估器之间的互连?好的资源我的意思是解释理论和具体实现的东西。我对这些东西了解得越多,我在日常工作中看到的地方就越多,知道如何应用所有这些东西,但缺乏对初学者友好的资源有点令人沮丧。
最佳答案
同时使用解释器、编译器和部分评估器的项目是 Truffle with Graal。你在 Java Truffle 框架中实现了一个 AST 解释器,JIT 编译器 Graal 编译它。它的特殊之处在于,Truffle 语言实现应该专门针对与当前执行相对应的实际语义的子集。如果之前的执行假设无效,Graal 只会为这个专门的子集生成机器代码并取消优化。该框架还通过所有 AST 执行方法内联,这是一种局部评估形式。你可以找到several papers在线或直接查看code .
关于compiler-construction - 解释器、部分评估器和编译器的理论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21544859/