編譯過程一般分爲6步: 掃描(詞法分析)、語法分析、語義分析、源代碼優化、代碼生成和目標代碼優化,每個過程所做的事情及輸出總結如下:
步驟 | 做的事情或輸出 |
掃描(詞法分析) | 將源代碼的字符序列分割成一系列記號 |
語法分析 | 對記號進行語法分析,產生語法樹 |
語義分析 | 編譯期間用的是靜態語義分析,對語法樹的表達式標記類型 |
源代碼優化 | 將一些可以確定的東西先確定下來,生成中間語言 |
代碼生成和目標代碼優化 | 代碼生成器將中間代碼轉成目標機器代碼,因爲目標機器 有不同的字長、寄存器、整數數據類型等。 |