资源描述:
《中医养生与冬季保健》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、温故知新上下文无关文法自上而下自下而上LL(1)文法2个函数递归下降预测分析非递归的预测分析最左推导最右推导!LR文法输入LR分析程序输出栈LR分析器的模型actiongotosmXmsm-1Xm-1…s0…a1ai…an$移进-规约分析规约移进-规约冲突规约-规约冲突句柄活前缀右句型的前缀,该前缀不超过最右句柄的右端1。句柄与某个产生式的右部符号串相同2。句柄是句型的一个子串3。把句柄归约成非终结符代表了最右推导逆过程的一步简单的LR方法(SLR)规范的LR方法向前看的LR方法(LALR)1/413.5LR分析器3.5.3构造SLR分析表LR(0)项目(简称项目)在右部的某个地方加
2、点的产生式例:AXYZ对应有四个项目A·XYZAX·YZAXY·ZAXYZ·例:A只有一个项目和它对应A·点的左边代表历史信息,右边代表展望信息。直观地讲,项目表示在分析过程的某一阶段,已经看到了产生式的多大部分,以及希望看到的部分。3.5LR分析器构造SLR分析表的两大步骤利用文法来构造一个能够识别活前缀的DFA从上述DFA构造分析表3.5LR分析器从文法构造识别活前缀的DFA1.拓广文法EEEE+T
3、TTT*F
4、FF(E)
5、id当且仅当分析器使用EE规约时,宣告分析成功ErmE+TrmE+FrmE+idrmT+idrmF+idrmid+i
6、did+idF+idT+idE+idE+FE+TE3.5LR分析器从文法构造识别活前缀的DFA2.构造LR(0)项目集规范族I0:E·E5/41闭包函数closure(I)1、I的每个项目均加入closure(I)2、如果Aα·Bβ在closure(I)中,且Bγ是产生式,那么如果项目B·γ还不在closure(I)中的话,那么把它加入。EEEE+T
7、TTT*F
8、FF(E)
9、idE·E+TE·TT·T*FT·FF·(E)F·id3.5LR分析器从文法构造识别活前缀的DFA2.构造LR(0)项目集规范族I0:E·E(核心项目)E·E+TE·T(非
10、核心项目,T·T*F通过对核心项目求闭包T·F而获得)F·(E)F·idE’·E及所有的点不在产生式右部的左端的项目EEEE+T
11、TTT*F
12、FF(E)
13、id3.5LR分析器从文法构造识别活前缀的DFA2.构造LR(0)项目集规范族I0:I1:E·EEE·E·E+TEE·+TE·TT·T*FT·FF·(E)F·idEEEE+T
14、TTT*F
15、FF(E)
16、id3.5LR分析器从文法构造识别活前缀的DFA2.构造LR(0)项目集规范族I0:I1:E·EEE·E·E+TEE·+TE·TT·T*FI1:=goto(I0,E)T
17、·FF·(E)F·idEEEE+T
18、TTT*F
19、FF(E)
20、id3.5LR分析器从文法构造识别活前缀的DFA2.构造LR(0)项目集规范族I0:I1:E·EEE·E·E+TEE·+TE·TT·T*FI2:T·FET·F·(E)TT·*FF·idEEEE+T
21、TTT*F
22、FF(E)
23、id3.5LR分析器从文法构造识别活前缀的DFA2.构造LR(0)项目集规范族I0:I1:E·EEE·E·E+TEE·+TE·TT·T*FI2:T·FET·F·(E)TT·*FF·idI3:TF·EEEE+T
24、TTT*F
25、
26、FF(E)
27、id10/413.5LR分析器I0:I4:E·EF(·E)E·E+TE·E+TE·TE·TT·T*FT·T*FT·FT·FF·(E)F·(E)F·idF·idEEEE+T
28、TTT*F
29、FF(E)
30、id3.5LR分析器I0:I4:E·EF(·E)E·E+TE·E+TE·TE·TT·T*FT·T*FT·FT·FF·(E)F·(E)F·idF·idI5:Fid·EEEE+T
31、TTT*F
32、FF(E)
33、id3.5LR分析器I1I0EI3I2I4I5TF(id3.5LR分析器I1I0EI3I2I4I
34、5TF(idI1:EE·EE·+TEEEE+T
35、TTT*F
36、FF(E)
37、id3.5LR分析器I1I0EI3I2I4I5TF(idI1:EE·EE·+TI6:EE+·TT·T*FT·FF·(E)F·idEEEE+T
38、TTT*F
39、FF(E)
40、id15/413.5LR分析器I1I0EI3I2I4I5TF(idI2:ET·TT·*FI7:TT*·FF·(E)F·idEEEE+T
41、TTT*F
42、FF(E)
43、