口译员理论,部分评估员和编制者

时间:2014-02-04 05:47:23

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

所以我一直在学习堆栈机器,解释器,编译器以及与编程语言及其一般理论相关的一些其他内容。我在书籍和网上找到的大多数东西都非常专业,并且谈论一个特定主题,例如:口译员,没有提及它与其他主题的关系,例如部分评估员。是否有任何良好的初学者资源来探索解释器,编译器和部分评估器之间的互连?通过良好的资源,我的意思是解释理论和具体实施。我越了解这些东西,我在日常工作中看到的地方越多,所有这些都可以应用,但缺乏初学者友好资源有点无聊。

1 个答案:

答案 0 :(得分:8)

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