写编译器重点就是设计并实现一些数据结构和算法,语言特点太多的话,代码写起来不容易,建议你找一个小语言尝试下,不要一开始就去尝试成熟语言。否则你会在写完语法分析程序以后,遭遇到很大的困难。多数人都是在写语义分析程序的时候,突然发现自己设计的数据结构很烂,后边越写越要命。如果你想入门编译...
哦哦,实习期刚用java写了一个类似javacc的编译器(只包括词法分析语法分析,不含代码生成等),之前没...
我不赞同入门者从GCC或LLVM的源代码开始。这几个都是工业级别的产品,代码庞大,尤其是GCC的中间层设计相当复杂且混乱,阅读效果并不好(我自己大学时的印象,GCC 3.3.3,现在不知道好些了没有)。如果把讨论范围限定在C语言编写的C编译器,那么我强烈推荐bellard.org/tcc/。公开源代码,且兼容GCC语法,代码量也很少,适合...
中间语言mir,代码精简,内部也有一个实现的c语言编译器。
推荐一本日语书,特别适合从零开始写 C 语言编译器:低レイヤを知りたい人のためのCコンパイラ作...