是否有更现代的,可能是面向对象的,相当于Jack Crenshaw的“ Let's Build a Compiler ”系列?
不久前,我偶然发现了“ 让我们构建一个编译器 ”,并且无法抗拒编写一些代码。 我在C#中编写了一个递归下降的C编译器,输出.NET CIL。 “写一次,到处泄漏”是我的口号。
太糟糕了,直到太晚才发现解析C是一场噩梦。
我现在有兴趣用Java编写一个Java编译器,它输出.NET CIL或程序集,目的是自引导。 我希望可能会有更新的教程。
另外,您是否会花更多时间进行前期设计,或者只是编写大量测试来支持无情重构的能力。 回想起来,我倾向于后者。 编译器工作但代码非常糟糕。