编译原理 FOLLOW集

作者&投稿:曹施 (若有异议请与网页底部的电邮联系)
编译原理中的follow集怎么计算~

follow集看产生式右边,紧跟它其后的字符。

①紧跟的为终结符(小写),直接将其加入follow集。
②紧跟的为非终结符(大写),看此非终结符的first集,把first集加入到follow集,注意若first集包含ε(空符号串),则去掉ε,并且把产生式左边非终结符follow集也加入到follow集。
③后无,则产生式左边非终结符follow集加进去。
注:follow集无ε。开始符(一般S)follow集记得一定要加上#。
over,其实first集更麻烦。

希望你最好能给几个例子了,看所有右部产生式有与你要求的非终结符的式子,与你要求的非终结符后面的那个如果是终结符的话那么它就应该属于你要求的FLLOW集了,如果是非终结符的话,求那个非终结符的FIRST集也属于你要求的。以后最好给个例子哈,不能的话很难回答你的。

因为有:
T→ F T’
T’→ *F T’
所以FIRST(T')是FOLLOW(F)的子集。所以 * 是FOLLOW(F)中的元素。
因为有:
T→ F T’
T’→ε
所以FOLLOW(T)是FOLLOW(F)的子集。
因为有:
E’→ +TE’
所以FIRST(E‘)是FOLLOW(T)中的子集。所以FIRST(E‘)是FOLLOW(F) 中的子集。
因为有:
E’→ +TE’
所以+是FIRST(E’)中的元素,所以+是FOLLOW(F)中的元素。
因为有:
E’→ ε
E → TE’
所以有:
FOLLOW(E)是FOLLOW(T)子集。前面有所以FOLLOW(T)是FOLLOW(F)的子集。所以有
FOLLOW(E)是FOLLOW(F)的子集,
由F → (E)|id
知 ) 是FOLLOW(E)的元素。所以 ) 是FOLLOW (F)的元素。
因为E是开始符号,所以有 $ 是FOLLOW(E)中的元素,所以 $ 是FOLLOW(F)中的元素。
综上所述:
FOLLOW(F)= {*,+,),$}


平江县17386179420: 怎么求编译原理的FOLLOW集合? -
字哪吉赛:[答案] follow集合是针对非终结符而言的;follow(U)所表达的是句型中非终结符U的所有可能的后随终结符号的集合,特别注意一点:“#”是识别符号的后随附. 直接收取:形如“……Ua”的组合,直接把啊收入到follow(U)中 直接收取:形如“……UP……...

平江县17386179420: 编译原理 FOLLOW集方法:E → TE'E'→ +TE'|εT→ F T'T'→ *F T'|εF → (E)|id——————————————为什么:FOLLOW(F)= {+,*,),$}... -
字哪吉赛:[答案] 因为有: T→ F T' T'→ *F T' 所以FIRST(T')是FOLLOW(F)的子集.所以 * 是FOLLOW(F)中的元素. 因为有: T→ F T' T'→ε 所以FOLLOW(T)是FOLLOW(F)的子集. 因为有: E'→ +TE' 所以FIRST(E')是FOLLOW(T)中的子集.所以FIRST(E')是...

平江县17386179420: 编译原理follow集怎么求?例:s - >xSNy|Nx;N - >zN|空 答案:follow(S)={y,z,#},follw(N)={x,y}什么时候有#非S得其他非终结符什么时候有#什么时候没有#? -
字哪吉赛:[答案]求某一非终结符的follow集,主要看产生式右端(含有该非终结符的右端). 因为S是该文法的开始符,所以#在follow(S)中.在产生式S->xSNy的右端,S的后跟符号是first(Ny),即z和y.这样follow(S)={y,z,#} 求follw(N)时,看产生式S->xSNy和S->Nx,在...

平江县17386179420: 一道《编译原理》求follow集题目,v文法G[E]:E→T E'→+TE'| e T→FT' T'→*FT'| e F→(E)|i FOLLOW(E')=FOLLOW(E)={#,)}怎么求得的? -
字哪吉赛:[答案] 哥们,你这个问题中的一个产生式E'→+TE'| e,应该是E->+TE' |ε这样吧!否则不可能获得如此结果.关于求follow集合,龙书中说得很清楚,依据三条规则即可:1、任何FOLLOW(S)都包含输入终止符号,其中S是开始符号.适用该...

平江县17386179420: 编译原理first,follow集怎么求 -
字哪吉赛: 三,FIRST集求法 First集合最终是对产生式右部的字符串而言的,但其关键是求出非终结符的First集合,由于终结符的First集合就是它自己,所以求出非终结符的First集合后,就可很直观地得到每个字符串的First集合.

平江县17386179420: 编译原理中follow 集 select 集 -
字哪吉赛: 不能, A->aBc 将first c 加入follow(B)中,若c为空,把follow(A)加入follow(B)中

平江县17386179420: 编译原理计算first 集和follow集的简单方法?S - >bBS' S' - >aAS'|ε A - >aB|c B - >dB' B' - >bB'|ε -
字哪吉赛:[答案] first :S'=a,ε S=b A=a,c B=d B'=b,ε follow:S'=# S=# A=a B=a B'=a

平江县17386179420: 急求!怎么求编译原理的FOLLOW集合?在线等~ -
字哪吉赛: follow集合是针对非终结符而言的;follow(U)所表达的是句型中非终结符U的所有可能的后随终结符号的集合,特别注意一点:“#”是识别符号的后随附.直接收取:形如“……Ua”的组合,直接把啊收入到follow(U)中直接收取:形如“……UP……”的组合,(P是非终态符);把firth(P)除去ε直接收入到follow(U)中.反复传递:形如“P-……U”的产生式, follow(P)的全部内容传递到follow(U)中,或者说是P-……UB且first(B)包含ε,则把first(B)除去ε直接收入到follow(U)中,同时吧follow(P)的全部内容传送到follow(U)中...

平江县17386179420: 编译原理语法分析中,求first,follow集合时,要消除左递归吗 -
字哪吉赛: 考虑文法G[S]:S -> xSNy| NxN -> zN|ε1、 求出该文法的每个非终结符的FIRST集和FOLLOW集;2、构造该文法的LL(1)分析表

平江县17386179420: 编译原理计算first 集和follow集的简单方法? S - >bBS' S' - >aAS'|ε A - >aB|c B - >dB' B' - >bB'|ε 求计算过程 -
字哪吉赛: first : S'=a,ε S=b A=a,c B=d B'=b,ε follow: S'=# S=# A=a B=a B'=a

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网