[分享] shecc - 可自我編譯的簡化 C 編譯器實作
為了課程需求,我用兩千餘行 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
推
09/22 02:56,
5年前
, 1F
09/22 02:56, 1F
推
09/22 12:02,
5年前
, 2F
09/22 12:02, 2F
推
09/22 12:36,
5年前
, 3F
09/22 12:36, 3F
→
09/22 19:20,
5年前
, 4F
09/22 19:20, 4F
推
09/23 04:30,
5年前
, 5F
09/23 04:30, 5F
推
09/23 04:32,
5年前
, 6F
09/23 04:32, 6F
推
09/23 23:47,
5年前
, 7F
09/23 23:47, 7F
推
09/25 10:11,
5年前
, 8F
09/25 10:11, 8F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):