根据LR分析表,分析一个句子的规约过程

  • 可归前缀图DFA如下

d970795242414c629e7fe05f58a6b1d7.png

  • LR预测分析表如下:

62003c3ad3b14458ab0308f2c5c1dfb8.png


分析句子bab的规约过程?

                输入                 动作说明

0       ​                                  ​​​​​​​        ​​​​​​​       

#                            bab#                          action(0,b)=s4

04

#b                          ab#                            action(4,a)=r3

0(因为3产生式右面只有一个所以移去一个状态)

#B                          ab#                            goto(0,B)=2

02

#B                          ab#                            action(2,a)=s3

023

#Ba                        b#                              action(3,b)=s4

0234

#Bab                      #                                action(4,#)=r3

023

#BaB                      #                                goto(3,B)=6

0236

#BaB                      #                                action(6,#)=r2

02

#BB                        #                                 goto(2,B)=5

025

#BB                        #                                  action(5,#)=r1

0

#S                          #                                   goto(0,S)=1

01

#S                          #                                   action(1,#)=acc


 最后一个动作为acc说明这个句子规约成功。

栈中标红的地方为什么规约完会删去两个状态呢?

根据规律总结出:产生式右边有几个状态,规约完状态栈中就删除几个

例如:

红色部分S->BB右边有两个状态BB,所以0236->02

蓝色部分B->b右边一个状态b,所以0234->023

希望这些对你有所帮助!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zcm230

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值