compiler-construction - 解释器、部分评估器和编译器的理论

标签 compiler-construction interpreter computation-theory compiler-theory stack-machine

所以我一直在学习堆栈机器、解释器、编译器以及与编程语言及其一般理论相关的其他一些东西。我在书本和网上找到的大部分内容都非常专业,并且都在谈论一个特定的话题,例如。解释器,没有提及它与其他主题的关系,例如部分评价者。有没有很好的初学者资源来探索解释器、编译器和部分评估器之间的互连?好的资源我的意思是解释理论和具体实现的东西。我对这些东西了解得越多,我在日常工作中看到的地方就越多,知道如何应用所有这些东西,但缺乏对初学者友好的资源有点令人沮丧。

最佳答案

同时使用解释器、编译器和部分评估器的项目是 Truffle with Graal。你在 Java Truffle 框架中实现了一个 AST 解释器,JIT 编译器 Graal 编译它。它的特殊之处在于,Truffle 语言实现应该专门针对与当前执行相对应的实际语义的子集。如果之前的执行假设无效,Graal 只会为这个专门的子集生成机器代码并取消优化。该框架还通过所有 AST 执行方法内联,这是一种局部评估形式。你可以找到several papers在线或直接查看code .

关于compiler-construction - 解释器、部分评估器和编译器的理论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21544859/

相关文章:

haskell - 在 Haskell 中实现按值调用 lambda 演算

python - 将一台设备上的计算时间转换到另一台设备上的正确方法是什么?

eclipse - Eclipse不编译任何项目中的更改

java - 有关编译时和运行时依赖性及其解决方案的问题吗?

javascript - 有没有开源的 JavaScript 解释器?

computer-science - 递归和递归可枚举语言有什么区别

algorithm - 这是什么意思 "In the RAM model of computation, instructions are executed one after another with no concurrent operations"

Haskell GHC : what is the time complexity of a pattern match with N constructors?

c++ - 如何验证 LLVM "ret"指令是否返回无效?

c - 有没有办法在 C switch 语句中使用指针?