如何編寫編譯器/編譯流水線
外觀
< 如何編寫編譯器
接受原始檔,分析它並生成目標檔案的任務可以粗略地分為若干個獨立的步驟。這些步驟被組織成一個流水線,每個步驟都在上一步的輸出上工作,並生成下一個步驟的輸入。這被稱為編譯流水線,在每個編譯器中都以某種形式存在。
對於接受高階語言並生成低階語言程式碼的通用編譯器,編譯流水線的步驟將是
- 掃描
- 解析
- 語義分析
- 生成中間語言
- 程式碼最佳化
- 生成目標語言
根據語言的要求,編譯器在每個步驟中可能做更多或更少的工作,也可能完全跳過某些步驟。
接受原始檔,分析它並生成目標檔案的任務可以粗略地分為若干個獨立的步驟。這些步驟被組織成一個流水線,每個步驟都在上一步的輸出上工作,並生成下一個步驟的輸入。這被稱為編譯流水線,在每個編譯器中都以某種形式存在。
對於接受高階語言並生成低階語言程式碼的通用編譯器,編譯流水線的步驟將是
根據語言的要求,編譯器在每個步驟中可能做更多或更少的工作,也可能完全跳過某些步驟。