内容发布更新时间 : 2025/1/5 17:48:29星期一 下面是文章的全部内容请认真阅读。
② (+,a,①) ③ (+,a,b) ④ (/,②,③) ⑤ (-,④,d)
10. 文法G(N): N→AB|B A→AC|D B→1|3|5|7|9 D→B|2|4|6|8 C→0|D
11 编译过程的六个阶段的任务,再加上表格管理和出错处理的工作可分别由几个模块或程序完成,它们分别称作词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程序、表格管理程序和出错处理程序。
12 自反的 在集合X上的关系R,如对任意x∈X,均有(x,x) ∈R,则称关系R是自反的。
非自反的 在集合X上的关系R,如对任意x∈X,均有(x,x)R,则称关系R是非自反。
对称的 在集合X上的关系R,如果合(x,y) ∈R,便必有(y,x) ∈R,则称关系R是对 称的。
非对称的 在集合X上的关系R,如果有(x,y) ∈R丛x≠y,便必有(y,x)R,则称关系R是非对称的。
传递的 在集合X上的关系R,如果合(x,y) ∈R且(y,z) ∈R,必有(x,z) ∈R,则称关系R是传递的。
13. 元素的非空有穷集合。字母表中的元素。由字母表中的符号组成的任何有穷序列,惯用小写字母t、u、v、x、y…表示符号串。长度是符号串所含符号的个数。设有符号串x和y,把y的符号写在x的符号之后所得的符号串,叫做x与y的联结,记为xy。 14答:从所给符号串x开始,在其中寻找与文法的某条规则右部相匹配的子串,并用该规则的左部取代此子串(即归约),重复此过程,步步向上归约,最后试图将符号串x归约到文法的识别符号Z。如归约成功,则符号串x是文法的句子。 15 HARD(S)={S,Q,R,a,b,c}
HARD(Q)={S,Q,R,a,b,c} HARD(R)={S,Q,R,a,b,c} 16 S::=aABb|ab A::={ab}
B::=Aa|a
17传名:a=12 传值:a=6 18. (1)错误 (2)正确 (3)正确 (4)正确 (5)错误 (6)错误 (7)错误
19.(1)在语义上加些限制,或者说加一些语法的非形式规定。这样做不必改变文法中原有的语法规则。
(2)把排除二义性的规则合并到原有文法中,即构造一个等价的无二义性的文法G'。这样做,需要改造原有文法。
20.只有单层分支的子树称为简单子树。
21.由某一结点及其所有分支组成的部分,成为原语法树的一棵子树。
22.句型的分析就是识别一个符号串是否为某文法的句型,是某个推导的构造过程。
23.从所给符号串x开始,在其中寻找与文法的某条规则右部相匹配的子串,并用该规则的左部取代此子串(即归约),重复此过程,步步向上归约,最后试图将符号串x归约到文法的识别符号Z。如归约成功,则符号串x是文法的句子。 24. HARD(S)={S,Q,R,a,b,c} HARD(Q)={S,Q,R,a,b,c} HARD(R)={S,Q,R,a,b,c}
四、综合题
每题10分,3题共30分 1. 解:
(1) (j>,a,0,5) (2) (j,-,-,3) (3) (j<,b,0,5= (4) (j,-,-,15) (5) (+,×,1,T1) (6) (:=,T1,-,×) (7) (j≥,a,0,9) (8) (j,-,-,12) (9) (-,a,1,T2) (10) (:=,T2,-,a) (11) (j,-,-,1) (12) (+,b,1, T3) (13) (:=,T3,-,b) (14) (j,-,-,1)
2. 解:(1) E0→E(1)
E→E0E(2) EA→E(1) E→EAE(2)
E→i (2) E→E(1)
{BACKPATCH(E(1)·FC,NXQ); E0·TC:=E(1)·TC} E→E0E(2) {E·FC:=E(2)·FC; E·TC:=MERG(E0·TC,E(2)·TC)} EA→E(1)
{BACKPATCH(E(1)·TC,NXQ); E0·FC:=E(1)·FC} E→EAE(2) {E·TC:=E(2)·TC; E·FC:=MERG(EA·FC,E(2)·FC) E→i {E·TC:=NXQ;E·FC:=NXQ+1; GEN(jn2,entry(i),-0); GEN(j,-,-,0)
3解: (1)
S→(L)|aS’ S’→S|ε L→SL’
L’→SL’|ε
(2)
FIRST)S)={(,a} FIRST(S’)={,a,ε} FIRST(L)={(,a} FIRST(L’)={,,ε} (3)
FOLLOW(S)={#,,,)} FOLLOW(S’)={#,,,)} FOLLOW(L)={ )} FOLLOW(L’〕={ )}
a , ( ) # S S’ L L’ S→aS’ S→(L) S’→S S’→ε S’→S S’→ε S’→ε L→SL’ L→SL’ L’→ε L’→ε 4.(1) 文法G中每个非终结符的FIRSTVT集和LASTVT集为: FIRSTVT(s')={#} FIRSTVT(P)={i,() FIRSTVT(s)={(,i) FIRSTVT(D)={i} FIRSTVT(R)={;,(,i)
(2) 文法G中每个非终结符的LASTVT集为: LASTVT(S')={#} LASTVT(P)={i,}} LASTVT(S)={}} LASTVT(D)={i} LASTVT(R)={;,},i}
5. t11 := i * 20
t12 := t11+j t13 := A-84; t14 := 4*t12
t15 := t13[t14] //A[i,j] t21 := i*20 t22 := t21+j t23 := B-84; t24 := 4*t22
t25 := t23[t24] //B[i,j] t31 := k*20 t32 := t31+l t33 := A-84 t34 := 4*t32
t35 := t33[t34] //A[k,l] t36 := 4*t35 t37 := C-4
t38 := t37[t36] //C[A[k,l]] t41 := i+j