天天看點

【軟體設計師】程式設計語言與語言處理程式!(第八章)

​​ 點選報名後領取>>>軟考16本電子版教材 & 36本輔導教材 + 27套曆年真題試卷 + 21套精編知識點6G資料包​​

第8章:程式設計語言與語言處理程式基礎

【考點梳理】

考點1、編譯與解釋(★★★)

【考法分析】

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

【要點分析】

1、解釋程式,也稱解釋器;直接解釋執行源程式,或者将源程式翻譯成某種中間代碼後再加以執行。

2、編譯程式,也稱編譯器;将源程式翻譯成目智語言程式,然後再計算機上運作目标程式。

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

4、編譯過程:

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

詞法錯誤:非法字元,關鍵字或辨別符拼寫錯誤。

(2)文法分析階段:其任務是在詞法分析的基礎上,根據語言的文法規則将單詞符号序列分解成各類文法機關。通常文法分析是确定整個輸入串是否構成一個文法上正确的程式。一般來說,通過編譯的程式,不存在文法上的錯誤。

文法錯誤:文法結構出錯,if endif不比對,缺分号。

(3)語義分析階段:其任務主要檢查源程式是否包含靜态語義錯誤(動态語義錯誤在執行過程中才能發現),并收集類型資訊供後面的代碼生成階段使用。語義分析的一個主要工作是進行類型分析和檢查。

語義錯誤:死循環,零除數,其它邏輯錯誤。

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

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

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

【軟體設計師】程式設計語言與語言處理程式!(第八章)

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

【備考點撥】

1、掌握編譯與解釋的差別;

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

【軟體設計師】程式設計語言與語言處理程式!(第八章)

考點2、文法(★★)

【考法分析】

1、本知識點的主要考查方式有:給出一些概念的描述判斷正誤;給出一個文法的描述,判斷能夠識别的字元串。

【要點分析】

1、文法相關的概念:一個形式文法是一個有序四元組G=(V,T,S,P),其中:

1)V:非終結符。不是語言組成部分,不是最終結果,可了解為占位符。

2)T:終結符。是語言的組成部分,是最終結果。 VT=

3)S:起始符。是語言的開始符号。

4)P:産生式。用終結符替代非終結符的規則。形如α→β

2、文法的分類:

【軟體設計師】程式設計語言與語言處理程式!(第八章)

注:常見的程式設計語言一般是上下文無關文法。

3、文法與文法樹的推導:

例:文法G=({a, b}, {S, A}, S, P),其中:S→aAS|a;A→SbA|SS|ba。請構造句型aabAa的推導樹。

S → aAS; S → a; A → SbA;A → SS; A → ba。

【軟體設計師】程式設計語言與語言處理程式!(第八章)

【備考點撥】

1、掌握文法相關的概念和分類、對應的自動機;

2、掌握文法推導樹。

考點3、正規式(★★★★)

文章源于網絡,如有侵權,請私信文章标題聯系删除,謝謝。

為了能讓更多人享受軟考的政策福利和現實功利,51CTO旗下軟考教研團隊聯合薛大龍老師,認真嚴肅向大家推出軟考2日直播特訓營。

掃碼入群0元領取6G的軟考6資料包+2天軟考特訓營名額

軟考資料包括:軟考16本電子版教材 & 36本輔導教材 + 27套曆年真題試卷 + 21套精編知識點6G資料包​

【軟體設計師】程式設計語言與語言處理程式!(第八章)

軟考訓練營名額+資料領取方式>>>

掃下方碼入群後按照老師的要求操作即可領取。

51CTO軟考兩天直播訓練營

這門課恰好能夠為你答疑解惑,助你快速入門并掌握軟考知識要點,獲得技能提升。為自己的職業發展規劃制定一個更明确的規劃,邁出升職加薪的第一步。

訓練營周期為 兩天直播課 晚8:00-9:00

心急的小夥伴可直接掃碼解鎖。

☟☟☟

2天軟考直播特訓營

3大必備技能

↓↓↓

限時 0 元 即可解鎖

點選下方連結報名

僅限前100個名額

報名連結: ​ ​​https://edu.51cto.com/surl=oR9sp3​​​

課程涵蓋:高分知識點梳理,案例分析解題方法、論文通用模闆等。我們力争通過2天的直播課程,助力您快速入門并一次性通關軟考!

如果你對這門課程還不太了解的話,就跟我一起往下看吧。

我們的主講老師薛大龍老師,深耕軟考教育教育訓練20餘年,主編出版軟考輔導教材60餘本,非常熟悉軟考題目的要求、難度、以及判卷标準。

【軟體設計師】程式設計語言與語言處理程式!(第八章)

完成本體驗營2天所有課程及作業考核,學員将掌握資訊系統項目管理師、系統內建項目管理工程師的高頻考點及答題技巧:

①掌握資訊系統項目管理師知識體系;

②掌握考試高分占比知識領域;

③掌握考試考情前沿分析;

④掌握論文與案例超幹貨答題方法;

⑤掌握名師對真題的獨到解析。

【軟體設計師】程式設計語言與語言處理程式!(第八章)

報名前,你還需要知道的3件事

1)課程形式

直播課程+社群學習活動

2)課程時間

報名後老師安排上課 晚8:00-9:00

3)報名後要做什麼?

付費後根據提示添加學姐為好友,開營前學姐會統一拉人入群。

2天軟考考證特訓營

0 元 解鎖課程

還可 領取「6G課程資料」