2022下半年軟件設(shè)計(jì)師知識點(diǎn):編譯與解釋

軟件設(shè)計(jì)師 責(zé)任編輯:胡媛 2022-07-06

添加老師微信

備考咨詢

加我微信

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

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

編譯與解釋(★★★)

【考法分析】

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

【要點(diǎn)分析】

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

2、編譯程序,也稱編譯器;將源程序翻譯成目標(biāo)語言程序,然后再計(jì)算機(jī)上運(yùn)行目標(biāo)程序。

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

4、編譯過程:

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

詞法錯(cuò)誤:非法字符,關(guān)鍵字或標(biāo)識符拼寫錯(cuò)誤。

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

語法錯(cuò)誤:語法結(jié)構(gòu)出錯(cuò),if endif不匹配,缺分號。

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

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

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

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

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

image.png

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

【備考點(diǎn)撥】

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

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

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

軟考備考資料免費(fèi)領(lǐng)取

去領(lǐng)取

!
咨詢在線老師!