2022下半年軟件設計師知識點:編譯與解釋

軟件設計師 責任編輯:胡媛 2022-07-06

添加老師微信

備考咨詢

加我微信

摘要:不少考生在備考2022下半年軟件設計師考試,希賽小編為大家整理了2022下半年軟件設計師知識點:編譯與解釋,希望對大家備考有幫助。

為幫助考生備考軟考軟件設計師考試,希賽小編為大家整理了2022下半年軟件設計師知識點:編譯與解釋,相信對大家備考會有幫助。

編譯與解釋(★★★)

【考法分析】

1、本知識點的考查形式主要有:給出編譯與解釋相關的描述,判斷正誤;給出編譯各個階段的描述,判斷正誤。

【要點分析】

1、解釋程序,也稱解釋器;直接解釋執(zhí)行源程序,或者將源程序翻譯成某種中間代碼后再加以執(zhí)行。

2、編譯程序,也稱編譯器;將源程序翻譯成目標語言程序,然后再計算機上運行目標程序。

3、兩者的根本區(qū)別:編譯方式下,機器上運行的是與源程序等價的目標程序,源程序和編譯程序都不再參與目標程序的執(zhí)行過程,因此執(zhí)行時效率較高;解釋方式下,解釋程序和源程序(或某種等價表示)要參與到程序的運行過程中,運行程序的控制權在解釋程序,邊解釋邊執(zhí)行,執(zhí)行效率較低。即:解釋方式,翻譯程序不生成獨立的目標程序,而編譯方式則生成獨立保持的目標程序。

4、編譯過程:

(1)詞法分析階段:是編譯過程的第一階段,其任務是對源程序從前到后(從左到右)逐個字符掃描,從中識別出一個個“單詞”符號。詞法分析過程的依據(jù)是語言的詞法規(guī)則,即描述“單詞”結構的規(guī)則。

詞法錯誤:非法字符,關鍵字或標識符拼寫錯誤。

(2)語法分析階段:其任務是在詞法分析的基礎上,根據(jù)語言的語法規(guī)則將單詞符號序列分解成各類語法單位。通常語法分析是確定整個輸入串是否構成一個語法上正確的程序。一般來說,通過編譯的程序,不存在語法上的錯誤。

語法錯誤:語法結構出錯,if endif不匹配,缺分號。

(3)語義分析階段:其任務主要檢查源程序是否包含靜態(tài)語義錯誤(動態(tài)語義錯誤在執(zhí)行過程中才能發(fā)現(xiàn)),并收集類型信息供后面的代碼生成階段使用。語義分析的一個主要工作是進行類型分析和檢查。

語義錯誤:死循環(huán),零除數(shù),其它邏輯錯誤。

(4)中間代碼生成:其任務是根據(jù)語義分析的輸出生成中間代碼。此階段不是必須的。常見的中間代碼有:樹、后綴式、三地址碼(四元式)。

(5)代碼優(yōu)化:其任務是優(yōu)化中間代碼。此階段不是必須的。

(6)目標代碼生成:是編譯器工作的最后一個階段。其任務是把中間代碼變換成特定機器上的絕對指令代碼、可重定位的指令代碼或匯編指令代碼。本階段與具體機器密切相關。

image.png

(7)符號表的作用是記錄源程序中各個符號的必要信息,以輔助語義的正確性檢查和代碼生成,在編譯過程中需要對符號表進行快速有效地查找、插入、修改和刪除等操作。符號表的存在可以貫穿編譯所有階段。

【備考點撥】

1、掌握編譯與解釋的區(qū)別;

2、掌握編譯器的工作過程。

試題練習:歷年真題每日一練  |  在線試題庫

備考資料:視頻課程學習資料  |  免費課程

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

軟考備考資料免費領取

去領取

!
咨詢在線老師!