编译原理速成大法

  • FIRST集和FOLLOW集构造法速成
    • FIRST
    • FOLLOW

FIRST集和FOLLOW集构造法速成

例:对于文法G(E)
首先像E,T,E’,F这样的就是非终结符
+,*, ε,(,)这样的就是终结符

构造每个非终结符的FIRST集和FOLLOW集

FIRST

FIRST集很简单,从左侧开始,如果第一个是终结符就停止并加入FIRST集合中
例如E→TE’,没有终结符,则按顺序从左侧开始,进入T→×FT’| ε,×,ε是终结符,处在第一个位置,所以加入到FIRST(E)集合中
同理得:

FOLLOW

FOLLOW集就需要借助冗长的文字来看了,有三个条件

什么意思呢?来看,如果我们要求FOLLOW(E),就要找到一个A→αBβ的形式(注意α有时可能为空,β有时可能没有,而且条件2,3可同时满足)
我们发现只有F → (E)|i存在这种形式,其中F可看作A,E可看作B,(可看作α,)可看作β,属于是A→β的形式,符合条件2,可以把FIRST(β)即FIRST())即)加入到FOLLOW(E)中,同时E为开始符号,需要加入#
所以FOLLOW(E)={),#}

还例如求FOLLOW(F),由T → FT’ 和T’ → FT’|ε 可知:
T → FT’ 属于A→Bβ(α为空)的形式,且ε ∈FIRST(T’),所以同时满足条件2,3,因此要把FIRST(T’)和FOLLOW(T)加入到FOLLOW(F)中
和T’ → FT’|ε 属于A→αBβ的形式,且ε ∈FIRST(T’),也同时满足条件2,3,因此要把FIRST(T’)和FOLLOW(T’)加入到FOLLOW(F)中
最终FOLLOW(F)={
*,+,),#}
最终推出以下结果:

LL(1)预测分析表

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

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

  7. 【编译原理】First集和Follow集简易解释(偏人话)

    \ε:非ε元素 First集和Follow集是集合 First集规则(相应字母在->左边,查找->右边第一个东西) ①A->aB,a加进First(A): (->右边第一个是终 ...

  8. FIRST集和FOLLOW集的构造

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

  9. 编译原理之语法分析(预测分析法)

    编译器之语法分析 自顶向下 上下文无关文法 语法树 NFA→CFG 预测分析法 改写CFG 原因 消除二义性 消除左递归 消除左公因子 消除空产生式 消除回路 自顶向下 上下文无关文法 CFG本质上就 ...

最新文章

  1. 从3D人脸到自动驾驶,CVPR2020十个顶级开源数据集
  2. c语言库函数fgets,C语言 标准I/O库函数 fgets 使用心得
  3. java不会框架怎么办_感觉学java无从下手了,各种框架乱七八糟,感觉好乱。该怎么办!?...
  4. Spring - Bean注解配置光速入门
  5. java界面布局都有什么_java入門教程-10.5Java圖形界面之布局設計
  6. 在SSP中查询某个用户Profile信息的SQL语句
  7. Intel处理器系列
  8. 手把手编写自己的PHP MVC框架实例教程
  9. 地下水环评(一级)实践技术及Modflow地下水数值模拟
  10. 爬虫自动定时获取查重结果并将结果发送至指定邮箱
  11. postgresql 清理磁盘空间
  12. 时间序列分析相关概念
  13. contiki笔记2-contiki的第一个程序
  14. disallow root login remotely 不起作用?
  15. taobao tt 配置
  16. 小锦的软件评测师备考笔记
  17. excel中联系人转换为csv导入手机出现乱码的解决方法
  18. Declare and Definition
  19. JS基础实战--day07
  20. Exchange Server 2016 RTM快速部署指南

热门文章

  1. [机器学习] 信用评分卡中的应用 | 干货
  2. E. MinimizOR
  3. excel加水印,由于excel没有加水印功能,实际上操作是将图片丢进去
  4. 【高德地图进阶】--- 带图片的点(3)
  5. java群侠传_梦幻群侠传之天剑如虹(下)
  6. 如何在PowerPoint中添加背景音乐
  7. 回车enter键的js
  8. C. Petya and Inequiations
  9. 如何使用 PyTorch 训练自定义关键点检测模型
  10. 论文笔记:Visual Domain Adaptation with Manifold Embedded Distribution Alignment