编译原理的fistvt 和followvt 怎么求

作者&投稿:爨骆 (若有异议请与网页底部的电邮联系)
编译原理 FOLLOW集 怎么求???~

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

三,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)中。

follow有三条规则,但是我们一般记不住,至少我是这样,不过你可以这样快速的求出follow集合。
比如:E->VT;
遇到这样的式子是需要很敏感的注意的,follow(E)加入follow(V),first(T)的非空元素加入follow(V),记住还有一条,follow(E)加入follow(T);


藁城市19791093538: 谁能够解释下编译原理中什么是FIRSTVT,和LASTVT,尽量浅显易懂点谢谢 -
大狐矿威赛: 给你COPY一个看管用不,虽然不懂你在问什么... 算符优先分析 [上一节] [下一节] 5.2.1 算符优先文法及其优先表构造 一个文法,如果它的任一产生式的右部都不含两个相继(并列)的非终结符,即不含如下形式的产生式右部: …QR… 则我们称...

藁城市19791093538: 编译原理,到底什么是正规文法,书上写的是a∈Vt*,……这个Vt* 应该是包含空,和多个终结符的吧 -
大狐矿威赛: Vt就是指终结符的意思,加*号就是指空到无穷个总结符,楼主没有错

藁城市19791093538: 编译原理 V+什么意思,例如下面的例子... -
大狐矿威赛: v表示终结符和非终结符集合.+表示集合中的一个或多个元素构成的串的集合.所以v+表示由一个或多个终结符或非终结符构成的串的集合.比如如果a∈VT,A∈VN,那么a,A,aA,Aa,aAA,AaA等都是v+中的元素.

藁城市19791093538: 编译原理中 文法 文法G定义为四元组(Vn ,Vt,P,S)这4个是什么意思 另外 终结符和非终结符是什么意思 -
大狐矿威赛: 文法G是一个四元式(Vt,Vn,S,P) 其中Vt是一个非空有限集,它的每个元素称为终结符号Vn是一个非空有限集,它的每个元素称为非终结符号(Vt和Vn的交集为空)S是一个非终结符号,称为开始符号P是一个产生式集合(有限),每个产生式的形式是P-->a开始S必须在某个产生式的左部出现一次终结符指组成语言的基本符号(如基本字、标识符、常数、算符、界符) 非终结符号(也称语法变量)表示一定符号串的集合.你看到小写字母一般是终结符,大写字母肯定是非终结符不明白可以联系.

藁城市19791093538: 什么是状态转换表 -
大狐矿威赛: 你指的是 编译原理的 DFA? 如果是的话 就是说 一个状态 +一个vt终结符=另一个状态 就这样组成一个表

藁城市19791093538: 编译原理的题目:对于文法G(E):E→T|E+T|E - T T→F|T*F|T/F F→(E)|i -
大狐矿威赛: 终极符集合Vt={+,-,*,/,(,),i} 非终极符集合Vi={E,T,F} 最右推导:E => E-T => E-F => E-(E) => E-(T) => E-(T+F) => E-(T+i) => E-(T*F+i) 直接短语:T*F,i

藁城市19791093538: 编译原理中的算符文法,怎样才能用java代码实现求firstvt集和lastvt集,急急急 -
大狐矿威赛: 1、FIRSTVT(T)=FIRSTVT(T*F)=*; 2、FIRSTVT(T)=FIRSTVT(F) (1)FIRSTVT(F)=FIRSTVT((E))=(; (2)FIRSTVT(F)=FIRSTVT(id)=id; 如此,FIRSTVT(T)={*,(,id}.

藁城市19791093538: 编译原理,文法G1是不是算符优先文法 -
大狐矿威赛: G1是算符优先文法,它是1)不含空产生式的上下文无关文法,2)没有形如U-->...VW...其中V,W属于非终结符. 0)S'->#S# 1)S->S-T 2)S->T 3)T->T/F 4)T->F 5)F->(S) 6)S->e 1. 找到'='关系 由0和5得 #=# (=) 2. 找到”<“关系 #S,则:#-T...

藁城市19791093538: 编译原理中的语法和文法一样吗 -
大狐矿威赛: 编译原理中的语法和文法是不一样的,但却融会贯通.在计算机科学中,文法是编译原理的基础,是描述一门程序设计语言和实现其编译器的方法.文法分成四种类型,即0型、1型、2型和3型.这几类文法的差别在于对产生式施加不同的限制...

藁城市19791093538: 关于 编译原理 -
大狐矿威赛: 一个文法包含四要素:非终结符Vn,终结符Vt,产生式P,起始符S Vn={S,B,C,D}就是说非终结符有 S、B、C、D Vt={a,b,c},终结符有a、b、c 产生式就是P里的那些,比如S可以推出aSBC,S还可以推出abc,CB可以推出CD等 这些是这个文法G1规定好的吧...

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