作者jserv (松鼠)
看板CompilerDev
标题[分享] shecc - 可自我编译的简化 C 编译器实作
时间Sun Sep 20 22:05:04 2020
为了课程需求,我用两千余行 C 程式展示一套简化的 C 编译器是如何开发,专案名称
是 shecc,寓意为 self-hosting and educational C compiler,以 BSD 2 clause
license 释出,请见:
https://github.com/jserv/shecc
特徵:
1. 产生符合 Linux ELF 规范的 32 位元 Arm 执行档 (针对 Armv7-A 架构);
2. 提供最小化的 C 标准函式库实作;
3. 交叉编译器以 C 语言(子集合) 撰写,可在绝大多数的平台 bootstrap;
4. 从 C 语言解析到 Arm 机械码输出都有涵盖,不依赖其他工具;
5. 原始程式码简洁又好懂,适合当教具;
6. 实作二阶段编译:C -> IR -> Arm machine code
欢迎测试和提交程式码改进。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.116.246.163 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/CompilerDev/M.1600610706.A.C88.html
1F:推 enthos: 推 09/22 02:56
2F:推 catcatcatcat: 推推推 09/22 12:02
3F:推 Sirctal: 不是妈祖牌吗? 09/22 12:36
5F:推 mshockwave: 推! 09/23 04:30
6F:推 mshockwave: 既然都有IR了有没有想过加一些优化啊? 09/23 04:32
7F:推 decheng: 推呀! 09/23 23:47
8F:推 superddk: 推 推爆 09/25 10:11