正在加载图片...
162翁译原理及实践 China-pub.com 下载 (续) 分析栈 输入 动作 2 $0日2 +n+n$ 用E一n归约 3 SOEI +n+as 移讲3 s0E1+3 n+as 移进4 s0E1+3n4 +ns 用E+E+n归约 6 SOFI +n$ 移进3 0E1+3 移进4 8 $0E1+3n4 用E一E+n归约 9 SOEI 5 接受 例5.11考虑成对括号的文法,图5-3已给出了它的LR(O)项的DFA。一个直接的运算生成了 Follow(S)={S和Follow(S={S,)。表5-7给出了它的SLR(I)分析表。请读者注意,非LR(O) 状态0、2和4是如何通过e-产生式S一E具有移进和归约动作的。表5-8给出了SLR(1)分析算法 用来分析串()()的步骤。请注意,栈如何继续扩展到最终的归约。这是自底向上的分析程序 在诸如S一(S)S的右递归规则中的一个特征。因此,右递归可引起栈的溢出,所以若可能的 话应尽量避免。 表5-7例5.11的SLR(1)分析表 状态 输入 Goto r(S-e) r(5-e) 接受 2 52 r(S-E) r(S-E) r(S-(S)S) r(S-(s)) 表5-8例5.11的分析动作 分析钱 输入 动作 S0 ()()s 移进2 2 s0(2 )()$ 用S一e归约 34 50(2S3 移进4 0(253)4 )8 移进2 s0(2S3)4(2 )$ 用S一e归约 6 s0(2S3)4(2S3 )$ 移进4 50(253)4(253)4 用S一归约 50(253)4(2S3)4S5 用S一(S)S归约 9 50(2s3)4S5 8 用S一(S)S归约 SOSI 接受 (续) 分 析 栈 输 入 动 作 2 $ 0 n 2 + n + n $ 用E→n归约 3 $ 0 E 1 + n + n $ 移进3 4 $ 0 E 1 + 3 n + n $ 移进4 5 $ 0 E 1 + 3 n 4 + n $ 用E→E + n 归约 6 $ 0 E 1 + n $ 移进3 7 $ 0 E 1 + 3 n $ 移进4 8 $ 0 E 1 + 3 n 4 $ 用E→E + n 归约 9 $ 0 E 1 $ 接受 例5 . 11 考虑成对括号的文法,图 5 - 3已给出了它的L R ( 0 )项的D FA。一个直接的运算生成了 Follow (S¢) = {$}和Follow (S) = {$,)}。表5 - 7给出了它的S L R ( 1 )分析表。请读者注意,非L R ( 0 ) 状态0、2和4是如何通过 - 产生式S→ 具有移进和归约动作的。表 5 - 8给出了S L R ( 1 )分析算法 用来分析串( ) ( )的步骤。请注意,栈如何继续扩展到最终的归约。这是自底向上的分析程序 在诸如S→ ( S ) S的右递归规则中的一个特征。因此,右递归可引起栈的溢出,所以若可能的 话应尽量避免。 表5-7 例5 . 11的S L R ( 1 )分析表 状 态 输 入 G o t o ( ) $ S 0 s 2 r (S→ ) r (S→ ) 1 1 接受 2 s 2 r (S→ ) r (S→ ) 3 3 s 4 4 s 2 r (S→ ) r (S→ ) 5 5 r (S→ ( S ) S) r (S→ ( S ) S) 表5-8 例5 . 11的分析动作 分 析 栈 输 入 动 作 1 $ 0 ( ) ( ) $ 移进2 2 $ 0 ( 2 ) ( ) $ 用S→ 归约 3 $ 0 ( 2 S 3 ( ) $ 移进4 4 $ 0 ( 2 S 3 ) 4 ( ) $ 移进2 5 $ 0 ( 2 S 3 ) 4 ( 2 ) $ 用S→ 归约 6 $ 0 ( 2 S 3 ) 4 ( 2 S 3 ) $ 移进4 7 $ 0 ( 2 S 3 ) 4 ( 2 S 3 ) 4 $ 用S→ 归约 8 $ 0 ( 2 S 3 ) 4 ( 2 S 3 ) 4 S 5 $ 用S→ ( S ) S归约 9 $ 0 ( 2 S 3 ) 4 S 5 $ 用S→ ( S ) S归约 1 0 $ 0 S 1 $ 接受 1 6 2 编译原理及实践 下载
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有