[分享] shecc - 可自我編譯的簡化 C 編譯器實作

看板CompilerDev作者 (松鼠)時間5年前 (2020/09/20 22:05), 編輯推噓7(701)
留言8則, 7人參與, 5年前最新討論串1/3 (看更多)
為了課程需求,我用兩千餘行 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
既然都有IR了有沒有想過加一些優化啊?
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
文章代碼(AID): #1VPs6Io8 (CompilerDev)
文章代碼(AID): #1VPs6Io8 (CompilerDev)