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