虚拟机编程的资源

时间:2012-04-11 15:26:03

标签: vm-implementation

我是C的初学者(稍微多一点)程序员。我对虚拟机领域非常感兴趣 - JVM,Google V8,Erlang VM,PyPy等。

我的问题是:

  • 我需要了解/学习能够构建虚拟机的事物(语言,概念,算法,数学等)是什么?
  • 任何有用的书籍或其他资源

1 个答案:

答案 0 :(得分:4)

这个话题本身并不容易。

首先,您需要了解一些有关解析的知识。因为您必须学习如何解析和运行语言。在大多数情况下,它会像C#的MIL一样简单。

首先要阅读的是SCIP “计算机程序的结构和解释,第二版” 本书提供了有关构建语言解释器时所需主题的知识。这是你必须要开始的基础。

接下来是硬核:

1)龙书: “编译器:原理,技术和工具(第2版)” Aho,Seti,Ullman

2)“编译器设计:虚拟机” Reinhard Wilhelm,Helmut Seidl

3)“反编译Java” 戈弗雷诺兰

我个人没有时间阅读第三个。根据我自己的经验,我知道你必须牺牲大量的时间才能生产出一些半得体的东西。

祝你好运