先建設NFA?
確定0 1 x A A A A A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B B?
將AB重命名為b。
DFA最小化?
首先,我們得到兩個子集K1?=?{1,2,3}?然後呢。K2?=?{4}。?
考察K1:因為{1,2,3}a?=?{1,2,4} K1,也是K2,因此K1可能需要除法。
又是因為{1,3}a?=?{2},{1,3}b?=?{3},
因此原始狀態集被分為以下子集:K11={2},K12 = {1,3}。?
目前子集為:K11={2},K12 = {1,3},K2?=?{4}。?
調查k 12: {1,3} a?=?{2}K1,{1,3}b?=?{3}?K1,所以K1不能被整除。
擴展數據
詞法分析的條件
1輸入緩沖器
成對和半互補輸入緩沖模式。
n:取2的整次方;在每個半區的末尾設置標誌“eof”以指示讀入該半區的源程序的結束;
b:單詞w的開始指針;f:掃描w的指針;
兩個緩沖器的輸入模式
2.預處理程序:(功能)
1)減少內存空間占用;
2)減輕掃描器的實質性處理負擔;
3.預處理程序的主要任務:?
1)過濾掉非單詞成分(如無用空格;換行等。);
2)其他預處理工作:過濾掉評論;宏替換;嵌入包含在文件中;條件編譯的嵌入。