您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 终极符 >

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

发布时间:2019-07-29 23:45 来源:未知 编辑:admin

  所有大写字母代表非终结符,小写字母代表终结符,省略号代表未知数目(可能为0)的不确定类型的文法符号。

  First集合顾名思义就是求一个文法符号串所可能推导出的符号串的第一个终结符的集合。

  符号串ABC…,并且A不能推导出空串ε,显然根据定义First(ABC…)=First(A) 符号串ABC…,并且A可能推导出空串ε,当A不是空串的时候,显然First(A)属于First(ABC…),但当A是空串的时候,ABC…就成了BC…,此时根据B是否能推出空串来决定是否将First(B)加入First (ABC…)。这是一个递归的推导,综上所述,符号串中的第一个不能推出空串的符 号前面所有符号的First集合减去空串ε都属于First(ABC…),第一个不能推出空串的 符号的First集合也属于First(ABC…)。也就是假设A、B都可以推出空串,C不能推 出空串,First(ABC…)=First(A)-ε∪First(B)-ε∪First(C)。 注意:First集合中的符号一定是终结符,终结符也包括空串ε。

  A–…UP并且ε属于First(P) 要求的Follow集合的非终结符后跟非结尾的终结符, 并且结尾非终结符的First集合包含空串。

  这是上一种情况的一种特例,除了要按上一种情况处理,First(P)属于Follow(U) 以外还要进行分析;因为当P推导为空串时,空串不能出现在Follow集合中,所以U 后面跟随的应该是P后面的东西,可P已经是结束的符号,此时U后面显然就是A后 面跟随的东西了。所以在这种情况下Follow(A)也属于Follow(U)。

  注意:Follow集合中的符号一定是终结符,并且不能包括空串ε,而且定义开始符号 的Follow集合初始为{#(句子括号)}。

  Select(A–B)就是求这个产生式中A可能推导出起始符号集合(不包含空串ε)。

  A–X (X为任意文法符号串,不限于非终结符或单个符号),并且X不能推导出空串 ε

  A–X (X为任意文法符号串,不限于非终结符或单个符号),并且X能推导出空串ε

  根据定义,显然First(X)属于Select(A–X),此外,当X推导为空串时,显然A 也推导为空串,那么此时推导出的符号串就会是A后面的符号的推导结果。也就是 Follow(A),所以,此时Follow(A)也属于Select(A–X)。

  短语书上的定义如下:书上写的比较抽象,我这里简单解释一下,有两个文法,分别是:S=*=aAp(由于部分字符难以输入,在此用a,b,p代替)A=+=b我们由此可以画出他的抽象语法树,如下...博文来自:m0_37154839的博客

  期末复习中,编译原理要搞死我了。。。。在被编译原理搞死之前,我要搞死编译原理。。。。求First(x)的算法:若x∈VT,则first(x)={x}若X∈VN,且有产生式Xa…,a∈VT,则a∈fi...博文来自:luobida222的专栏

  经过前阵子的各种百度以及对课本的反复研究,终于弄明白了follow集的求法,下面记录一下!首先引用龙书里面的一段较为公式化的follow集求法的话:计算所有非终结符号A的follow(A)集合时,不断...博文来自:杨博东的博客

  为了方便自顶向下语法分析,需要求文法对应的first集,follow集,以及select集。本文主要分为两部分,一个是求法解析,还有一个例子详解:第一部分是求法解析将对first集,follow集,s...博文来自:何小杰的博客

  编译原理课上实验first集和follow集求法:First集合:First集合顾名思义就是求一个文法符号串所可能推导出的符号串的第一个终结符的集合。First(X)就是求X所有推导出的符号串的第一个...博文来自:chandelierr的博客

  FIRST:官方定义:(1)若X∈Vt(终结符号),则FIRST(X)={X}。(2)若X∈Vn(非终结符号),且有产生式X→a...,则把a加入到FIRST(X)中;若X∈ε也是一条产生式,则把ε也...博文来自:m943917709的博客

  后天就要编译原理考试了,今天开始预习复习学过的东西看课本学到firstfollow集的时候,觉得整个人都不好了。。。于是上网看了几个史前巨佬的博客,才终于把这个东西学会,原来这个东西真的rz。首先是要...博文来自:a670531899的博客

  FIRST集合的求解规则计算各个文法符号X的FIRST(X)时,不断应用下列规则,直到再没有新的终结符号或者ε可以被加入到任何FIRST集合中为止。如果X是一个终结符号,那么FIRST(X)=X。如果...博文来自:Jane_96的博客

  1.为什么要引入FIRST集的概念?因为有公共左因子的问题,公共左公因子是指在文法的产生式集合中,某个非终结符的多个候选式具有相同的前缀。一般来说,公共左公因子的产生式为A→αβ1│αβ2A→\alp...博文来自:多反思,多回顾,要坚持。

  编译原理只看书的话还是很难学,上课听老师讲的蛮好,可忘得也很快,再复习看书的时候已然忘记老师当时是怎么讲的了QAQ...现在只能在网上找教程自学一下喽:先看看为什么要有first集和follow集: ...博文来自:꧁༺ʚ蜕变ɞ༻꧂

  查了很多概念,但是都比较乱,总结了一下,大致是3种情况:1、A-gt;...Ua...a此时加入follow(u)中,即把要求非终结符后的终结符加入,只看产生式右部,不管左边2、A-&...博文

  判断该文法是不是LL(1)文法,说明理由S→ABcA→aεB→bε?First集合求法就是:能由非终结符号推出的所有的开头符号或可能的ε,但要求这个开头符号是终结符号。如此题A可以推导出a和ε,所...博文来自:小泊同学的仓库

  First集Follow集通俗易懂的讲解加实例First如A-aBCD这里面包含了组成First(A)的两种情况:以终结符开头,当然要把这个终结符(a)放到A的First里以非终结符开头,先把C的...博文来自:CooperNius Blog

  文法的化简与改造1、无用符号及无用产生式的删除无用符号:设有一文法G[S]=(VN,VT,P,S),说G中的一个符号X∈V是有用的是指X至少出现在一个句子的推导过程中,即满足:存在α,β∈V*,有S=...博文来自:MMOG Server/Graphics Engine/C++ - 周龙亭的专栏

  一个文法含有下列形式的产生式之一时:1)A→Aβ,A∈VN,β∈V*2)A→Bβ,B→Aα,A、B∈VN,α、β∈V*则称该文法是左递归的。一个文法G,若存在P经过一次或多次推导得到Pa(即能推导出以...博文来自:Lydia的博客

  判断该文法是不是LL(1)文法,说明理由S→ABcA→aεB→bε?     First集合求法就是:能由非终结符号推出的所有的开头符号或可能的ε,但要求这个开头符号是终结符号。如此题A可以推导出...博文来自:Hammer_DA的专栏

  明天就要考试了,发现一直理解错了First集与Follow集的解法,贴上比较好理解的……文法:S→ABcA→aεB→bεFirst集合求法:能由非终结符号推出的所有的开头符号或可能的ε,但要求这个...博文来自:cfanr

  自上而下分析:FIRST集求法    First集合最终是对产生式右部的字符串而言的,但其关键是求出非终结符的First集合,由于终结符的First集合就是它自己,所以求出非终结符的First集合后,...博文来自:Alexander_Frank的博客

  一、FIRST集的定义α的FIRST集,即FIRST(α)被定义为:可从α推导得到的串的首符号的集合,其中α是任意的文法符号串。如果α经过若干步的推导得到一个ε,那么ε也在FIRST(α)中。比如:①...博文来自:pureZer

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

  纯属瞎写借鉴,我觉得很好懂,给那些不懂的人看计算FIRST集:①根据定义计算:对每一文法符号X∈V计算FIRST(X)(a)若X∈VT,则FIRST(X)={X}(b)若X∈VN,且有产生式X→a…...博文来自:焱少的博客

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

  First集合的求法:First集合最终是对产生式右部的字符串而言的,但其关键是求出非终结符的First集合,由于终结符的First集合就是它自己,所以求出非终结符的First集合后,就可很直观地得到...博文来自:unixtux的专栏

  代码#输入文法求First集和Follow集#要求大写字母表示非终结符,小写字母表示终结符#最后一个产生式以$结尾或者输入$表示输入结束#默认第一个产生式的→左边为起始符号definputGramme...博文来自:的博客

  《自己手动写一个编译器、连接器》博文来自:KinoluKaslana的学习笔记

  一、求FIRST集1、右部首个字符是终结符则加入左部字符的FIRST集中,比如对形如U-a…的产生式(其中a是终结符),把a收入到First(U)中。2、右部首个字符是非终结符,若此非终结符能推出空...博文来自:datoucaiyy的专栏

  对于终结符和非终结符的理解:   终结符:通俗的说就是不能单独出现在推导式左边的符号,也就是说终结符不能再进行推导。  非终结符:不是终结符的都是非终结符。如:A-B,则A是非终结符;A-id,则...博文来自:Jige的菜鸟进化史~

  FIRST集怎样理解FIRST集呢?顾名思义就是一段文法所有可能的出现的开始符号的集。求FIRST集的步骤如下:若X-a..,则将终结符a加入FIRST(X)中;若X-e,则将终结符e加入FIRS...博文来自:追梦者的部落格

  转载自:学编译原理的时候,印象最深的莫过于这四个集合了,而且也...博文来自:Liao Tuo

  一:什么是终结符和非终结符。终结符:通俗的说就是不能单独出现在推导式左边的符号,也就是说终结符不能再进行推导。非终结符:不是终结符的都是非终结符。如:S——B,则S是非终结符。(一般书上终结符用小写...博文来自:Dream

  文法:S→ABcA→aεB→bεFirst集合求法:能由非终结符号推出的所有的开头符号或可能的ε,但要求这个开头符号是终结符号。如此题A可以推导出a和ε,所以FIRST(A)={a,ε};同理FI...博文来自:u013503014的专栏

  编译原理课程设计。。。。简单的FIRST集FOLLOW集求解的程序。。。。压缩文档中ffs.cpp为源程序。。。。使用了bool。。。。所以做了cpp。。。。Production文本是供程序使用的产生

  本资源用C#开发,集成了first集和follow集 正规式到NFA转换 等

http://womensarab.com/zhongjifu/223.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有