我真的很想体验使用C构建编译器,词法分析器等的经验,但是我没有找到创建一个资源的单一资源。我已经阅读了有关使用Ruby创建自己的语言的书,但它只讨论了C是最好的选择,并且不会告诉你从那里去哪里。
他们使用C构建语言有什么好的资源吗?我不在乎它有多久,我只是想知道如何建立一个。
答案 0 :(得分:3)
关于编译器/解释器的一个好处是它们编写的语言并不重要。在最后阶段,它们只是某人机器上的可执行文件。
在编写我的编译器时(我正在做的事情),我曾经使用了几本非常有帮助的书:
Wirth书将引导您完成为名为Oberon-0的语言创建编译器的所有阶段。它还有完成编译器的完整源代码,因此您可以在自己的机器上使用它。编译器本身是用Pascal编写的(Wirth创建的其他东西)。
龙书在C中有非常好的信息和例子!这可能是你正在寻找的,但正如我上面所说,编写编译器的语言并不是那么重要。