解释器、部分求值器和编译器的理论

3

我一直在学习关于堆栈机、解释器、编译器和其他与编程语言及其一般理论相关的事情。大部分书籍和在线资源都是非常专业化的,只涉及一个特定主题,例如解释器,并没有提及它与其他主题(如部分求值器)的关系。是否有任何适合初学者的好资源来探究解释器、编译器和部分求值器之间的相互关系?对于好的资源,我的意思是既能解释理论又能提供具体实现。随着我对这些知识的了解愈加深入,我越来越发现它们在日常工作中的应用之处,但缺少适合初学者的资源有点让人不爽。

1个回答

8

使用解释器、编译器和部分求值器的一个项目是Truffle with Graal。在Java Truffle框架中实现AST解释器,JIT编译器Graal对其进行编译。特别之处在于,Truffle语言实现应该专门针对与当前执行相对应的实际语义子集进行优化。Graal仅为此专门子集生成机器代码,并在先前的执行假设无效时进行去优化。该框架还通过所有AST执行方法进行内联,这是一种部分求值形式。您可以在线找到几篇论文或直接查看代码


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接