編譯原理課程總結 第3章

2021-08-18 06:38:13 字數 1993 閱讀 2471

詞法分析器:

詞法分析器的功能和輸出形式:關鍵字,識別符號,常數,運算子,界符

單詞符號的識別:

超前搜尋:在單詞識別的過程中,通過向前多讀幾個符號的形式,準確的進行單詞的識別。一旦確定識別到的單詞之後,需要進行掃瞄指標的回退,保證單詞識別工作的順利進行

直接分析法:根據讀來的第乙個字元的種類分別轉到各種子程式處理。這些子程式功能就是識別以相應字元開頭的各種單詞。

狀態轉換圖法:一張有限方向圖,識別(接受)一定的符號串(單詞)

狀態轉換圖的結構

①結點:代表狀態,用圓圈表示

②箭弧:狀態之間用箭弧連線

③箭弧上的標記:代表在射出節點下可能出現的字元或字串

正規表示式與有限自動機:

(1)ε和φ是∑上的正規式,它們所表示的正規集分別為和φ

(2)任何a∈∑,是∑上的乙個正規式,他所表示的正規集為

(3)假定u和v都是∑上的正規式,他們所表示的正規集分別記為l(u)和l(v),那麼

(a) (u|v)是正規式,所表示的正規集為l(u)∪l(v)

(b) (uv)是正規式,所表示的正規集為l(u) · l(v)(連線積)

(c) (u)*是正規式,所表示的正規集為 (l(u))*(閉包)

僅由有限次使用(1)(2)(3)所得到的表示式才是∑上的正規式,僅由這些正規式所表示的字集才是∑上的正規集。

設u,v,w是上的∑正規式,則

(1) u | v = v | u或的交換律

(2) u | ( v|w ) = ( u|v ) | w或的結合律

(3) u ( vw ) = ( uv ) w連線積的結合律

(4) u ( v | w ) = ( uv ) | ( uw )分配律

( v | w ) u = vu | wu

(5) εu = uε = u

確定的有限自動機:乙個確定有限自動機(dfa)m是乙個五元式:

m = (s, ∑, f, s0, f),其中

s是乙個有限的狀態集合,它的每個元素我們稱為乙個狀態

∑是乙個有窮的輸入符號的字母表,它的每個元素我們稱為乙個輸入字元

f是從 s×∑ →s的單值部分對映

s0是s的乙個元素,為初始狀態,它是唯一的

狀態集合f是終止狀態的集合,它是s的子集(可空)

非確定的有限自動機(nfa):

f是從s×∑*→2s 的部分對映,其中,2s表示s的冪集合(所有s的子集組成的集合)(f是非單值的m是非確定)

狀態集合s0是初始狀態集合,它是s的子集

其他的和上述確定的有限自動機一樣

有限自動機的等價

對任何兩個有限的自動機m1和m2,若有l(m1)=l(m2),則稱m1與m2等價。

化簡dfa的一般步驟:

(1) 檢查狀態轉換函式是否為全函式。

所謂全函式,是指每個狀態對每個輸入符號都有轉換

若不是全函式,可以引入乙個「死狀態」d,d對所有輸入符號都轉換到d,如果狀態s對輸入符號a沒有轉換,那麼加上從s到d的a轉換。

(2) 用化簡演算法進行化簡

(3) 去掉死狀態

部分習題:

個人總結:我感覺狀態轉換圖和有限自動機是這章的重中之重,課下要好好看看這片兒的內容。有難度,重在理解吧。還是要預習複習,憑課上那點時間學不透也消化不了,只能說要努力。

編譯原理課程總結

編譯原理是計算機 專業的一門重要專業課,介紹編譯程式構造的一般原理和基本方法。編譯程式是把高階語言寫成的源程式經過翻譯轉化成面向機器的 編譯程式的工作主要分為五個階段,包括詞法分析 語法分析 語義分析和中間 生成 優化和目標 生成。詞法分析的主要任務是輸入源程式,對構成源程式的字串進行掃瞄和分解,識...

編譯原理課程總結

首先我對次次考試做乙個總結,這次的試題對於我而言有些偏難,第一在於題量有點多,而且我也問了幾個同學,能夠做完的不多。第二就是難度有點高。舉個例子而言,我會求乙個式子的逆波蘭式,也會有乙個式子的規範規約,但是把他倆一結合就懵了。還有就是最後的那個大題,原本以為它會出乙個slr演算法的題目,沒想到出的簡...

編譯原理課程總結

經過一學期的學習,對於編譯原理也算是有了深入的了解。其實經過三年的對程式設計的學習,對編譯原理也不算是太陌生,大體還是有個了解的,但是其操作原理是什麼,用了什麼技術對程式進行識別和處理,是沒有接觸過的。學習完編譯原理,知道了從詞法分析到語法分析到中間 的處理和優化再到目標 的生成,當然其中還有很多技...