一、终结符和非终结符

终结符:通俗的说就是不能单独出现在推导式左边的符号,也就是说终结符不能再进行推导。

非终结符:不是终结符的都是非终结符。(非男即女,呵呵)

如:A——>B,则A是非终结符。

(一般书上终结符用小写,非终结符用大写。)

二、文法产生语言句子的基本思想

从识别符号(开始符)开始,把当前产生的符号串中的非终结符替换为相应规则右部的符号串,直到全部由终结符组成。

三、FIRST集求法

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

1. 直接收取:对形如U->a…的产生式(其中a是终结符),把a收入到First(U)中

2. 反复传送:对形入U->P…的产生式(其中P是非终结符),应把First(P)中的全部内容传送到First(U)中【意思就是只需要把第一个非终结符的First集传过去~这个地方是要注意的地方,也是难点】。

四、FOLLOW集的求法

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

1. 直接收取:注意产生式右部的每一个形如“…Ua…”的组合,把a直接收入到Follow(U)中。因a是紧跟在U后的终结符。

2.直接收取:对形如“…UP…”(P是非终结符)的组合,把First(P)直接收入到Follow(U)中【在这里,如果First(P)中有空字符,那么就要把左部(假设是S)的Follow(S)送入到Follow(U)中。还有就是Follow集中是没有空字符的】。

3. 直接收取:若S->…U,即以U结尾,则#∈Follow(U)

4.*反复传送:对形如U->…P的产生式(其中P是非终结符),应把Follow(U)中的全部内容传送到Follow(P)中。

五、SELECT集的求法

对于产生式A—>α。集合select(A—>α)定义如下:

1. 若α不能推出ε,则select(A—>α) = first(α)。

2. 若α能推出ε,则select(A—>α)= first(α)∪ follow(A)。

转载于:https://www.cnblogs.com/Patrick-L/p/5979011.html

怎样求FIRST集、FOLLOW集和SELECT集相关推荐

  1. FIRST集、FOLLOW集和SELECT集

    *一:什么是终结符和非终结符.* 终结符:通俗的说就是不能单独出现在推导式左边的符号,也就是说终结符不能再进行推导. 非终结符:不是终结符的都是非终结符. 如:S-->B,则S是非终结符. (一 ...

  2. 离散数学——FIRST集,FOLLOW集和SELECT集的通俗求法

    离散数学--FIRST集,FOLLOW集和SELECT集的通俗求法 FIRST集合 添加终结符以及空字 若X∈ε,则ε∈FIRST(X) 若X=a-,若a∈VT,则a∈FIRST(X); 添加非终结符 ...

  3. 编译原理求FIRST集、FOLLOW集和SELECT集

    所有大写字母代表非终结符,小写字母代表终结符,省略号代表未知数目(可能为0)的不确定类型的文法符号. First集合: First集合顾名思义就是求一个文法符号串所可能推导出的符号串的第一个终结符的集 ...

  4. 【小白学PyTorch】 2.浅谈训练集验证集和测试集

    文章目录: 经验误差与过拟合 评估方法 经验误差与过拟合 关键词:错误率(error rate),精度(accuracy). 错误率好理解,就是m个样本中,a个样本分类错误,则错误率E = a/m . ...

  5. 怎么求编译原理中的first集,follow集和selec集

    所有大写字母代表非终结符,小写字母代表终结符,省略号代表未知数目(可能为0)的不确定类型的文法符号. First集合: First集合顾名思义就是求一个文法符号串所可能推导出的符号串的第一个终结符的集 ...

  6. 编译原理中的first集,follow集和selec集的小解

    在看编译原理,对这些集合求法不是很明白,看了某个大神的博客,感觉懂了不少,现把自己的理解贴出来大家共享. 所有大写字母代表非终结符,小写字母代表终结符,省略号代表未知数目(可能为0)的不确定类型的文法 ...

  7. 编译原理之--FIRST集、FOLLOW集 和 SELECT集

    FIRST集.FOLLOW集 和 SELECT集 一.FIRST集 FIRST(A)为A的开始符或者首符号集. 1.定义: 设G=(VT,VN,S,P)是上下文无关文法 ,FIRST(α)={a|α能 ...

  8. FIRST集、FOLLOW集 和 SELECT集

    FIRST集.FOLLOW集 和 SELECT集 一.FIRST集 FIRST(A)为A的开始符或者首符号集. 1.定义: 设G=(V T ,V N ,S,P)是上下文无关文法 ,FIRST(α)={ ...

  9. 编译原理 First集 Follow集 select集 通俗易懂的讲解 + 实例

    #First集Follow集通俗易懂的讲解加实例 ##First 如A->aB | CD 这里面包含了组成First(A)的两种情况: 以终结符开头,当然要把这个终结符(a)放到A的First里 ...

最新文章

  1. mysql 浏览器可视窗口_浏览器窗口的可视区域大小指的是哪里?
  2. C++ Primer 5th笔记(chap 14 重载运算和类型转换)函数调用运算符
  3. 1.13 抽象类和接口的区别
  4. 基于运维网V8环境安装ntop
  5. 技术与商业到底啥关系?我们从业务角度聊一聊
  6. 漫天飞舞的蒲公英你是我的幸福吗
  7. 程序员为什么要懂物联网?
  8. WinForm两点注意的地方
  9. 利用Python批量重命名一系列文件名杂乱的文件
  10. 关于敏捷方法的一次沟通记录
  11. 满纸辛酸泪 —— 红楼梦中话
  12. python有趣的代码-python有趣的一行代码
  13. 华硕服务器主板安装系统提示驱动,华硕z590主板装win7系统及bios设置教程(支持11代cpu驱动)...
  14. android导航软件安装,【图】手把手教你安装免费且无需流量的安卓版本凯立德导航软件!...
  15. 中外十大武侠片排行榜
  16. 如何0成本搭建外卖CPS返利小程序
  17. 面试官问你为什么离开上一家公司该怎么回答?
  18. PHP实现简单的网站访客统计
  19. 升级电脑系统或者重装WIN10后,PADS软件卡死
  20. MAE代码阅读(一)

热门文章

  1. 靠着这些AI的宝藏资料,我实现了职场三级跳!(超大福利,免费领取!!!)...
  2. 基金的单位净值NAV
  3. 实例数据表明Web Server领域Apche的绝对优势
  4. 华硕支持2003服务器主板,华硕支持45nm服务器主板P5BV/SAS上市
  5. 校招面试自我介绍怎么介绍
  6. IOS隐私政策(Privacy Policy)
  7. html表格 数据库数据类型,html数据库excel表格设计-html table能不能显示类似excel的那种表格?...
  8. Linux 16.04百度云盘的镜像文件
  9. 商家说:我的对讲机能通话10公里、50公里,你敢信吗?
  10. 让您的video铺满整个div!