南山烟雨珠江潮的回答
学编译器用C吧,资源比较多,例如著名的c4 c compiler对新手非常友好,只有4个函数,所以名字叫C4,代码也只有500行以内,很多初学者都以它作为入门参考的首选,稍微懂点编译原理的人,抄一遍它的代码,就学会了。
C4还有一个特性就是可以编译它自己,就是说,它实现的是C语言的子集,但是自己也用这个子集编写而成。
gcc -o c4 c4.c
./c4 hello.c
./c4 -s hello.c
./c4 c4.c hello.c // 编译自己
./c4 c4.c c4.c hello.c
c4已经有9000多star,地址在:
https://github.com/rswier/c4参考c4实现的简易编译器并附带详细的中文文档,也有几千star:
https://github.com/lotabout/write-a-C-interpreter这一系列的文章写得不错,转载的人很多,当然也的确是非常优秀的学习资源,任何新手看了都会收获巨大:
加上了中文注释的c4:
https://github.com/comzyh/c4英文系列教程可以看这个链接:
https://norasandler.com/archive/相关内容