最好的语言。C/C++, Java, 和 Ruby.
我正在寻找一些关于如何编写自己的编译器的有用的书籍/教程,只是为了教育目的。我对C/C++、Java和Ruby最为熟悉,所以我更喜欢涉及这三者之一的资源,但任何好的资源都可以接受。
我同意龙书的提法;在我看来,它是编译器结构的权威指南。不过,请准备好接受一些硬核理论。
如果你想要一本理论性更强的书,Game Scripting Mastery可能是一本更适合你的书。如果你是一个完全的编译器理论新手,它提供了一个更温和的介绍。它没有涵盖更实用的解析方法(选择了非预测性递归下降法,而没有讨论LL或LR解析),而且我记得,它甚至没有讨论任何一种优化理论。另外,它不是编译成机器码,而是编译成一个字节码,应该在你编写的虚拟机上运行。
这本书仍然是一本不错的读物,特别是如果你能在亚马逊上以低廉的价格买到它。如果你只想轻松地了解编译器,《游戏脚本大师》是一个不错的选择。如果你想在前面走得更远,那么你应该满足于比《龙之书》更少的东西。
"Let's Build a Compiler"很不错,但它有点过时了。(我并不是说这使得它的有效性降低了一点点)。
或者看看SLANG。这与"Let's Build a Compiler"相似,但却是一个更好的资源,特别是对于初学者。它有一个PDF教程,采用7个步骤来教你编译器。添加quora的链接,因为它有所有SLANG的各种端口的链接,包括C++、Java和JS,还有python和java的解释器,最初是用C#和.NET平台编写的。