\ε:非ε元素

First集和Follow集是集合


First集规则(相应字母在->左边,查找->右边第一个东西)

①A->aB,a加进First(A);

(->右边第一个是终结符,加进集合)

②A->ε,ε加进First(A);

③A->Xa,将集合First(X)\ε加入First(A)中。

(->右边第一个是非终结符,将该非终结符的First集(去空)加进集合)

(我的理解是:如果取了空,那头就不是头了);

①First(E)=First(T)=First(F)={(,i}

式子1,4,7,8

②First(T’)={*,ε}

式子5,6

总结:

头是终结符,照写。

如果头是非终结符,(若非终结符能被替换为ε)写不取空的其他情况。


Follow集合规则(相应字母在->右边,查找相应字母的右边的东西)

①A是开始符号,Follow(A)有#;

②B->Aa,Follow(A)有a

(后面是终结符,加进我的Follow集)

③B->AC,First(C)\ε加入Follow(A)。

(后面是非终结符,将该非终结符的First集加进我的Follow集)

④B->aA或B->aAC,C->ε。将Follow(B)加入Follow(A)

(后面没东西,或者后面有东西,但这个东西可以取空。将->左边字母的Follow集加入我的Follow集)

①E是开始符号,Follow(E)加#;找E,看到产生式7,E后面有个“)”,将“)”加进Follow(E)。

②右边找E’,看到产生式1、2,运用规则(4),将1和2的头的Follow集(Follow(E)和Follow(E’))加进Follow(E’)。

③右边找T,看到产生式1、2。因为E’可取ε,用规则(4),将Follow(E)和Follow(E’)加进Follow(T)中;再用规则(3),将无ε的First(E)和First(E’)加入到Follow(T)。

总结:像产生式(5)+(6)这种组合,写两条,一条是“头”的Follow,一条是“后”First(无ε)。

开始符号的集合要加#。

【编译原理】First集和Follow集简易解释(偏人话)相关推荐

  1. 编译原理-First集和Follow集

    刚学first集和follow集的时候,如果上课老师没有讲明白或者自己没听明白,自己看的时候还真是有点难理解,不过结合着具体的题目可以理解的更快. 先看一下两种集合的求法: First集合的求法:   ...

  2. 编译原理 First集和Follow集的求法

    转载地址 https://blog.csdn.net/Alexander_Frank/article/details/51280798 自上而下分析: FIRST集求法 First集合最终是对产生式右 ...

  3. 最全!最完整的求first集和follow的代码!!!编译原理 FIRST集和FOLLOW集的求法 代码,程序,实验报告

    DEV C++ 项目实现 不会建项目的看这个-->如何创建项目 代码链接:https://pan.baidu.com/s/1VNdrSMXaKu3HI0UQ_TInUQ 提取码:b1qz 使用教 ...

  4. [编译原理]FIRST集合FOLLOW集的介绍和求解

    一.定义 1.FIRST集:看产生式左部 FIRST(α) = {a | α ⇒∗\stackrel{*}\Rightarrow⇒∗a···,a∈VTV_{T}VT​} FIRST(α)是α的所有可能 ...

  5. 如何求FIRST集和FOLLOW集

    最近马上要步入考试周了,编译原理的这个Follow集一直令我头大啊,今天百度了下下,找到一篇文章,看了以后我瞬间就明白了如何求解Follow集~~哈哈,如果你也不知道如何求解Follow集,请看看下面 ...

  6. 【编译原理】FIRST集和FOLLOW集构造法速学

    编译原理速成大法 FIRST集和FOLLOW集构造法速成 FIRST FOLLOW FIRST集和FOLLOW集构造法速成 例:对于文法G(E) 首先像E,T,E',F这样的就是非终结符 +,*, ε ...

  7. 【编译原理笔记05】语法分析:FIRST集和FOLLOW集的计算,[非]递归的预测分析法,预测分析中的错误处理

    本次笔记内容: 4-4 FIRST集和FOLLOW集 4-5 递归的预测分析法 4-6 非递归的预测分析法 4-7 预测分析法中的错误处理 本节课幻灯片,见于我的 GitHub 仓库:第5讲 语法分析 ...

  8. FIRST集和FOLLOW集的构造

    FIRST集和FOLLOW集的定义 注意:1:FIRST集的定义中\(\alpha和\beta\)可以是终结符也可以是非终结符.2:FOLLOW集的定义中\(\mu和\beta\)可以是终结符也可以是 ...

  9. [编译原理] 期末复习,求FIRST集和FOLLOW集。简单易懂,例题讲解。

    1.终结符和非终结符 终结符:ε.a.b.c.d.+.-.*./.,等非大写字母 非终结符:A.B.C.D.S.- 大写字母. 2.求first集 核心理念:first(A) A能推出的第一个是什么. ...

最新文章

  1. BestCoder Round #92 比赛记录
  2. sql语句 case
  3. 吴恩达 ML作业提交:Grader sent no response
  4. java wmi远程桌面服务器_WMI实现远程监控多台windows服务器
  5. [react] create-react-app创建新运用怎么解决卡的问题?
  6. 转jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用
  7. 用python画机器猫代码_如何用Python画一只机器猫?| 原力计划
  8. Linux paste命令
  9. mysql varbinary blob_MySQL BIT、BINARY、VARBINARY、BLOB(二进制类型)
  10. Ubuntu安装谷歌浏览器
  11. spring动态代理之cglib动态代理
  12. c语言某年某月某日的天数,输入某年某月某日,判断这一天是这一年的第几天...
  13. wordpress 安装主题显示要配置FTP的解决办法
  14. java实现滑动验证码
  15. java.sql.SQLSyntaxErrorException问题常见解决方案:比如Table xxx doesn‘t exist;Unknown column ‘xxx‘ in ‘where...
  16. ubuntu系统(二):ibus拼音将繁体中文改为简体中文
  17. Java时间格式化工具类大全_二
  18. 【Linux】进程概念 —— 进程状态
  19. 【Cuckoo】add_path()失败 和 report.json太大解决办法
  20. 7-38 社交网络图中结点的“重要性”计算 (30分) 最短路 迪杰斯特拉堆优化

热门文章

  1. 一文教你通过 hexo 搭建自己的个人博客以及配置主题
  2. vue获取dom元素
  3. 转-走出软件作坊:三五个人十来条枪 如何成为开发正规军(二)
  4. 微信小程序的自制聊天框
  5. 关于局域网内访问网站
  6. vscode 自动补全插件
  7. vscode自动补全nodejs代码的方法
  8. php获取html所有内容,php获取html网页内容的多个方法
  9. 二保焊的焊缝焊的不好是什么原因
  10. [Computer Graphics]7 光线追踪加速