编译原理之First集合,Follow集合

本文介绍了国防科大王挺老师关于First集合和Follow集合的构造方法,并通过一个例题详细解释了如何消除左递归,以及如何计算各产生式的First集合和Follow集合。在例题中,分析了每个符号的First和Follow集合,并讨论了它们的形成规则。
摘要由CSDN通过智能技术生成

对于First集合,follow集合的构造方法,我引用的是国防科技大学王挺老师的方法,我觉得这个讲的比较详细易懂;
在这里插入图片描述
在这里插入图片描述
下面用一道例题进行应用;
E->T|E+T T->F|T*F F->i |(E)的所有产生式的Follow集合,所有产生式右部的First集合。
第一步,消除左递归;
上式转化为:
(1)E->TE’
(2)E’->+TE’
(3)E’->ε
(4)T->FT’
(5) T’->*FT’
(6)T’->ε
(7)F->(E)
(8)F->i
FIRST(E)=FIRST(T)=FIRST(F)={ (,i}//由于T推导不出ε,所以后面的FIRST(E’)不加入FIRST(E),同理,(4)中的first(T’)不加入FIRST(T)。
FIRST(E’)={+,ε}//由于E’的推导中第一个字符就是+,为终结符,扫描后,first停止。(个人想法)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值