2

我真的很想体验一下使用 C 构建编译器、词法分析器等的经验,但是我还没有找到创建一个的单一资源。我已经阅读了关于使用 Ruby 创建自己的语言的书,但它只是讨论了 C 是最佳选择,并没有告诉你从那里去哪里

他们有什么好的资源来使用 C 构建语言吗?我不在乎它有多长,我只想知道如何建造一个。

4

1 回答 1

3

编译器/解释器的优点之一是它们用什么语言编写并不重要。在最后阶段,它们将只是某人机器上的可执行文件。

话虽如此,在编写我的编译器(我目前正在做的事情)时,我已经使用了几本非常有帮助的书:

  1. Niklaus Wirth 的编译器构建
  2. Jeffrey Ullman、Alfred Aho、Ravi Sethi 的编译器原理、技术和工具

Wirth 书将引导您完成为一种称为 Oberon-0 的语言创建编译器的所有阶段。它还包含他完成的编译器的完整源代码,因此您可以在自己的机器上使用它。编译器本身是用 Pascal 编写的(Wirth 创建的其他东西)。

Dragon Book 在 C 语言中提供了非常好的信息和示例!这可能是您正在寻找的,但正如我上面所说,您编写编译器所用的语言并不是那么重要。

于 2013-01-09T16:12:56.847 回答