编译原理习题及答案(整理后).doc
《编译原理习题及答案(整理后).doc》由会员分享,可在线阅读,更多相关《编译原理习题及答案(整理后).doc(28页珍藏版)》请在咨信网上搜索。
______________________________________________________________________________________________________________ 第一章 1、将编译程序分成若干个“遍”是为了 。 b.使程序的结构更加清晰 2、构造编译程序应掌握 。 a.源程序 b.目标语言 c.编译方法 3、变量应当 。 c.既持有左值又持有右值 4、编译程序绝大多数时间花在 上。 d.管理表格 5、 不可能是目标代码。 d.中间代码 6、使用 可以定义一个程序的意义。 a.语义规则 7、词法分析器的输入是 。 b.源程序 8、中间代码生成时所遵循的是- 。 c.语义规则 9、编译程序是对 。 d.高级语言的翻译 10、语法分析应遵循 。 c.构词规则 二、多项选择题 1、编译程序各阶段的工作都涉及到 。 b.表格管理 c.出错处理 2、编译程序工作时,通常有 阶段。 a.词法分析 b.语法分析 c.中间代码生成 e.目标代码生成 三、填空题 1、解释程序和编译程序的区别在 于是否生成目标程序 。 2、编译过程通常可分为5个阶段,分别是 词法分析 、语法分析中间代码生成 、代码优化和目标代码生成。 3、编译程序工作过程中,第一段输入是 源程序 ,最后阶段的输出为 标代码生成 程序。 4、编译程序是指将 源程序 程序翻译成 目标语言 程序的程序。 一、单项选择题 1、文法G:S→xSx|y所识别的语言是 。 a. xyx b. (xyx)* c. xnyxn(n≥0) d. x*yx* 2、文法G描述的语言L(G)是指 。 a. L(G)={α|Sα , α∈VT*} b. L(G)={α|Sα, α∈VT*} c. L(G)={α|Sα,α∈(VT∪VN*)} d. L(G)={α|Sα, α∈(VT∪VN*)} 3、有限状态自动机能识别 。 a. 上下文无关文法 b. 上下文有关文法 c.正规文法 d. 短语文法 4、设G为算符优先文法,G的任意终结符对a、b有以下关系成立 。 a. 若f(a)>g(b),则a>b b.若f(a)<g(b),则a<b c. a~b都不一定成立 d. a~b一定成立 5、如果文法G是无二义的,则它的任何句子α 。 a. 最左推导和最右推导对应的语法树必定相同 b. 最左推导和最右推导对应的语法树可能不同 c. 最左推导和最右推导必定相同 d. 可能存在两个不同的最左推导,但它们对应的语法树相同 6、由文法的开始符经0步或多步推导产生的文法符号序列是 。 a. 短语 b.句柄 c. 句型 d. 句子 7、文法G:E→E+T|T T→T*P|P P→(E)|I 则句型P+T+i的句柄和最左素短语为 。 a.P+T和i b. P和P+T c. i和P+T+i d.P和T 8、设文法为:S→SA|A A→a|b 则对句子aba,下面 是规范推导。 a. SÞSAÞSAAÞAAAÞaAAÞabAÞaba b. SÞSAÞSAAÞAAAÞAAaÞAbaÞaba c. SÞSAÞSAAÞSAaÞSbaÞAbaÞaba d. SÞSAÞSaÞSAaÞSbaÞAbaÞaba 9、文法G:S→b|∧(T) T→T,S|S 则FIRSTVT(T) 。 a. {b,∧,(} b. {b,∧,)} c.{b,∧,(,,} d.{b,∧,),,} 10、产生正规语言的文法为 。 a. 0型 b. 1型 c. 2型 d. 3型 11、采用自上而下分析,必须 。 a. 消除左递归 b. 消除右递归 c. 消除回溯 d. 提取公共左因子 12、在规范归约中,用 来刻画可归约串。 a. 直接短语 b. 句柄 c. 最左素短语 d. 素短语 13、有文法G:E→E*T|T T→T+i|i 句子1+2*8+6按该文法G归约,其值为 。 a. 23 B. 42 c. 30 d. 17 14、规范归约指 。 a. 最左推导的逆过程 b. 最右推导的逆过程 c. 规范推导 d. 最左归约的逆过程 二、多项选择题 1、下面哪些说法是错误的 。 a. 有向图是一个状态转换图 b. 状态转换图是一个有向图 c.有向图是一个DFA d.DFA可以用状态转换图表示 2、对无二义性文法来说,一棵语法树往往代表了 。 a. 多种推导过程 b. 多种最左推导过程 c.一种最左推导过程 d.仅一种推导过程 e.一种最左推导过程 3、如果文法G存在一个句子,满足下列条件 之一时,则称该文法是二义文法。 a. 该句子的最左推导与最右推导相同 b. 该句子有两个不同的最左推导 c. 该句子有两棵不同的最右推导 d. 该句子有两棵不同的语法树 e.该句子的语法树只有一个 4、有一文法G:S→AB A→aAb|ε B→cBd|ε 它不产生下面 集合。 a. {anbmcndm|n,m≥0} b. {anbncmdm|n,m>0} c. {anbmcmdn|n,m≥0} d. {anbncmdm|n,m≥0} e. {anbncndn|n≥0} 5、自下而上的语法分析中,应从 开始分析。 a. 句型 b. 句子 c. 以单词为单位的程序 d. 文法的开始符 e. 句柄 6、对正规文法描述的语言,以下 有能力描述它。 a.0型文法 b.1型文法 c.上下文无关文法 d.右线性文法 e.左线性文法 三、填空题 1、文法中的终结符和非终结符的交集是 。词法分析器交给语法分析器的文法符号一定是 ,它一定只出现在产生式的 部。 2、最左推导是指每次都对句型中的 非终结符进行扩展。 3、在语法分析中,最常见的两种方法一定是 分析法,另一是 分析法。 4、采用 语法分析时,必须消除文法的左递归。 5、 树代表推导过程, 树代表归约过程。 6、自下而上分析法采用 、归约、错误处理、 等四种操作。 7、Chomsky把文法分为 种类型,编译器构造中采用 和 文法,它们分别产生 和 语言,并分别用 和 自动机识别所产生的语言。 四、判断题 1、文法 S→aS|bR|ε描述的语言是(a|bc)* ( ) R→cS 2、在自下而上的语法分析中,语法树与分析树一定相同。 ( ) 3、二义文法不是上下文无关文法。 ( ) 4、语法分析时必须先消除文法中的左递归。 ( ) 5、规范归约和规范推导是互逆的两个过程。 ( ) 6、一个文法所有句型的集合形成该文法所能接受的语言。 ( ) 五、简答题 1、句柄 2、素短语 3、语法树 4、归约 5、推导 六、问答题 1、给出上下文无关文法的定义。 2、文法G[S]: S→aSPQ|abQ QP→PQ bP→bb bQ→bc cQ→cc (1)它是Chomsky哪一型文法? (2)它生成的语言是什么? 3、按指定类型,给出语言的文法。 L={aibj|j>i≥1}的上下文无关文法。 4、有文法G:S→aAcB|Bd A→AaB|c B→bScA|b (1)试求句型aAaBcbbdcc和aAcbBdcc的句柄; (2)写出句子acabcbbdcc的最左推导过程。 5、对于文法G[S]: S→(L)|aS|a L→L, S|S (1)画出句型(S,(a))的语法树。(2)写出上述句型的所有短语、直接短语、句柄和素短语。 6、考虑文法G[T]: T→T*F|F F→F↑P|P P→(T)|i 证明T*P↑(T*F)是该文法的一个句型,并指出直接短语和句柄。 单选[解答] 1、选c。 2、选a。 3、选c。 4、虽然a与b没有优先关系,但构造优先函数后,a与b就一定存在优先关系了。所以,由f(a)>g)(b)或f(a)<g(b)并不能判定原来的a与b之间是否存在优先关系:故选c。 E E + F E + T P T i P #<·+·>+<·i·># 图2-8-1 句型P+T+I的语法及优先关系 5、如果文法G无二义性,则最左推导是先生长右边的枝叶:对于d,如果有两个不同的是了左推导,则必然有二义性。故选a。 6、选c。 7、由图2-8-1的语法树和优先关系可以看出应选b。 8、规范推导是最左推导,故选d。 9、由T→T,…和T→(… 得FIRSTVT(T))={(,,)}; 由T→S得FIRSTVT(S)⊂FIRSTVT(T),而FIRSTVT(S)={b,∧,(};即 FIRSTVT(T)={b,∧,(,,}; 因此选c。 10、d 11、c 12、b 13、b 14、b 多选解答 1、e、a、c 2、a、c、e 3、b、c、d 4、a、c 5、b、c 6、a、b、c、d、e 填空解答 1、空集 终结符 右 2、最左 3、自上而上 自下而上 4、自上而上 5、语法 分析 6、移进 接受 7、4 2 型 3型 上下文无关语言 正规语言 下推自动机 有限 判断解答 1、对 2、错 3、错 4、错 5、错 6、错 简答[解答] 1、句柄:一个句型的最左直接短语称为该句型的句柄。 2、素短语:至少含有一个终结符的素短语,并且除它自身之外不再含任何更小的素短语。 3、语法树:满足下面4个条件的树称之为文法G[S]的一棵语法树。 ①每一终结均有一标记,此标记为VN∪VT中的一个符号; ②树的根结点以文法G[S]的开始符S标记; ③若一结点至少有一个直接后继,则此结点上的标记为VN中的一个符号; ④若一个以A为标记的结点有K个直接后继,且按从左至右的顺序,这些结点的标记分别为X1,X2,…,XK,则A→X1,X2,…,XK,必然是G的一个产生式。 4、归约:我们称αγβ直接归约出αAβ,仅当A→γ 是一个产生式,且α、β∈(VN∪VT)*。归约过程就是从输入串开始,反复用产生式右部的符号替换成产生式左部符号,直至文法开始符。 5、推导:我们称αAβ直接推出αγβ,即αAβÞαγβ,仅当A→ γ 是一个产生式,且α、β∈(VN∪VT)*。如果α1Þα2Þ…Þαn,则我们称这个序列是从α1至α2的一个推导。若存在一个从α1αn的推导,则称α1可推导出αn。推导是归约的逆过程。 问答1[解答] 一个上下文无关文法G是一个四元式(VT,VN,S, P),其中: ●VT是一个非空有限集,它的每个元素称为终结符号; ●VN是一个非空有限集,它的每个元素称为非终结符号,VT∩VN=Φ; ●S是一个非终结符号,称为开始符号; ●P是一个产生式集合(有限),每个产生式的形式是P→α,其中,P∈VN, α∈(VT∪VN)*。开始符号S至少必须在某个产生式的左部出现一次。 2[解答] (1)由于产生式左部存在终结符号,且所有产生式左部符号的长度均小于等于产生式右部的符号长度,所以文法G[S]是Chomsky1型文法,即上下文有关文法。 (2)按产生式出现的顺序规定优先级由高到低(否则无法推出句子),我们可以得到: SÞabQÞabc SÞaSPQÞaabQPQÞaabPQQÞaabbQQÞaabbcQÞaabbcc SÞaSPQÞaaSPQPQÞaaabQPQPQÞaaabPQQPQÞaaabPQPQQÞaaaPPQQQÞ aaabbPqqqÞaaabbQQQÞaaabbbcQQÞaaabbbccQÞaaabbbccc …… 于是得到文法G[S]生成的语言L={anbncn|n≥1} 3【解答】 (1)由L={aibj|j>i≥1}知,所求该语言对应的上下文无关文法首先应有S→aSb型产生式,以保证b的个数不少于a的个数;其次,还需有S→Sb或S→bS型的产生式,用以保证b的个数多于a的个数;也即所求上下文无关文法G[S]为: G[S]:S→aSb|Sb|b 4【解答】(1)分别画出对应两句型的语法树,如图2-8-2所示 句柄:AaB Bd S a A c B A a B b S c A B d c b (a) S a A c B B S c A B d c (b) 图2-8-2 语法树 (2)句子acabcbbdcc的最左推导如下: SÞaAcBÞaAaBcBÞacaBcBÞacabcBÞacabcbScAÞacabcbBdcA ÞacabcbbdcAÞacabcbbdcc S ( L ) L , S S ( L ) S a 图2-8-3 句型(S,(a))的语法树 5【解答】 (1)句型(S,(a))的语法树如图2-8-3所示 (2)由图2-8-3可知: ①短语:S、a、(a)、S,(a)、(S,(a)); ②直接短语:a、S; ③句柄:S; ④素短语:素短语可由图2-8-3中相邻终结符之间的优先关系求得,即; # ·(·, ·( ·a· )· )· # 因此素短语为a。 T T * F F ↑ P P ( T ) T * F 图2-8-4 句型T*P↑(T*F)的语法树 6【解答】 首先构造T*P↑(T*F)的语法树如图2-8-4所示。 由图2-8-4可知,T*P↑(T*F)是文法G[T]的一个句型。 直接短语有两个,即P和T*F;句柄为P。 第三章 一、单项选择题 1、词法分析所依据的是 。 a. 语义规则 b. 构词规则 c. 语法规则 d. 等价变换规则 2、词法分析器的输出结果是 。 a. 单词的种别编码 b. 单词在符号表中的位置 c. 单词的种别编码和自身值 d. 单词自身值 3、正规式M1和M2等价是指 。 a. M1和M2的状态数相等 b. M1和M2的有向弧条数相等 c. M1和M2所识别的语言集相等 d. M1和M2状态数和有向弧条数相等 4、状态转换图(见图3-6-1)接受的字集为 。 0 1 0 图3-6-1 Y X a. 以 0开头的二进制数组成的集合 b. 以0结尾的二进制数组成的集合 c. 含奇数个0的二进制数组成的集合 d. 含偶数个0的二进制数组成的集合 5、词法分析器作为独立的阶段使整个编译程序结构更加简洁、明确,因此, 。 a. 词法分析器应作为独立的一遍 b. 词法分析器作为子程序较好 c. 词法分析器分解为多个过程,由语法分析器选择使用 d. 词法分析器并不作为一个独立的阶段 二、多项选择题 1、在词法分析中,能识别出 。 a. 基本字 b. 四元式 c. 运算符 d. 逆波兰式 e. 常数 2、令∑={a,b},则∑上所有以b开头,后跟若干个ab的字的全体对应的正规式为 。 a. b(ab)* b. b(ab)+ c.(ba)*b d. (ba)+b e. b(a|b) 三、填空题 1、确定有限自动机DFA是 的一个特例。 2、若二个正规式所表示的 相同,则认为二者是等价的。 3、一个字集是正规的,当且仅当它可由 所 。 四、判断题 1、一个有限状态自动机中,有且仅有一个唯一终态。 ( ) 2、设r和s分别是正规式,则有L(r|s)=L(r)|L(s)。 ( ) 3、自动机M和M′的状态数不同,则二者必不等价。 ( ) 4、确定的自动机以及不确定的自动机都能正确地识别正规集。 ( ) 5、对任意一个右线性文法G,都存在一个NFA M,满足L(G)=L(M)。 ( ) 6、对任意一个右线性文法G,都存在一个DFA M,满足L(G)=L(M)。 ( ) 7、对任何正规表达式e,都存在一个NFA M,满足L(G)=L(e)。 ( ) 8、对任何正规表达式e,都存在一个DFA M,满足L(G)=L(e)。 ( ) 五、基本题 1、设M=({x,y}, {a,b}, f,x,{y})为一非确定的有限自动机,其中f定义如下: f(x,a)={x,y} f(x,b)={y} f(y,a)=φ f(y,b)={x,y} 试构造相应的确定有限自动机M′。 2、对给定正规式b*(d|ad)(b|ab)+,构造其NFA M; 单选解答 1、b 2、c 3、c 4、d 5、b 多选解答 1、a、c、e 2、a、b、d 填空解答 1、NFA 2、正规集 3、DFA(NFA)所识别 判断解答 1 、2、3、错 4、5、6、7、8、正确 a a b b b 图3-6-2 NFA M X Y 基本1解答:对照自动机的定义M=(S,Σ,f,S0,Z),由f的定义可知f(x,a)、f(y,b)均为多值函数,所以是一非确定有限自动机,先画出NFA M相应的状态图,如图3-6-2所示。 用子集法构造状态转换矩阵表3-6-3所示。 I Ia Ib {x} {x,y} {y} {y} — {x,y} {x,y} {x,y} {x,y} 将转换矩阵中的所有子集重新命名而形成表3-6-4所示的状态转换矩阵。 表3-6-4 状态转换矩阵 a b 0 2 1 1 — 2 2 2 2 a a,b b b 图3-6-5 DFA M′ 0 2 1 即得到M′=({0,1,2}, {a,b}, f,0, {1,2}),其状态转换图如图3-6-5所示。 a a,b b 图3-6-6 化简后的DFA M′ 0 1 将图3-6-5的DFA M′最小化。首先,将M′的状态分成终态组{1,2}与非终态组{0};其次,考察{1,2}。由于{1,2}a={1,2}b={2}⊂{1,2},所以不再将其划分了,也即整个划分只有两组{0},{1,2}:令状态1代表{1,2},即把原来到达2的弧都导向1,并删除状态2。最后,得到如图3-6-6所示化简DFA M′。 a a d ε ε b* b*(d|ad)(b|ab)(b|ab)* X Y X 1 2 3 Y X 4 1 3 5 Y 6 7 8 (d|ad) (b|ab) (b|ab)* 2 ε d b ad ab ε ε b|ab b X 4 1 3 5 Y 2 b ε d b ε ε b a b b 图3-6-7 的NFA M 2解答:首先用A+=AA*改造正规式得:b*(d|ad)(b|ab)(b|ab)*;其次,构造该正规式的NFA M,如图3-6-7所示。 第四章 1、 构造下面文法的LL(1)分析表。 D→ TL T→ int | real L→ id R R→ , id R | ε 2、 下面文法G[S]是否为LL(1)文法?说明理由。 S → A B | P Q x A → x y B → b c P → d P | ε Q → a Q | ε 3、 设有以下文法: G[S]:S→aAbDe|d A→BSD|e B→SAc| cD| ε D→Se| ε (1)求出该文法的每一个非终结符U的FOLLOW集。 (2)该文法是LL(1)文法吗? (3)构造C[S]的LL(1)分析表。 4、 将文法G[V]改造成为LL(1)的。 G[V]:V→N|N[E] E→V|V+E N→i 5、已知文法: G[A]: A→aAa|ε (1)该文法是LL(1)文法吗?为什么? (2)若采用LL(1)方法进行语法分析,如何得到该文法的LL(1)分析表? (3)若输入符号串“aaaa”,请给出语法分析过程。 1解答: LL(1)分析表见表4-3-1 分析 虽然这个文法很简单,我们还是从求开始符号集合和后继符号集合开始。 FIRST(D)=FIRST(T)={int, real} FOLLOW(D)=FOLLOW(L)={#} FIRST(L)={id} FOLLOW(T)={id} FIRST(R)={,, ε} FOLLOW(R)={#} 有了上面每个非终结符的FIRST集合,填分析表时要计算一个产生式右部α的FIRST(α)就不是件难事了。 填表时唯一要小心的时,ε是产生式R→ε右部的一个开始符号,而#在FOLLOW(R)中,所以R→ε填在输入符号#的栏目中。 表4-3-1 LL(1)分析表 非终结符 输入符号 int real id , # D D→TL D→TL T T→int T→real L L→id R R R→,id R R→ ε 2解答: 该文法不是LL(1)文法,见下面分析中的说明。 分析 只有三个非终结符有两个选择。 1、P的两个右部d P 和ε 的开始符号肯定不相交。 2、Q的两个右部a Q 和 ε 的开始符号肯定不相交。 3、对S来说,由于x ∈ FIRST(A B),同时也有x ∈ FIRST(P Q x)(因为P和Q都可能为空)。所以该文法不是LL(1)文法。 3解答: (1)求文法的每一个非终结符U的FOLLOW集的过程如下: 因为: ① S是识别符号,且有A→BSD、B→SAc、D→Se,所以FOLLOW(S)应包含 FIRST(D)∪FIRST(Ac) ∪FIRST(e) ∪{#} ={a,d}∪{a,d,c,e}∪{e}∪{#} ={a,c,d,e#} ② 又因为A→BSD和D→ε,所以FOLLOW中还包含FOLLOW(A)。 因为S→aAbDe和B→SAc,所以 FOLLOW(A)=FIRST(bDe)∪FIRST(c)={b,c} 综合①、②得FOLLOW(S)={a,d,c,e,#}∪{a,b,c,d,e,#} 因为A→BSD,所以 FOLLOW(B)=FIRST(SD)={a,d} 因为S→aAbDe | d、A→BSD| e和B→SAc | cD,所以 FOLLOW(D)=FIRST(e)∪FOLLOW(A)∪FOLLOW(B) ={e}∪{b,c}∪{a,d}={a,b,c,d,e} (2)G[S]不是LL(1)文法。 因为产生式B→SAc|cD| ε 中 FIRST(SAc)∩FOLLOW(B)={a,d}≠Ø (3)构造G[S]的LL(1)分析表。 按照LL(1)分析表的构造算法构造方法G[S]的LL(1)分析表如表4-3-2所示。 表4-3-2 G[S]的LL(1)分析表 a b c d e # S aAbDe d A BSD BSD BSD e B Sac/ε cD Sac/ε D Se/ε ε ε Se/ε ε 4解答: 对文法G[V]提取公共左因子后得到文法: G′[V]:V→NA A→ε|[E] E→VB B→ε|+E N→i 求出文法G′[V]中每一个非终结符号的FIRST集: FIRST(V)={i} FIRST(A)={[, ε} FIRST(E)={i} FIRST(B)={+, ε} FIRST(N)={i} 求出文法G′[V]中每一个非终结符号的FOLLOW集: FOLLOW(V)={#}∪FIRST(B)\{ε}∪FOLLOW(E)={#,+,]} FOLLOW(A)= FOLLOW(V)={+,,#} FOLLOW(E)= FIRST(])\{ε}∪FOLLOW(B)= FIRST(])\{ε}∪FOLLOW(E)={]} FOLLOW(B)= FOLLOW(E)={ ]} FOLLOW(N)= FIRST(A)\{ε}∪FOLLOW(V)={[,],+,#} 可以看到,对文法G′[V]的产生式A→ε|[E],有 FIRST([E])∩FOLLOW(A)={[}∩{+,],#}= Ø 对产生式B→ε|+E,有 FIRST(+E)∩FOLLOW(B)={+}∩{]}= Ø 而文法的其他产生式都只有一个不为ε的右部,所以文法G′[V]是LL(1)文法。 5解答:(1)因为产生式A→aAa|ε 有空产生式右部,而 FOLLOW(A)={#}∪FIRST(a)={a, #} 造成 FIRST(A)∩FOLLOW(A)={A, ε}∩{a, #}≠Ø 所以该文法不是LL(1)文法。 (2)若采用LL(1)方法进行语法分析,必须修改该文法。 因该文法产生偶数(可以为0)个a,所以得到文法 G′[A]: A→aaA|ε 此时对产生式A→aaA|ε, 有 FOLLOW(A)={#}∪FOLLOW(A)={#},因而 FIRST(A)∩FOLLOW(A)={a, ε}∩{#}=Ø 所以文法G′[A]是LL(1)文法,按LL(1)分析表构造算法构造该文法的LL(1)分析表如表4-3-3所示。 表4-3-3 文法G′[A]的LL(1)分析表 A # A A→aaA A→ε (3)若采用LL(1)方法进行语法分析,对符号串“aaaa”的分析过程如表4-3-4所示。 表4-3-4 对符号串“aaaa”的分析过程 步骤 分析栈 输入串 产生式/动作 1 #A a a a a # A→aaA 2 #A a a a a a a # 匹配 3 #A a a a a # 匹配 4 #A a a # A→aaA 5 #A a a a a # 匹配 6 #A a a# 匹配 7 #A # A→ε 8 # # 接受 第五章 1.设有文法G[S]为: S→a|b|(A) A→SdA|S (1) 完成下列算符优先关系表,见表5-7-1,并判断G[S]是否为算符优先文法。 表5-7-1 算符优先关系表 a b ( ) d # a ⋗ ⋗ b ⋗ ⋗ ( ⋖ ⋖ ⋖ ≖ ) ⋗ ⋗ d # ⋖ ⋖ ⋖ ≖ (2)给出句型(SdSdS)的短语、简单短语、句柄、素短语和最左素短语。 (3)给出输入串(adb)#的分析过程。 解答: (1)先求文法G[S]的FIRSTVT集和LASTVT集: 由S→a|b|(A)得:FIRSTVT(S)={a,b,( ); 由A→Sd…得:FIRSTVT(A)={d};又由A→S…得:FIRSTVT(S) ⊂ FIRSTVT(A),即FIRSTVT(A)={d,a,b,(}; 由S→a|b|(A)得;LASTVT(S)={a,b,}}; 由A→…dA得:LASTVT(A)={d},又由A→S得:LASTVT(S) ⊂ LASTVT(A),即LASTVT(A)={d,a,b,)}。 构造优先关系表方法如下: ① 对P→…ab…,或P→…aQb…,有a≖b; ② 对P→…aR…,而b∈FIRSTVT(R),有a⋖b; ③ 对P→…Rb…,而a∈FIRSTVT(R),有a⋗b。 由此得到: ① 由S→(A)得:(≖); ② 由S→(A…得:(⋖FIRSTVT(A),即:(⋖d,(⋖a ,(⋖b,(⋖(;由A→…dA得:d⋖FIRSTVT(A), 即:d⋖d,d⋖a,d⋖b,d⋖(; ③ 由S→A)得,LASTVT(A)⋗),即:d⋗),a⋗),b⋗),)⋗);由A→Sd…得:LASTVT(S)⋗d,即:a⋗d,b⋗d,)⋗d; 此外,由#S#得:#≖#; 由#⋖FIRSTVT(S)得:#⋖a,#⋖b,#⋖(;脂由LASTVT(S)⋗#得:d⋗#,a⋗#,b⋗#,)⋗#。 最后得到算符优先关系表,见表5-7-2。 表5-7-2 算符优先关系表 a b ( ) d # a ⋗ ⋗ ⋗ b ⋗ ⋗ ⋗ ( ⋖ ⋖ ⋖ ≖ ) ⋗ ⋗ ⋗ d ⋖ ⋖ ⋖ ⋗ ⋖ ⋗ # ⋖ ⋖ ⋖ ≖ 由表5-7-2可以看出,任何两个终结符之间至少只满足≖、⋖、⋗三种优先关系之一,故G[S]为算符优先文法。 S A S A S d ( ) A S d 图5-7-3 句型(SdSdS)的语法树 (2)为求出句型(SdSdS)的短语、简单短语、句柄,我们先画出该句型对应的语法树,如图5-7-3所示。由图5-7-3得到: 短语:S,SdS,SdSdS,(SdSdS) 简单短语(即直接短语):S 句柄(即最左直接短语):S 素短语:SdS,它同时也是该句型的最左素短语。 (3)输入串(adb)#的分析过程见表5-7-4 表5-7-4 输入串(adb)#的分析过程 符号栈 输入串 说明 # (adb)# 移进 #( adb)# 移进 #(a db)# 用S→a归约 #(S db)# 移进 #(Sd b)# 移进 #(Sdb )# 用S→b归约 #(SdS )# 用A→S归约 #(SdA )# 用A→SdA归约 #(A )# 移进 #(A) # 用S→(A)归约 #S # 分析成功 第六章 一、单项选择题 1、若a为终结符,则A→α·aβ为 项目 a.归约 b.移进 c.接受 d.待约 2、若项目集Ik含有A→α·,则在状态k时,仅当面临的输入符号a∈FOLLOW(A)时,才采取“A→α·”动作的一定是 。 a.LALR文法 b.LR(0)文法 c.LR(1)文法 d.SLR(1)文法 3、就文法的描述能力来说,有 。 a. SLR(1)⊂LR(0) b. LR(1)⊂LR(0)c. SLR(1)⊂LR(1)d.无二义文法⊂LR(1) 4、在LR(0)的ACTION子表中,如果某一行中存在标记“rj”的栏,则 。 a.该行必定填满rj b.该行未填满rj c.其他行也有rj d.goto子表中也有rj 5、一个 指明了在分析过程中的某时刻所能看到产生式多大一部分。 a.活前缀 b.前缀 c.项目 d.项目集 二、多项选择题 1、一个LR分析器包括 。 a.一个总控程序 b.一个项目集 c.一个活前缀 d.一张分析表 e.一个分析栈 2、LR分析器核心部分是一张分析表,该表包括 等子表。 a.LL(1)分析 b.优先关系 c.GOTO d.LR e.ACTION 3、每一项ACTION[S,a]所规定的动作包括 。 a.移进 b.比较 c.接受 d.归约 e.报错 4、对LR分析表的构造,有可能存在 动作冲突。 a.移进 b.归约 c.移进/归约 d.移进/移进 e.归约/归约 5、就文法的描述能力来说,有 。 a. SLR(1)⊂LR(1) b. LR(1)⊂SLR(1) c. LR(0)⊂- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 习题 答案 整理
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文