First, Follow 集

原创 2016年09月05日 14:02:43

参考 http://www.cppblog.com/woaidongmao/archive/2010/02/22/108242.html

First集:

1. 非终结符(表达式左侧的大写字母)的推导式如果含有终结符(小写字母、运算符、ε),则将推导式里所有终结符作为这个非终结符的First 集 , 例如
由式

E+TEϵ
推出
First(E)={+,ϵ}

2. 非终结符的推导式全是非终结符, 则该非终结符的First 集等于推导式里第一个非终结符分First集, 例如
由式

ETE
TFT
F(E)|id
推出
First(E)=First(T)=First(F)={(,id}
3. 终结符的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(S)直接收入到Follow(U)(这里,参考文章有误)

4. 开启表达式的那个起始符 的Follow集是{#}
5.反复传送:对形如U->…P的产生式(其中P是非终结符),应把Follow(U)中的全部内容传送到Follow(P)中。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

怎样求FIRST集与FOLLOW集

S→ABc A→a|ε B→b|ε First集合求法: 能 由非终结符号推出的所有的开头符号或可能的ε,但要求这个开头...

First, Follow 集

参考 http://www.cppblog.com/woaidongmao/archive/2010/02/22/108242.htmlFirst集:1. 非终结符(表达式左侧的大写字母)的推导式如果...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

FIRST集与FOLLOW集

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

FIRST集和FOLLOW集

一,要知道什么是终结符和非终结符。终结符:通俗的说就是不能单独出现在推导式左边的符号,也就是说终结符不能再进行推导。非终结符:不是终结符的都是非终结符。(非男即女,呵呵)如:A——>B,则A是非终结符...

first集与follow集

对于终结符和非终结符的理解:   终结符:通俗的说就是不能单独出现在推导式左边的符号,也就是说终结符不能再进行推导。   非终结符:不是终结符的都是非终结符。   如:A->B,则A是非终结符;A->...

FIRST集合FOLLOW集

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

FIRST集和FOLLOW集

一,要知道什么是终结符和非终结符。终结符:通俗的说就是不能单独出现在推导式左边的符号,也就是说终结符不能再进行推导。非终结符:不是终结符的都是非终结符。(非男即女,呵呵)如:A——>B,则A是非终结符...

FIRST集、FOLLOW集 和 SELECT集

FIRST集、FOLLOW集 和 SELECT集 一、FIRST集 FIRST(A)为A的开始符或者首符号集。 1、定义: 设G=(VT,VN,S,P)是上下文无关文法 ,FIRST(α)={a|α...
  • diaoaa
  • diaoaa
  • 2013-12-04 22:29
  • 7951

关于first集和follow集

对于终结符和非终结符的理解:     终结符:通俗的说就是不能单独出现在推导式左边的符号,也就是说终结符不能再进行推导。   非终结符:不是终结符的都是非终结符。 如:A->B,则A是非终结符...

java 求First集和Follow集

package cn.spy.action; import java.util.ArrayList; import java.util.Scanner; import java.util.Str...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)