摘要:不少考生在備考2022下半年軟件設(shè)計(jì)師考試,希賽小編為大家整理了2022下半年軟件設(shè)計(jì)師知識(shí)點(diǎn):編譯與解釋,希望對(duì)大家備考有幫助。
為幫助考生備考軟考軟件設(shè)計(jì)師考試,希賽小編為大家整理了2022下半年軟件設(shè)計(jì)師知識(shí)點(diǎn):編譯與解釋,相信對(duì)大家備考會(huì)有幫助。
編譯與解釋(★★★)
【考法分析】
1、本知識(shí)點(diǎn)的考查形式主要有:給出編譯與解釋相關(guān)的描述,判斷正誤;給出編譯各個(gè)階段的描述,判斷正誤。
【要點(diǎn)分析】
1、解釋程序,也稱解釋器;直接解釋執(zhí)行源程序,或者將源程序翻譯成某種中間代碼后再加以執(zhí)行。
2、編譯程序,也稱編譯器;將源程序翻譯成目標(biāo)語(yǔ)言程序,然后再計(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ù)是對(duì)源程序從前到后(從左到右)逐個(gè)字符掃描,從中識(shí)別出一個(gè)個(gè)“單詞”符號(hào)。詞法分析過程的依據(jù)是語(yǔ)言的詞法規(guī)則,即描述“單詞”結(jié)構(gòu)的規(guī)則。
詞法錯(cuò)誤:非法字符,關(guān)鍵字或標(biāo)識(shí)符拼寫錯(cuò)誤。
(2)語(yǔ)法分析階段:其任務(wù)是在詞法分析的基礎(chǔ)上,根據(jù)語(yǔ)言的語(yǔ)法規(guī)則將單詞符號(hào)序列分解成各類語(yǔ)法單位。通常語(yǔ)法分析是確定整個(gè)輸入串是否構(gòu)成一個(gè)語(yǔ)法上正確的程序。一般來說,通過編譯的程序,不存在語(yǔ)法上的錯(cuò)誤。
語(yǔ)法錯(cuò)誤:語(yǔ)法結(jié)構(gòu)出錯(cuò),if endif不匹配,缺分號(hào)。
(3)語(yǔ)義分析階段:其任務(wù)主要檢查源程序是否包含靜態(tài)語(yǔ)義錯(cuò)誤(動(dòng)態(tài)語(yǔ)義錯(cuò)誤在執(zhí)行過程中才能發(fā)現(xiàn)),并收集類型信息供后面的代碼生成階段使用。語(yǔ)義分析的一個(gè)主要工作是進(jìn)行類型分析和檢查。
語(yǔ)義錯(cuò)誤:死循環(huán),零除數(shù),其它邏輯錯(cuò)誤。
(4)中間代碼生成:其任務(wù)是根據(jù)語(yǔ)義分析的輸出生成中間代碼。此階段不是必須的。常見的中間代碼有:樹、后綴式、三地址碼(四元式)。
(5)代碼優(yōu)化:其任務(wù)是優(yōu)化中間代碼。此階段不是必須的。
(6)目標(biāo)代碼生成:是編譯器工作的最后一個(gè)階段。其任務(wù)是把中間代碼變換成特定機(jī)器上的絕對(duì)指令代碼、可重定位的指令代碼或匯編指令代碼。本階段與具體機(jī)器密切相關(guān)。
(7)符號(hào)表的作用是記錄源程序中各個(gè)符號(hào)的必要信息,以輔助語(yǔ)義的正確性檢查和代碼生成,在編譯過程中需要對(duì)符號(hào)表進(jìn)行快速有效地查找、插入、修改和刪除等操作。符號(hào)表的存在可以貫穿編譯所有階段。
【備考點(diǎn)撥】
1、掌握編譯與解釋的區(qū)別;
2、掌握編譯器的工作過程。
軟考備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬(wàn)道題
已有25.02萬(wàn)小伙伴參與做題