編譯原理——第三章

第三章   詞法分析

知識總結:

1、詞法分析器的基本知識(任務、構造、基本要求)


2、狀態轉換圖(表示與構造)

示例:


3、正規式與正規集(定義與正規式性質與等價性)

正規式等價性:若兩個正規式U,V所表示的正規集相同,則兩者等價

4、有限自動機(DFA與NFA)

DFA定義:一個確定有限自動機(DFA)M是一個五元式:M = (S, ∑, f, s0, F)

NFA定義 :一個非確定有限自動機(NFA)M是一個五元式M = (S, ∑, f, S0, F)

區別:

DFA:f是從 S×∑ →S的單值部分映射

NFA:f是從S×∑*→2S 的部分映射,其中,2S表示S的冪集合(所有S的子集組成的集合)(f是非單值的->M是非確定)

狀態集合

表示:矩陣表示與狀態圖表示

***5、正規表達式與有限自動機

等價性:

定理1:對於任何∑上NFA M都可構造一個∑上的正規式V,使得  L(V) = L(M) 

其中,L(M)是∑上NFA M所能識別的字的全體L(V)是∑上的正規集

由NFA M構造正規表達式V

方法:
(1)在M轉換圖上加進X結點和Y結點,從X結點用弧ε連接M的所有初態結點,M的所有終態結點用弧ε連接到Y,得到一個NFA M’,且L(M) = L(M’)

(2)使用替換規則逐步消去M’的所有結點,直到只剩下X結點和Y結點,在消去過程中,逐步使用正規式來標記箭弧


定理2. 對於∑上的每一個正規式V,存在一個∑上的DFA M,使得L(M) = L(V) 

由正規式V構造DFA M(***重點***)

方法:

1.根據V,構造一個NFA M’,使得L(M’) = L(V)

       (利用替換規則)

2.將M’確定化,變爲DFA M

       (涉及到兩個定義)

     

      

        3.化簡DFA M

        

知識應用:









                                                                  

應用:正規式轉換DFA

第一步:構造正規式相應的NFA  M’,得到狀態轉換圖


第二步:利用子集法將M’確定化


(J集合變化過程)


第三步:把每個子集看成一個狀態,得到一個DFA M


第四步:用狀態轉換圖表示


第五步:化簡DFA




總結:

     這一章學習起來感覺內容有些晦澀難懂,很多知識不理解,都是通過看例題才能明白說的什麼。我認爲這一章最重點的一部分是由正規式構造DFA,步驟繁瑣,理解後真正做起來並不是很難,但是需要很仔細。總之還是需要多練習鞏固知識。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章