FIRST集和FOLLOW集的计算
文章目录
- `FIRST`集的计算
- 计算`FIRST(x)`
- 具体算法
- 计算`$X_21,X_2,X_3,...,X_n$`的`FIRST`集
- FOLLOW集的计算
- 算法
FIRST
集的计算
计算FIRST(x)
FIRST(X)
:可以从X
中推导出的所有串首终结符构成的结合。- 若
$X\Rightarrow^*{\epsilon}$
,那么$\epsilon \in FIRST(X)$
。
推导过程:
- (2)、(4)、(5)的产生式都是以非终结符开头,于是直接分别将
$+,\epsilon$
、$*,\epsilon$
、$(, id$
加入到它们各自的FIRST集中。 - (1)中开头的是非终结符
T
,于是它的FIRST集取决于T
的FIRST集。 - (3),同上,它的FIRST集需要依赖
F
的FIRST集,即$(, id$
。 - 于是(1)的FIRST集也是
$(, id$
具体算法
计算$X_21,X_2,X_3,...,X_n$
的FIRST
集
- 向
$FIRST(X_1,...,X_n)$
加入$IRST(X_1)$
中所有非$\epsilon$
符号 - 如果
$\epsilon$
在$FIRST(X_1)$
中,再加入$FIRST(X_2)$
中的所有非$\epsilon$
符号,以此类推。 - 最后,如果对所有的
i
,$\epsilon$
都在$FIRST(X_i)$
中,那么将$\epsilon$
加入到$FIRST(X_1,...,X_n)$
中。
FOLLOW集的计算
算法
FIRST集和FOLLOW集的计算相关推荐
- 【编译原理笔记05】语法分析:FIRST集和FOLLOW集的计算,[非]递归的预测分析法,预测分析中的错误处理
本次笔记内容: 4-4 FIRST集和FOLLOW集 4-5 递归的预测分析法 4-6 非递归的预测分析法 4-7 预测分析法中的错误处理 本节课幻灯片,见于我的 GitHub 仓库:第5讲 语法分析 ...
- FIRST集和FOLLOW集的构造
FIRST集和FOLLOW集的定义 注意:1:FIRST集的定义中\(\alpha和\beta\)可以是终结符也可以是非终结符.2:FOLLOW集的定义中\(\mu和\beta\)可以是终结符也可以是 ...
- 编译原理-First集和Follow集
刚学first集和follow集的时候,如果上课老师没有讲明白或者自己没听明白,自己看的时候还真是有点难理解,不过结合着具体的题目可以理解的更快. 先看一下两种集合的求法: First集合的求法: ...
- 【编译原理】FIRST集和FOLLOW集构造法速学
编译原理速成大法 FIRST集和FOLLOW集构造法速成 FIRST FOLLOW FIRST集和FOLLOW集构造法速成 例:对于文法G(E) 首先像E,T,E',F这样的就是非终结符 +,*, ε ...
- 【编译原理】First集和Follow集简易解释(偏人话)
\ε:非ε元素 First集和Follow集是集合 First集规则(相应字母在->左边,查找->右边第一个东西) ①A->aB,a加进First(A): (->右边第一个是终 ...
- LL(1)文法中FIRST集和FOLLOW集的计算方法
文章目录 深入理解 FIRST集的定义 FIRST集的实际意义 FIRST集的计算方法 FOLLOW集的定义 FOLLOW集的实际意义 FOLLOW集的计算方法 预测分析表的实质 LL(1)文法的判断 ...
- 编译原理中LL(1)文法求FIRST集和FOLLOW集的方法
一.求FIRST集 1.右部首个字符是终结符则加入左部字符的FIRST集中,比如对形如U->a-的产生式(其中a是终结符),把a收入到FIRST(U)中. 2.右部首个字符是非终结符, 若此非终 ...
- 编译原理 First集和Follow集的求法
转载地址 https://blog.csdn.net/Alexander_Frank/article/details/51280798 自上而下分析: FIRST集求法 First集合最终是对产生式右 ...
- FIRST和FOLLOW集的计算
最近马上要步入考试周了,编译原理的这个Follow集一直令我头大啊,今天百度了下下,找到一篇文章,看了以后我瞬间就明白了如何求解Follow集~~哈哈,如果你也不知道如何求解Follow集,请看看下面 ...
最新文章
- gpgpu-sim卡分配程序设计实例分析
- Windows 10下编译安装Hadoop2.6
- 热烈庆祝 ubuntu10.10发布
- oracle ora-12546,window10上登录Oracle时提示ORA-12546:Permission denied
- 动图-完整清晰展示TCP的三次握手与四次挥手
- 内连接(INNER JOIN)
- 199. Binary Tree Right Side View
- android目录穿越,安卓导航之Oruxmaps系列教程
- JS 中引号多级嵌套
- matlab for 循环中怎么做到只取其中一个数_公益心 码客行(8)—— 循环语句
- 用acdsee制作html,应用文论文写作 - - 计算机 - 计算机网络 - ACDSee的HTML相册生成...
- 【React】利用Dooringx快速制作H5搭建平台
- 山东省第二届数据应用创新大赛日照赛区-公积金贷款逾期预测-赛后总结
- linux系统安装geany文本编辑器
- Android Studio 编译时报文件不能删除,编译失败
- mysql手动中止查询语句
- open source软件:Nomad介绍(任务编排工具)
- RabbitMQ解决消息幂等性问题
- #今日论文推荐#CVPR 2022 | 只需要一组预训练参数,所有恶劣天气一次解决
- vmware虚拟机15 安装centos764 并且配置网络
热门文章
- 决策树剪枝算法:REP/PEP/CCP算法
- 手机也能拍出艺术品?大师镜头,“真”突破了不少
- 考研咨询周是什么?应该如何咨询?
- 【笑小枫的SpringBoot系列】【十五】SpringBoot根据模板生成Word
- 内核模式 vs 用户模式
- 第二课、《抓包学习——美团评论》
- 利用HomeTabModeHelper2分钟快速搭建Tab+Fragment主页框架
- 小程序开发系列之基础部分-开发工具
- 如何防止头文件被重复包含、嵌套包含
- 谷歌身份验证器验证码不对怎么回事_谷歌相机安装教程,让你的手机拥有谷歌般强大的夜拍能力...