有没有更现代的OO版本的“让我们构建一个编译器”?[已关闭]
有没有一个更现代的,也许是面向对象的,相当于杰克·克伦肖(Jack Crenshaw)的“让我们构建编译器”系列?
不久前,我偶然发现了“让我们构建一个编译器”,并且无法抗拒编写一些代码。我用C#编写了一个递归下降C编译器,输出.NET CIL。“写一次,到处漏”是我的口号。
太糟糕了,我直到为时已晚才意识到解析C是一场噩梦。
我现在有兴趣用Java编写一个Java编译器,该编译器输出.NET CIL或程序集,目标是自引导。我希望可能会有一些更新的教程。
顺便说一句,你会花更多的时间在前期设计上,还是只是编写大量的测试来支持无情重构的能力。回想起来,我倾向于后者。编译器工作正常,但代码真的很糟糕。