詞匯分析
編譯過程的第壹階段是詞法分析,其任務是逐字掃描源程序,識別每個單詞符號。在詞法分析的過程中,我們是基於語言的詞法規則,也就是描述詞的結構的規則。
語法分析
語法分析階段的任務是在詞法分析的基礎上,根據語言的語法規則,將單詞符號序列分解成各種語法單元。通常,解析的目的是確定整個輸入字符串是否構成語法正確的程序。
語義分析
語義分析階段的任務主要是檢查源程序是否包含靜態語義錯誤,為後期代碼生成階段收集類型信息。語義分析的壹個重要任務是分析和檢查類型。
中間代碼生成
中間代碼生成階段的任務是根據語義分析的輸出生成中間代碼。中間代碼是介於源代碼和目標代碼之間的壹種代碼,可以進壹步優化轉換成目標代碼。
目標代碼生成
目標代碼生成階段是編譯器工作的最後階段。它的任務是在特定的機器上將中間代碼轉換成絕對指令代碼、可重定位指令代碼或匯編指令代碼。這個階段與具體機器密切相關。