编译器学习方法与路线

不要上来就妄想通读龙书或者其它大部头著作。先从简单开始。

理论基础的学习建议看视频学习。本人是在哔哩哔哩上,看哈工大美女老师的课程学的。

非要看龙书,从第二版第2章,"一个简单的语法制导翻译器"开始。不要看后面其它章节。反复读,反复思考。最好自己写点代码实践一下,把基础夯实。这一章学完,对编译器就有谱了。其它章节可以视为某个细分领域或阶段的深入。第2章学懂了,看其它章节就没有"虚浮"的感觉。

如果自己对写代码没有思路,或者想参考一下别人的成果,不要上来就干LLVM、GCC。几百万行代码,伤不起。建议参考一个相对简单的C编译器——ucc编译器。这个编译器,一万多行代码就搞定了,能完成自举,还有一次为基础的教材。简直是学习利器,值得强力安利。

自制编译器正式命名为qcc。

最近花时间学习了龙书的词法分析,用自制编译器支持的类python语言实现了一个DFA,用于匹配正则表达式。这是自动词法分析的基础。搞完之后词法分析算是通透了。

目前正在学习语法分析。已经看到自顶向下的语法分析。计划依此理论实现一个自动语法分析器。后面还有自底向上的语法分析没看。

ucc链接:GitHub - sheisc/ucc162.3: A lightweight open-source C compiler for research and education.

内含pdf教材。

我本人正在学习和编(抄)写的一个编译器:p4c-pc: P4语言编译器

目前还处于初级阶段。编写过程记录在我的另一个帖子里:https://mp.csdn.net/mp_blog/creation/editor/130257671

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值