當前位置:首頁 » 編程軟體 » 編譯原理怎麼看是終態和初態

編譯原理怎麼看是終態和初態

發布時間: 2024-09-15 09:24:02

『壹』 編譯原理搜索符的問題

從初態開始,(S':=.S,# ) ,初態的核心項目的搜索符為#號,這是定的,然後擴充初態,就是把所有的(S:=. αβ,# )加進去,若α為一個非終結符,假設為A,則把(A:= .γ)加進去,A:= .γ的搜索符為 FIRST(β#),就是說若β為空,則為原來S的搜索符,若β不為空,則為β的首終結符。繼續擴γ,一直到初態不能擴充為止。goto時,核心項目的搜索符是繼承過來的。
例子,若某狀態的核心項目為(A:=α.Bβ,a),則把項目(B:= .γ,FIRST(βa))加進去。

『貳』 編譯原理,如何判斷一個FA是DFA還是NFA

第一個是NFA 第二個是DFA
主要區別
1)DFA沒有輸入空串之上的轉換動作;
2)對於DFA,一個特定的符號輸入,有且只能得到一個狀態,而NFA就有可能得到一個狀態集;

『叄』 對給定的正規式b(a|b)*aa,構造其NFA M,並將其確定化。

表示方法:五元組(S,Z,f,S0,z)

S:狀態集

Z:字母表

f:映射關系

s0:初態

z:終態

(2)確定有限自動機DFA:f為單值映射

(3)非確定有限自動機NFA:f為多值映射

(4)狀態轉換圖和狀態轉換矩陣

(3)編譯原理怎麼看是終態和初態擴展閱讀

假定DFAMd=({s0,s1,s2},{a,b},f,s0,{s2}):

f:

f(s0,a)=s1f(s0,b)=s2

f(s1,a)=s1f(s1,b)=s2

f(s2,a)=s2f(s2,b)=s1

試著給出Md的狀態轉換圖和狀態轉換矩陣。

狀態轉換矩陣如下

ab

s0s1s2

s1s1s2

s2s2s1

熱點內容
七七源碼 發布:2024-11-24 22:47:20 瀏覽:676
請訪問其他頁面 發布:2024-11-24 22:46:09 瀏覽:555
愛丟了編程 發布:2024-11-24 22:32:36 瀏覽:109
linux分割行 發布:2024-11-24 22:11:02 瀏覽:577
獲取ftp文件 發布:2024-11-24 21:54:20 瀏覽:521
資源平滑演算法 發布:2024-11-24 21:54:18 瀏覽:58
vs和vc編譯器哪個好使 發布:2024-11-24 21:54:07 瀏覽:805
愛課程適用於什麼安卓系統 發布:2024-11-24 21:54:02 瀏覽:39
51單片機編譯 發布:2024-11-24 21:50:05 瀏覽:367
android常用的工具類 發布:2024-11-24 21:42:25 瀏覽:49