答:(1)该文法不是LL(1)文法,因为有左递归,消除左递归可取得一个LL(1)文法 (2分) (2) 消除左递归,得新文法 (3分) E→ TE’ E’→ +TE’| ε T→ FT’ T’ → *FT’ |ε F→ (E) | i (3)求产生式右部的First集 分) First(TE’) = First(T)= First(F)={(,i} Fi...
因该文法产生偶数(可以为 0)个 a,所以得到文法 G`:AaaA。此时 FOLLOW(A)={#},因此FOLLOW(A)FIRST(A)={#}{a,}=所以文法 G`是 LL(1)文法,该文法的 ll(1)分析表:VTVN a #A AaaA A⑶对符号串“aaaa”的分析过程:步骤分析栈输入串产生式/动作...
因此文法G’[A]确实是所求的与原文法等价的LL(1)文法。 (2)构造G’[A]的预测分析表。 分析表M的构造算法为: ①对FIRST(x)中的每一终结符号a,置M[U,a]=“U→x”; ②若是ε∈FIRST(x),那么关于属于FOLLOW(U)的每一个终结符号b或#,别离置M[U,b]=“U→x”和M[U,#]=“U→x”; ...
五、 (10分)将文法G[S]:S→[A A→AS|B] B→Bi|i 改写为等价的LL(1)文法,并给出相应的LL(1)分析表。相关知识点: 试题来源: 解析解:B?iC C ?iC |e A?B]A’ A’ ?ASA’ | e S ? [A First(ASA’)={i}, FOLLOW(A’)={ [ ] FIRST(iC)={i}, FOLLOW(C) ={ ]}...
考虑下面的文法G1:S→a∣∧∣(T)T→T,S∣S〔1〕消去G1的左递归。然后对每个非终结符,写出不带回溯的递归子程序。〔2〕经改写后的文法是否是LL(1)的?给出它的预测分析表。 相关知识点: 试题来源: 解析 解:〔1〕按照T、S的顺序消除左递归,得到文法:G’(S)S→a∣∧∣(T)T→ST’T’→,ST’ ...
百度试题 题目对文法G[S]S a|^|(T)T T,S|S(1)请消除左递归;(2)给出LL(1)分析表。消除左递归:(5分)G`[S]: S a|∧|( ) 相关知识点: 试题来源: 解析 正确 反馈 收藏
文法G′[A]的LL(1)分析表 A # A A→aaA A→ε (3)若采用LL(1) 方法进行语法分析,对符号串“ aaaa”的分析过程如表4-3-4所示。 表4-3-4 对符号串“aaaa”的分析过程 步骤 · 1)先求文法G[S]的FIRSTVT集和LASTVT集:由S→a|b|(A)得:FIRSTVT(S)={a,b,(); 由A→Sd,得:FIRSTVT(A)={...
10 已知文法G[A] : A->aABl| a B->Bb | d (1)试给出与G[A]等价的LL(1)文法G'[A]; (2)构造G'[A]的LL(1)分析表; (
结果1 题目(15分)判断文法G[S]: S→aH H→aMd|d M→Ab|ε A→aM|e 是否为LL(1)文法?给出判断过程。相关知识点: 试题来源: 解析 非终结符 First集 Follow集 S H M A {a} {a,d} {a,e, ε} {a,e} {#} {#} {d,b} {b} 产生式的Select集交集都为空集,所以该文法是LL(1)文法。
表1 G[S]的预测分析表ab#S→aM→bbM→a→b(3)输入串abb#的分析过程如表2所示。由表可知,串abb#不是G[S]的句子。 表2 输入串abb#的分析过程步骤分析栈当前输入串推导所用产生式或匹配情况1#Sabb#S→aM2#Maabb#a匹配3#Mbb#M→b4#bbb#b匹配5#b#报错(4)输入串aa#的分析过程如表3所示。由下...