编译原理-First集和Follow集

自我体会

编译原理好难,学起来很费劲,刚学了First集和Follow集,发现自己上课听不明白,自己看的时候也看不明白,好多概念和规范看着很费力,不过结合着具体的题目可以更快理解。

First集和Follow集

首先看两种集合的求法:

First集求法

First集合最终是对产生式右部的字符串而言的,由于终结符的First集合就是它自己,所以关键是求出非终结符的First集合,所以求出非终结符的First集合后,就可很直观地得到每个字符串的First集合。

  1. 直接收取:对形如U–>a…的产生式(其中a是终结符),把a收入到First(U)中。
  2. 反复传送:对形如U–>P…的产生式(其中P是非终结符),应把First§中的全部内容传送到First(U)中。
    也可以看下面的ppt(反正我是看不太懂ppt)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    直接上例子
    在这里插入图片描述
    看完这个例子大家应该都懂了吧!不懂的话就多看几遍(doge)。

Follow集求法

Follow集合是针对非终结符而言的,Follow(U)所表达的是句型中非终结符U所有可能的后随终结符号的集合,特别地,“#”是识别符号的后随符。

  1. 直接收取:产生式右部的每一个形如“…Ua…”的组合,把a直接收入到Follow(U)中。
  2. 直接收取:产生式右部形如“…UP…”(P是非终结符)的组合,把First§除了ε以外的字符直接收入到Follow(U)中。
  3. 反复传送:形如P–>…U的产生式(其中U是非终结符),应把Follow§中的全部内容传送到Follow(U)中。(或 P–>…UB且First(B)包含ε,则把First(B)除了ε以外的字符直接存入到Follow(U)中,并把Follow§中的全部内容传送到Follow(U)中)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Follow集更加难理解一些,可以多看几遍,多找几个例子大概、也许、可能就能够理解了。

引用:https://www.cnblogs.com/henuliulei/p/10666498.html

  • 6
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值