程序執(zhí)行的方式
- 先編譯后執(zhí)行
- 邊解釋邊執(zhí)行
編譯過程
- 識別單詞(拼寫正確
- 語法檢查(順序格式
- 語義理解(合理
- 組織譯文(符合原文
工作邏輯
- 分析階段
- 詞法分析
- 語法分析
- 語義分析
- 綜合階段
- 中間代碼生成
- 目標代碼生成
- 優(yōu)化
詞法分析
- 分析字符序列
- 識別單詞:種別、屬性
- 查詞法錯誤
- 標識符等級
語法分析
- 分析單詞序列
- 識別語法結構
- 查語法錯誤
-
構造分析樹
image.png
語義分析
-
確認標識符的屬性
- 類型、作用域等
-
語義檢查
運算的合法性、取值范圍等
比如字符串+數(shù)字
-
子程序的靜態(tài)綁定
- 代碼存儲的相對地址
-
變量的靜態(tài)綁定
- 數(shù)據(jù)存儲的相對地址
生成中間代碼
-
中間語言
機器無關
易于優(yōu)化與轉換
image.png
代碼優(yōu)化

image.png
目標代碼生成
-
中間代碼——>目標機的機器指令代碼或匯編代碼
image.png
編譯程序的邏輯過程

image.png


