编译原理作业参考答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

编译原理作业参考答案

作业一

一、是非题

1.(×)

2.(×)

3.(×)

4.(×)

5.(×)

6.(√)

7. (√)

8.(√)

9.(√) 10.(×) 11.(√) 12.(√) 13.(√)

二、填空题

1.(词法分析),(语法分析),(中间代码生成),(代码优化),(目标代码生成)

2.(单词符号),(语法单位)。

3.(源程序),(单词符号)

4.(语法),(语义)

5. (词法分析)、(语法分析)、(语义分析),(中间代码产生),(代码优化),(目标代码生成)

6.(解释方式)

7. (语法规则)

8. (上下文无关文法)

9. (自上而下分析法),(自下而上分析法)

10. (规范推导)

11. (最左归约)

三、名词解释题:

1.词法分析器-----执行词法分析的程序。

2. 自编译方式------先对语言的核心部分构造一个小小的编译程序,再以它为工具构造一个能够编译更多语言成分的较大编译程序。如此扩展下去,就像滚雪球一样,越滚越大,最后形成人们所期待的整个编译程序。

3. 遍-----所谓“遍”就是对源程序或中间结果长头到尾扫描一次,并作有关的加工处理,生成新的中间结果或目标程序。

4. 编译程序-----一种翻译程序: 能够把某一种语言程序(称为源语言程序)转换成另一种语言(成为目标程序),而后着与前者在逻辑上是等价的。

5. 超前搜索-----所谓超前搜索是在词法分析过程中,有时为了确定词性,需超前扫描若干个字符。

6. 短语------令G是一个文法,S划文法的开始符号,假定αβδ是文法G的一个句型,如果

有SαAδ且Aβ,则称β是句型αβδ相对非终结符A的短语。

7. 规范句型------由规范推导所得到的句型。

8. 句柄------一个句型的最左直接短语。

9. -规范推导-----最右推导又称为规范推导。

四、简答题:

1. 正规式a ( a | b )*。

2.(a*b|b*a)={a,b,ab,ba,aab,bba……}

3.状态转换图是一张有限方向图。在状态转换图中,有一个初态,至少一个终态。(用双

圈表示)。一个状态转换图可用于识别(或接受)一定的字符串。

4. 证明: 因为

L(b(ab)*)={b}{ε, ab, abab, ababab, …}

={b, bab, babab, bababab, …}

L(ba)*b)={ε, ba, baba, bababa, …}{b}

={b, bab, babab, bababab, …}

= L(b(ab)*)

所以, b(ab)*=( ba)*b

5. 正规表达式为b(a|b)*aa

6. 词法分析器的功能输入源程序,按照构词规则分解成一系列单词符号。

7. 词法分析是编译过程中的一个阶段,在语法分析前进行。词法分析作为一遍,可以简化设计,改进编译效率,增加编译系统的可移植性。也可以和语法分析结合在一起作为一遍,由语法分析程序调用词法分析程序来获得当前单词供语法分析使用。

8. 编译预处理:滤掉空格,跳过注释、换行符等。

9.

句子adccd 的分析过程:

10. 一个文法G别是LL(1)文法的充要条件是:

(1) FIRST(α) ∩FIRST(β)=Ф

(2) 如果β=*>ε, FIRST(α) ∩FOLLOW(A)= Ф

11. (1) 消除左递归

S→aFS‟ | *aFS‟

S‟→*aFS‟ | ε

F→+aF | +a

(2) 提公共左因子

S→aFS‟ | *aFS‟

S‟→*aFS‟ | ε

F→+aF‟

F‟→F |ε

12. 句子b(aa)b的规范归约过程:

五、计算题:

1. (1) 画出句型对应的语法树。句型 (S,(a)) 的语法树如下图所示

(2) 句子(a,(a,a) 的最左推导

S=>(L)=>(L,S)=>(S,S)=>(a,S)=>(a,(L))=>(a,(L,S))=>(a,(S,S))=>(a,(a,S))=>(a,(a,a)) 2. G[S]:

S→A |B D

D→CD | A

A→1 | 3 | 5 | 7 | 9

B→2 | 4 | 6 | 8 | A

C→B | 0

3. 证明:

因为文法G[S]存在句子aa有两个不同的最左推导,所以文法G[S]是是二义性的。

S=>SaS=>SaSaS=>aSaS=>aaS=>aa

S=>SaS=>aS=>aSaS=>aaS=>aa

4. 所求文法是G[S]:

S→AB

A→aAc | D

D→bD | b

B→aBb | aabb

5.

⑴消除左递,文法变为G‟[S]:

S→^ | a | (T)'

T→ST‟ | S

T‟→,ST‟ |ε

此文法无左公共左因子。

⑵构造相应的FIRST和FOLLOW集合:

FIRST(S)={a, ^, (},FOLLOW(S)={#, ,, )}

FIRST(T)={a, ^, (} ,FOLLOW(T)={}}

FIRST(T‟)={,, ε} ,FOLLOW(F)={)}

⑶构造预测分析表:

作业二

一、是非题

1.(√)

2.(×)

3.(√)

4.(×)

5.(√)

6.(×)

7.(×)

8.(√)

9.(√)10.(√)

相关文档
最新文档