版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
LR分析器(SLR,規(guī)范的LR)4.6-4.7LR分析器(SLR,規(guī)范的LR)4.6-4.7SLRSLR4.5
LR分析器4.5.3構(gòu)造SLR分析表術(shù)語:LR(0)項目(簡稱項目)在右部的某個地方加點的產(chǎn)生式4.5LR分析器4.5.3構(gòu)造SLR分析表4.5
LR分析器4.5.3構(gòu)造SLR分析表術(shù)語:LR(0)項目(簡稱項目)在右部的某個地方加點的產(chǎn)生式加點的目的是用來表示分析過程中的狀態(tài)4.5LR分析器4.5.3構(gòu)造SLR分析表4.5
LR分析器4.5.3構(gòu)造SLR分析表術(shù)語:LR(0)項目(簡稱項目)在右部的某個地方加點的產(chǎn)生式加點的目的是用來表示分析過程中的狀態(tài)exprexpr+term
4.5LR分析器4.5.3構(gòu)造SLR分析表exprex4.5
LR分析器4.5.3構(gòu)造SLR分析表術(shù)語:LR(0)項目(簡稱項目)在右部的某個地方加點的產(chǎn)生式加點的目的是用來表示分析過程中的狀態(tài)exprexpr+term*termfactor
4.5LR分析器4.5.3構(gòu)造SLR分析表exprex4.5
LR分析器4.5.3構(gòu)造SLR分析表術(shù)語:LR(0)項目(簡稱項目)在右部的某個地方加點的產(chǎn)生式加點的目的是用來表示分析過程中的狀態(tài)exprexpr+term*termfactor
4.5LR分析器4.5.3構(gòu)造SLR分析表exprex4.5
LR分析器4.5.3構(gòu)造SLR分析表術(shù)語:LR(0)項目(簡稱項目)在右部的某個地方加點的產(chǎn)生式加點的目的是用來表示分析過程中的狀態(tài)例 A
XYZ對應(yīng)有四個項目
A
·XYZ A
X·YZ A
XY·Z A
XYZ·例 A
只有一個項目和它對應(yīng) A
·
4.5LR分析器4.5.3構(gòu)造SLR分析表4.5
LR分析器構(gòu)造SLR分析表的兩大步驟1、從文法構(gòu)造識別可行前綴的DFA2、從上述DFA構(gòu)造分析表4.5LR分析器構(gòu)造SLR分析表的兩大步驟4.5
LR分析器1、從文法構(gòu)造識別可行前綴的DFA
1)拓廣文法
E
E+T|T T
T
F|F F
(E)|id
4.5LR分析器1、從文法構(gòu)造識別可行前綴的DFA4.5
LR分析器1、從文法構(gòu)造識別可行前綴的DFA
1)拓廣文法
E
E
E
E+T|T T
T
F|F F
(E)|id
4.5LR分析器1、從文法構(gòu)造識別可行前綴的DFA4.5
LR分析器1、從文法構(gòu)造識別可行前綴的DFA 2)構(gòu)造LR(0)項目集規(guī)范族I0:
E
·E4.5LR分析器1、從文法構(gòu)造識別可行前綴的DFA4.5
LR分析器1、從文法構(gòu)造識別可行前綴的DFA 2)構(gòu)造LR(0)項目集規(guī)范族I0:
E
·E E
·E+T E
·T4.5LR分析器1、從文法構(gòu)造識別可行前綴的DFA4.5
LR分析器1、從文法構(gòu)造識別可行前綴的DFA 2)構(gòu)造LR(0)項目集規(guī)范族I0:
E
·E E
·E+T E
·T T
·T
F T
·F4.5LR分析器1、從文法構(gòu)造識別可行前綴的DFA4.5
LR分析器1、從文法構(gòu)造識別可行前綴的DFA 2)構(gòu)造LR(0)項目集規(guī)范族I0:
E
·E E
·E+T E
·T T
·T
F T
·F F
·(E) F
·id4.5LR分析器1、從文法構(gòu)造識別可行前綴的DFA4.5
LR分析器1、從文法構(gòu)造識別可行前綴的DFA 2)構(gòu)造LR(0)項目集規(guī)范族I0:
E
·E (核心項目) E
·E+T E
·T (非核心項目, T
·T
F 通過對核心項目求閉包
T
·F 而獲得) F
·(E) F
·id4.5LR分析器1、從文法構(gòu)造識別可行前綴的DFA4.5
LR分析器1、從文法構(gòu)造識別可行前綴的DFA 2)構(gòu)造LR(0)項目集規(guī)范族I0: I1:
E
·E E
E·
E
·E+T E
E·+T
E
·T T
·T
F T
·F F
·(E) F
·id E4.5LR分析器1、從文法構(gòu)造識別可行前綴的DFAE4.5
LR分析器1、從文法構(gòu)造識別可行前綴的DFA 2)構(gòu)造LR(0)項目集規(guī)范族I0: I1:
E
·E E
E·
E
·E+T E
E·+T
E
·T T
·T
F I1:=goto(I0,E) T
·F F
·(E) F
·id E4.5LR分析器1、從文法構(gòu)造識別可行前綴的DFAE4.5
LR分析器1、從文法構(gòu)造識別可行前綴的DFA 2)構(gòu)造LR(0)項目集規(guī)范族I0: I1:
E
·E E
E· E
·E+T E
E·+T
E
·T T
·T
F I2: T
·F E
T·
F
·(E) T
T·
F
F
·id ET4.5LR分析器1、從文法構(gòu)造識別可行前綴的DFAET4.5
LR分析器1、從文法構(gòu)造識別可行前綴的DFA
2)構(gòu)造LR(0)項目集規(guī)范族I0: I1:
E
·E E
E·
E
·E+T E
E·+T
E
·T T
·T
F I2: T
·F E
T·
F
·(E) T
T·
F
F
·id I3:
T
F·
ETF4.5LR分析器1、從文法構(gòu)造識別可行前綴的DFAETF4.5
LR分析器I0: I4:
E
·E F
(·E) E
·E+T E
·T T
·T
F T
·F F
·(E) F
·id
(4.5LR分析器I0: I4:(4.5
LR分析器I0: I4:
E
·E F
(·E) E
·E+T E
·E+T E
·T E
·T T
·T
F T
·T
F T
·F T
·F F
·(E) F
·(E) F
·id F
·id
(4.5LR分析器I0: I4:(4.5
LR分析器I0: I4:
E
·E F
(·E) E
·E+T E
·E+T E
·T E
·T T
·T
F T
·T
F T
·F T
·F F
·(E) F
·(E) F
·id F
·id
I5:
F
id·
(id4.5LR分析器I0: I4:(id4.5
LR分析器I1I0EI3I2I4I5TF(id
4.5LR分析器I1I0EI3I2I4I5TF(id4.5
LR分析器I1I0EI3I2I4I5TF(idI1:
E
E· E
E·+T
4.5LR分析器I1I0EI3I2I4I5TF(idI14.5
LR分析器I1I0EI3I2I4I5TF(idI1:
E
E· E
E·+TI6:
E
E+·T
T
·T
F
T
·F
F
·(E)
F
·id+4.5LR分析器I1I0EI3I2I4I5TF(idI14.5
LR分析器I1I0EI3I2I4I5TF(idI1: I2:
E
E·
E
T· E
E·+T T
T·
FI6:
E
E+·T
T
·T
F
T
·F
F
·(E)
F
·id+4.5LR分析器I1I0EI3I2I4I5TF(idI14.5
LR分析器I1I0EI3I2I4I5TF(idI1: I2:
E
E·
E
T· E
E·+T T
T·
FI6: I7:
E
E+·T T
T
·F
T
·T
F
F
·(E)
T
·F F
·id
F
·(E)
F
·id+
4.5LR分析器I1I0EI3I2I4I5TF(idI14.5
LR分析器I1I0EI3I2I4I5TF(idI3: T
F·
無狀態(tài)轉(zhuǎn)換
4.5LR分析器I1I0EI3I2I4I5TF(idI34.5
LR分析器I1I0EI3I2I4I5TF(idI4: F
(·E) E
·E+T E
·TT
·T
F T
·F F
·(E) F
·id
4.5LR分析器I1I0EI3I2I4I5TF(idI44.5
LR分析器I1I0EI3I2I4I5TF(idI4: I8:F
(·E) F
(E·)E
·E+T E
E·+T
E
·TT
·T
F T
·F F
·(E) F
·id
E4.5LR分析器I1I0EI3I2I4I5TF(idI44.5
LR分析器I1I0EI3I2I4I5TF(idI4: I8:F
(·E) F
(E·)E
·E+T E
E·+T
E
·TT
·T
F I2:T
·F E
T·F
·(E) T
T·
FF
·id
TE4.5LR分析器I1I0EI3I2I4I5TF(idI44.5
LR分析器I1I0EI3I2I4I5TF(idI4: I8:F
(·E) F
(E·)E
·E+T E
E·+T
E
·TT
·T
F I2:T
·F E
T·F
·(E) T
T·
FF
·id I3:
T
F·
TFE4.5LR分析器I1I0EI3I2I4I5TF(idI44.5
LR分析器I1I0EI3I2I4I5TF(idI4: I8:F
(·E) F
(E·)E
·E+T E
E·+T
E
·TT
·T
F I2:T
·F E
T·F
·(E) T
T·
FF
·id I3:
T
F·
I4:
F
(·E)
... TF(E4.5LR分析器I1I0EI3I2I4I5TF(idI44.5
LR分析器I1I0EI3I2I4I5TF(idI4: I8:F
(·E) F
(E·)E
·E+T E
E·+T
E
·TT
·T
F I2:T
·F E
T·F
·(E) T
T·
FF
·id I3:
T
F·
I4:
I5:
F
(·E)
F
id·
... TF(idE4.5LR分析器I1I0EI3I2I4I5TF(idI44.5
LR分析器I1I0EI3I2I4I5TF(idI5:F
id·
無狀態(tài)轉(zhuǎn)換4.5LR分析器I1I0EI3I2I4I5TF(idI54.5
LR分析器I1I0+EI6I3I2I4I8I7I5指向I2指向I3T*F(Eidid(FT4.5LR分析器I1I0+EI6I3I2I4I8I7I54.5
LR分析器I1I0+指向I7EI6I9I3I2I4I11I8I7I10*TI5指向I4指向I3指向I5指向I4指向I5指向I6指向I2指向I3F(FTid*id(F(Eid+)id(FTE
E
E+T
E+T
F
E+T
id
E+T
F
id把所有狀態(tài)都作為接受狀態(tài)這是一個DFAE+T
F
的所有前綴都可接受4.5LR分析器I1I0+指向I7EI6I9I3I2I44.5
LR分析器I0:
E
·E E
·E+T E
·T T
·T
F T
·F F
·(E) F
·id也可以構(gòu)造一個識別可行前綴的NFAN4.5LR分析器I0: 也可以構(gòu)造一個識別可行前例子1.給出接受文法S->(L)|aL->L,S|S的活前綴的一個DFA例子1.給出接受文法答案-1答案-1例子2.求接受文法S->Aa|bAc|dc|bdaA->d的活前綴DFA和SLR(1)分析表例子2.求接受文法答案-2(DFA)答案-2(DFA)答案-2(狀態(tài)分析表)答案-2(狀態(tài)分析表)4.5
LR分析器構(gòu)造SLR分析表的兩大步驟1、從文法構(gòu)造識別可行前綴的DFA2、從上述DFA構(gòu)造分析表4.5LR分析器構(gòu)造SLR分析表的兩大步驟4.5
LR分析器例 SLR(1)文法的描述能力有限S
V=ES
EV
EV
idE
VI0:S
·S
S·V=ES·EV
·
EV·idE
·VI2:S
V·=EE
V·
V第一項目使得action[2,=]=s6第二項目使得 action[2,=]為按EV歸約,因為=是E的一個后繼符=是E的一個后繼符:S$
V=E$
E=E$4.5LR分析器例 SLR(1)文法的描述能力有限S4.5
LR分析器例 SLR(1)文法的描述能力有限S
V=ES
EV
EV
idE
VI0:S
·S
S·V=ES·E
V
·
EV·idE
·V
I2:S
V·=EE
V·
V第一項目使得action[2,=]=s6第二項目使得 action[2,=]為按EV歸約,因為=是E的一個后繼符在所關(guān)注場合E的后繼是$:S$
V=E$
E=E$
S$
E
$
V$4.5LR分析器例 SLR(1)文法的描述能力有限S4.5
LR分析器4.5.4
構(gòu)造規(guī)范的LR分析表LR(1)項目:
重新定義項目,讓它帶上搜索符,成為如下形式
[A
·
,a]LR(1)項目[A
·
,a]對可行前綴
有效: 如果存在著推導(dǎo)S
*rm
Aw
rm
w,其中:
=
;a是w的第一個符號,或者w是
且a是$4.5LR分析器4.5.4構(gòu)造規(guī)范的LR分析表4.5
LR分析器例 S
BB B
bB|a 從最右推導(dǎo)S
*rm
bbBba
rm
bbbBba看出:
[B
b·B,b]對可行前綴
=bbb是有效的 對于項目[A
·
,a],當(dāng)
為空時,是根據(jù)搜索符a來填表(歸約項目),而不是根據(jù)A的后繼符來填表4.5LR分析器例 SBB4.5
LR分析器S
·S,$I0S
·BB,$B
·bB,b/aB
·a,b/a4.5LR分析器S·S,$I04.5
LR分析器S
·S,$I0S
·BB,$B
·bB,b/aB
·a,b/aS
S·,$I1S
B·B,$B
·bB,$B
·a,$I2SBB
b·B,b/aB
·bB,b/aB
·a,b/aI3B
a·,b/aI4ab4.5LR分析器S·S,$I0S4.5
LR分析器S
·S,$I0S
·BB,$B
·bB,b/aB
·a,b/aS
S·,$I1S
B·B,$B
·bB,$B
·a,$I2SBB
b·B,b/aB
·bB,b/aB
·a,b/aI3B
a·,b/aI4aabbS
BB·,$I5B
b·B,$B
·bB,$B
·a,$I6B
bB·,$I9B
a·,$I7B
bB·,b/aI8BbbBaaB4.5LR分析器S·S,$I0S4.5
LR分析器構(gòu)造規(guī)范的LR分析表(1)基于LR(1)項目來構(gòu)造識別G
可行前綴的DFA(2)從Ii構(gòu)造分析器的狀態(tài)i,狀態(tài)i的action函數(shù)如下確定如果[A
·a
,b]在Ii中,且goto(Ii,a)=Ij,那么置action[i,a]為sj如果[A
·
,
a]在Ii中,且A
S
,那么置action[i,a]為rj
如果[S
S·,
$]在Ii中,那么置action[i,$]=acc 如果用上面規(guī)則構(gòu)造出現(xiàn)了沖突,那么文法就不是LR(1)的4.5LR分析器構(gòu)造規(guī)范的LR分析表4.5
LR分析器先前基于SLR(1)有移進-歸約沖突的例子,在基于規(guī)范LR(1)時無沖突S
V=ES
EV
EV
idE
VI0:S
·S,$S·V=E,$S·E,$V
·
E,=/$V·id,=/$E
·V,$I2:S
V·=E,$E
V·,$V4.5LR分析器先前基于SLR(1)有移進-歸約沖突的例4.5
LR分析器4.5.5
構(gòu)造LALR分析表研究LALR的原因規(guī)范LR分析表的狀態(tài)數(shù)偏多LALR特點LALR和SLR的分析表有同樣多的狀態(tài),比規(guī)范LR分析表要小得多LALR的能力介于SLR和規(guī)范LR之間LALR的能力在很多情況下已經(jīng)夠用LALR分析表構(gòu)造方法通過合并規(guī)范LR(1)項目集來得到4.5LR分析器4.5.5構(gòu)造LALR分析表4.5
LR分析器S
·S,$I0S
·BB,$B
·bB,b/aB
·a,b/aS
S·,$I1S
B·B,$B
·bB,$B
·a,$I2SBB
b·B,b/aB
·bB,b/aB
·a,b/aI3B
a·,b/aI4aabbS
BB·,$I5B
b·B,$B
·bB,$B
·a,$I6B
bB·,$I9B
a·,$I7B
bB·,b/aI8BbbBaaBI4和I7僅搜索符不一樣4.5LR分析器S·S,$I0S4.5
LR分析器S
·S,$I0S
·BB,$B
·bB,b/aB
·a,b/aS
S·,$I1S
B·B,$B
·bB,$B
·a,$I2SBB
b·B,b/aB
·bB,b/aB
·a,b/aI3B
a·,b/aI4aabbS
BB·,$I5B
b·B,$B
·bB,$B
·a,$I6B
bB·,$I9B
a·,$I7B
bB·,b/aI8BbbBaaBI4和I7合并4.5LR分析器S·S,$I0S4.5
LR分析器S
·S,$I0S
·BB,$B
·bB,b/aB
·a,b/aS
S·,$I1S
B·B,$B
·bB,$B
·a,$I2SBB
b·B,b/aB
·bB,b/aB
·a,b/aI3B
a·,b/aI4aabbS
BB·,$I5B
b·B,$B
·bB,$B
·a,$I6B
bB·,$I9B
a·,$I7B
bB·,b/aI8BbbBaaB輸入為bbabba$4.5LR分析器S·S,$I0S4.5
LR分析器S
·S,$I0S
·BB,$B
·bB,b/aB
·a,b/aS
S·,$I1S
B·B,$B
·bB,$B
·a,$I2SBB
b·B,b/aB
·bB,b/aB
·a,b/aI3B
a·,b/aI4aabbS
BB·,$I5B
b·B,$B
·bB,$B
·a,$I6B
bB·,$I9B
a·,$I7B
bB·,b/aI8BbbBaaB輸入為bba$4.5LR分析器S·S,$I0S4.5
LR分析器S
·S,$I0S
·BB,$B
·bB,b/aB
·a,b/aS
S·,$I1S
B·B,$B
·bB,$B
·a,$I2SBB
b·B,b/aB
·bB,b/aB
·a,b/aI3B
a·,b/aI4aabbS
BB·,$I5B
b·B,$B
·bB,$B
·a,$I6B
bB·,$I9B
a·,$I7B
bB·,b/aI8BbbBaaB有三組同心集,都合并4.5LR分析器S·S,$I0S4.5
LR分析器S
·S,$I0S
·BB,$B
·bB,b/aB
·a,b/aS
S·,$I1S
B·B,$B
·bB,$B
·a,$I2SBB
b·B,b/a/$B
·bB,b/a/$B
·a,b/a/$I36B
a·,b/a/$I47aabbS
BB·,$I5B
bB·,b/a/$I89BbBa4.5LR分析器S·S,$I0S4.5
LR分析器S
·S,$I0S
·BB,$B
·bB,b/aB
·a,b/aS
S·,$I1S
B·B,$B
·bB,$B
·a,$I2SBB
b·B,b/a/$B
·bB,b/a/$B
·a,b/a/$I36B
a·,b/a/$I47aabbS
BB·,$I5B
bB·,b/a/$I89BbBa棧 輸入0 bba$4.5LR分析器S·S,$I0S4.5
LR分析器S
·S,$I0S
·BB,$B
·bB,b/aB
·a,b/aS
S·,$I1S
B·B,$B
·bB,$B
·a,$I2SBB
b·B,b/a/$B
·bB,b/a/$B
·a,b/a/$I36B
a·,b/a/$I47aabbS
BB·,$I5B
bB·,b/a/$I89BbBa棧 輸入0b36 ba$4.5LR分析器S·S,$I0S4.5
LR分析器S
·S,$I0S
·BB,$B
·bB,b/aB
·a,b/aS
S·,$I1S
B·B,$B
·bB,$B
·a,$I2SBB
b·B,b/a/$B
·bB,b/a/$B
·a,b/a/$I36B
a·,b/a/$I47aabbS
BB·,$I5B
bB·,b/a/$I89BbBa棧 輸入0b36b36a$4.5LR分析器S·S,$I0S4.5
LR分析器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年加盟加盟推廣合同
- 2025年品牌推廣策劃協(xié)議
- 母嬰行業(yè)2025年度供應(yīng)鏈金融服務(wù)合同范本2篇
- 2025年度個人房貸逾期還款處理協(xié)議4篇
- 2025年度制造業(yè)代理記賬與智能制造項目合作合同4篇
- 二零二五年度戶外園林景觀施工合作協(xié)議4篇
- 2025年度汽車維修配件批發(fā)銷售合同
- 2025年度二零二五藥房員工聘用及顧客服務(wù)協(xié)議
- 2025年度服裝銷售提成獎勵協(xié)議
- 2025年度音響設(shè)備保險理賠合同
- 道路瀝青工程施工方案
- 《田口方法的導(dǎo)入》課件
- 內(nèi)陸?zhàn)B殖與水產(chǎn)品市場營銷策略考核試卷
- 票據(jù)業(yè)務(wù)居間合同模板
- 承包鋼板水泥庫合同范本(2篇)
- DLT 572-2021 電力變壓器運行規(guī)程
- 公司沒繳社保勞動仲裁申請書
- 損傷力學(xué)與斷裂分析
- 2024年縣鄉(xiāng)教師選調(diào)進城考試《教育學(xué)》題庫及完整答案(考點梳理)
- 車借給別人免責(zé)協(xié)議書
- 應(yīng)急預(yù)案評分標(biāo)準表
評論
0/150
提交評論