編譯原理期末刷題總結

2021-10-23 20:09:26 字數 2528 閱讀 1417

編譯原理刷題總結。考前防止遺忘。

編譯程式是一種翻譯程式程式轉換的方法有編譯和解釋為某種語言構造乙個編譯程式,必須掌握三方面的內容為:源語言、目標語言、編譯方法對於編譯程式而言、輸入資料是源程式、輸出結果是目標**。源程式中的兩類錯誤為語義錯誤和**錯誤。編譯程式對於c語言程式進行語義分析時可以確定變數是否定義或宣告,詞法分析器不能發現括號不匹配。語法分析器可以發現源程式的語法錯誤。

通常乙個編譯程式不僅包含詞法分析、語法分析、語義分析、中間**生產、**優化、目標**生產等五個部分,還應包含**【**管理和出錯管理】。**

定義乙個程式的意義的是**【語義規則】**

詞法分析器又稱掃瞄器,詞法分析器的任務是識別單詞,掃瞄器的最小語法單元是單詞。**生產階段的主要任務是把中間**變換成依賴具體機器的目標**。編譯器常用的語法分析方法是自底向上和自頂向下兩種採用自下而上構造語法分析時不需要消除文法的左遞迴,自上而下不必消除右遞迴。

執行時儲存方案分為兩大類,即靜態儲存分配方案和動態儲存方案。動態分配記憶體的方法有堆式和棧式,動態申請需要用堆。

程式所需的資料空間在程式執行前就可以確定,稱為靜態儲存管理技術靜態分配允許程式出現靜態變數在編譯方法中、動態儲存分配的含義是 在執行階段為源程式中的陣列變數引數等進行分配。定義乙個程式的意義的是語義規則高階語言語言所用的詞法規則是正規式

****

語言文法

語言是句子的集合

推導產生的為句型,最終推導的為句子,

文法 g產生的句子的全體是文法描述的語言

乙個句型中成為控制代碼的是該句型的最左直接短語

若文法g定義的語言是無限集、則文法必然是遞迴的。

乙個文法所表述的語言是惟一的

乙個屬性文法包含乙個上下文無關文法和一系列語義規則。

乙個上下文無關文法g包括四個組成部分,一組非終結符號、一組終結符號、乙個開始符號、以及一組產生式正規文法是左線性文法和右線性文法的統稱。

文法g產生的非終結符的全體是該文法描述的語言

文法g所描述的語言是由文法的開始符號推出所有終結串的集合。如果文法g是無二義的,則它的任何劇組α有最左推導和最右推導對應的語法樹必定相同

產生正規語言的文法為3型

二義文法是上下文無關法。

兩個有限自動機等價是指他們的所識別的語言相等文法符合的語義屬性有本質屬性和綜合屬性(綜合屬性和繼承屬性)終結符具有綜合屬性

非終結符具有綜合屬性,也可以有繼承屬性。

文法中終結符和非終結符的交集是空集。

名字是具有確切的語義屬性。

語法分析中first和fellow都是終結符集合

變數應當即持有左值又持有右值

在規範規約中、刻畫可規約串的是**控制代碼 **

自底向上的分析中,總是採用最左歸約的方式,因此把最左歸約稱為規範歸約,而最右推導相應地稱為規範推導(規範規約也可指最右推導的逆過程)

常用的中間**形式為:三元式、四元式、逆波蘭式(無語法樹)

在lr分析法中,分析棧中存放的狀態是識別規範句型活字首的dfa狀態

最簡dfa的特點是1.沒有多餘的狀態,2.只有乙個中間態。

語法分析中算符優先分析適用於表示式的分析。

lr(0) < slr(1)乙個lr(1)文法合併同心集後若不是lalr(1)則可能產生歸約歸約衝突

lr核心分析表由action和goto表組成action是以終結符和結束符$作為列座標。goto是以非終結符作為列座標自上而下不包括移進。自下而上不包括展開。自頂向下的語法分析中分析的關鍵是選擇候選式。自底向上的關鍵是尋找控制代碼。自上而下的語法分析中應從文法開始符號開始

在控制流翻譯中,布林表示式被翻譯為由跳轉指令構成的跳轉** 正確

在跳轉**中邏輯運算子被翻譯為跳轉指令。

「編譯原理」期末試卷 客觀題

答案在部落格末尾 10道單選題,10道判斷題,每題5分,共100分,答題時間90分鐘,一次答題機會!倒計時 01 22 38 單選 5分 語法分析器的主要功能是 單選 5分 喬姆斯基把文法分為四種型別,即0型 1型 2型 3型,其中3型文法是 單選 5分 以下關於dfa描述錯誤的是 單選 5分 已知...

編譯原理 編譯原理期末複習1

1,關於文法 乙個文法g可以抽象的分為四元組 vn,vt,p,s vn表示非終結符 vt表示終結符 p表示產生式 s表示開始符 2,老師上課說的編譯原理的階段說的是 詞法分析,語法分析,語義分析,中間 生成,優化,目標 生成 其中語法分析,語義分析,中間 生成稱為語法制導翻譯 語義分析,中間 生成稱...

編譯原理期末考點

題型 單選5個 10分 填空10個 20分 簡答2個 10分 解答9個 60分 最後3題,每個10分 目錄 第一章第二章 第三章 第四章第五章 第六章什麼是編譯程式 把某一種高階語言程式等價的轉換成另一種低階語言的程式 翻譯程式有哪兩種 編譯和解釋程式 編譯的6個過程,自己的作用 任務 中間 逆波蘭...