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

2021-07-09 02:34:52 字數 2183 閱讀 9745

1,關於文法

乙個文法g可以抽象的分為四元組(vn,vt,p,s)

vn表示非終結符 vt表示終結符 p表示產生式 s表示開始符

2,老師上課說的編譯原理的階段說的是:詞法分析,語法分析,語義分析,中間**生成,**優化,目標**生成

其中語法分析,語義分析,中間**生成稱為語法制導翻譯

語義分析,中間**生成稱為語義翻譯

3,喬姆斯基創造了文法,克林創造了自動機,其實這兩種東西是等價的

4,優化可生成「執行時間段且儲存空間小的**」

5,如何判斷文法是不是二義文法

對乙個串進行識別,判斷其是否能夠分出兩個串

已知文法 g[s] 為 s → asb|sb|b ,試證明文法 g[s] 為二義文法。

證明:    

由文法g[s]:s→asb|sb|b,對句子aabbbb對應的兩棵語法樹為:

6,如果文法g是無二義性的,那麼它對應的最左推導和最右推導對應的語法樹必定相同

7,構造編譯程式應該掌握:源程式,目標語言,編譯方法

8,兩個正規式等價說的是兩個正規式所識別的語言集相等

9,計算機執行用高階語言編寫的程式主要有:解釋編譯

10,自上而下分析法操作 (自己想)

11,題型:消除左遞迴,提取公因子

解題方法:

很好想,左遞迴就套公式,用乙個臨時變數解決,提取公因子就用提取公因子,換乙個新變數出來

例題:

考慮文法 g[s]:

s → (t) | a+s | a

t → t,s | s

消除文法的左遞迴及提取公共左因子。

解:消除文法g[s]的左遞迴:

s→(t) | a+s | a

t→st′

t′→,st′| ε

提取公共左因子:

s→(t) | as′

s′→+s | ε

t→st′

t′→,st′| ε

12,幾個填空題

詞法分析輸入:源程式 輸出:單詞符號

語法分析輸入:單詞符號 輸出:語法單位

語法分析的方法大致分為:自上而下分析法 + 自下而上分析法(現在我還沒看)

**分析使用**分析表+符號棧聯合控制

最右推導規範推導!最右推導就是從右邊開始推?哦了?

根據優化所設計的範圍,可把優化分為:區域性優化迴圈優化全域性優化

優化的定義:對程式進行各種變換,使的從變換後的程式出發,能夠產生更高效的**

文法g含有終結符的句型成為句子

自上而下分析法: 從開始符號開始推,推出句子 (句子為下)

自下而上分析法:從句子開始逐步歸約,直到歸約到開始符

目標**的形式:機器語言,組合語言,待裝配機器語言模組

**考慮問題:(1)生成目標**短 (2)減少訪問記憶體(3)考慮到計算機指令系統的特點

display表巢狀層次顯示表

作用:登記外層每個活動的最新的起始位址

13,幾個填空題:

13.1編譯程式首先要識別出源程式中每個(單詞),然後分析每個(句子)並翻譯其含義

13.2通常把分析前端和綜合後端兩大階段,詞法,語法和語義分析是對源程式的(分析),中間**生成,**優化,目標**生成是對源程式的(綜合)

13.3程式語言的發展帶來了日漸多變的執行時儲存管理方案,主要分為(靜態儲存分配) + (動態儲存分配)

13.4對於編譯程式而言,輸入資料是(源程式),輸出結果是(目標程式

編譯原理華工期末複習筆記

理解流程 nfa轉dfa 理解流程 五求輸出狀態集合的空閉包 得到輸出狀態等價類 重複直至無新的等價類出現 收斂 4.繪製狀態機圖dfa 技巧dfa最小化 理解反證法 初始假設全部都為乙個等價類,窮舉證明,利用反例來逐步劃分等價類流程否 如果有則把其影響到的狀態一併移除。此操作有級聯效應。得到收斂的...

編譯原理 複習

1 什麼叫編譯程式 高階語言 翻譯為 目標語言 組合語言或機器語言 2 編譯程式的6個階段 1 詞法分析 簡單理解就是掃瞄,很傻瓜式地由頭到尾掃瞄源程式,識別出 單詞 輸出結果是二元組,即 單詞總別,值 2 語法分析 根據語法規則將單詞符號串行分解成各類語法單位,如 表示式 語句 程式 3 語義分析...

編譯原理複習

介紹編譯原理,了解乙個新的領域,得去了解它的整體框架 語法分析 語義分析 語法制導翻譯 中間 生成 生成彙編 生成優化 執行彙編 3位址或4位址 的彙編執行 1.根據語言寫出文法產生式 2.構造與某一正規式等價自小dfa dfa deterministic finite automation 確定有...