作者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://www.ptt.cc/bbs/CompilerDev/M.1600610706.A.C88.html
推 enthos: 推 09/22 02:56
推 catcatcatcat: 推推推 09/22 12:02
推 Sirctal: 不是媽祖牌嗎? 09/22 12:36
推 mshockwave: 推! 09/23 04:30
推 mshockwave: 既然都有IR了有沒有想過加一些優化啊? 09/23 04:32
推 decheng: 推呀! 09/23 23:47
推 superddk: 推 推爆 09/25 10:11