天天看點

編譯過程

1.詞法分析: 對源程式從前到後逐個字元進行掃描,從中識别出一個個“單詞”符号。

2.文法分析:在詞法分析的基礎上,根據語言的文法規則将單詞符号序列分解成各類文法單元。通過文法分析,确定整個輸入串是否構成一個文法上正确的程式。

3.語義分析:語義分析是編譯過程的一個邏輯階段,語義是解釋控制資訊每個部分的意義,它規定了需要發出何種控制資訊,以及完成的動作與做出什麼樣的響應,此階段的任務是對結構上正确的源程式進行上下文有關性質的審查, 進行類型審查;收集類型資訊供後面的代碼生成階段使用

4.中間代碼生成: 根據語義分析的輸出生成中間代碼,這是一種簡單且含義明确的記号系統,與具體的機器無關。

5.代碼優化: 生成的中間代碼往往在時間和空間上有很大的浪費,對其優化,可生成高效的目标代碼。優化過程可在中間代碼生成階段進行,也可以在目标代碼生成階段進行。

6.目标代碼生成: 把中間代碼變換成特定機器上的絕對指令代碼、可重定位的指令代碼或彙編代碼。

郵箱:[email protected]

技術交流QQ群:1158377441