编译原理练习题及答案-高艳霞.doc

编译原理练习题及答案-高艳霞.doc

ID:51638230

大小:98.00 KB

页数:6页

时间:2020-03-14

编译原理练习题及答案-高艳霞.doc_第1页
编译原理练习题及答案-高艳霞.doc_第2页
编译原理练习题及答案-高艳霞.doc_第3页
编译原理练习题及答案-高艳霞.doc_第4页
编译原理练习题及答案-高艳霞.doc_第5页
资源描述:

《编译原理练习题及答案-高艳霞.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、简答题(31分)1、什么是编译程序?(3分)答:编译程序是指能把一种高级语言程序转换成一种低级语言程序的程序,而两者在逻辑上是等价的。2、编译前端由哪些部分组成?(3分)答:词法分析、语法分析、语义分析与中间代码产生、优化3、编译过程各阶段分别完成什么任务?(各用一句话简短回答)(5分)答:第一阶段,词法分析的任务是:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词。第二阶段,语法分析的任务是:在词法分析的基础上,根据语言的语法规则,把单词符号串分解成各类语法单位(语法范畴)。第三阶段,语义分析与中间代码产生的任务是:对语法分析所识别出的各类语法范畴,分析其含义,并进行初

2、步翻译(产生中间代码)。第四阶段,优化的任务是:对前段产生的中间代码进行加工变换,以期在最后阶段能产出更为高效(节省时间和空间)的目标代码。第五阶段,目标代码生成的任务是:把中间代码(或经优化处理之后)变换成特定机器上的低级语言代码。4、请回答句子、句型和语言的定义。(6分)答:假定G是一个文法,S是它的开始符号。如果S=>α,则称α是一个句型。仅含终结符号的句型是一个句子。文法G所产生的句子的全体是一个语言,将它记为L(G)。5、给出下面状态转换图的(S,å,d,s0,F)的具体组成(6分)答:状态集S:1,2,3,4输入字符集Σ:0,1转换关系集d:d(1,0)=2,d(1,1)=3,d(

3、2,0)=2,d(2,1)=4,d(3,0)=2,d(3,1)=3,d(4,0)=2,d(4,1)=3初态集S0:1终态集F:46、已知文法G[Z]:Z→aAA→bA

4、ab写出文法对应的语言(4分)答:ab(b)*ab7、请回答自上而下语法分析和自下而上语法分析有什么区别。(4分)答:自上而下的分析,是从文法的开始符号出发,试图推导出句子。它要解决的关键问题是在对某一个非终结符进行推导时,选择以它为左部的多个产生式中的哪一个。自下面上的分析,是从输入符号串出发,试图归约到文法的开始符号。分析过程中,每次选择与某个产生式右部符号串相同的一个子串进行归约。它要解决的关键问题是如何确定一个可归约的子

5、串。二、已知文法G:T→a

6、e

7、(F)PF→T+F

8、TP→*P

9、T①试给出式子(a+e)*a的最左推导及语法树(4分)答:最左推导:T=>(F)P=>(T+F)P=>(a+F)P=>(a+T)P=>(a+e)P=>(a+e)*P=>(a+e)*T=>(a+e)*a语法树:②试给出式子(a)*e的最右推导及语法树(4分)答:最右推导:T=>(F)P=>(F)*P=>(F)*T=>(F)*e=>(T)*e=>(a)*e语法树:③指出句型(a+T)*P的所有短语、直接短语和句柄。(5分)答:先画出语法树短语:1,(a+T)*P相对于T的短语2,(a+T)相对于F的短语3,*P相对于P的短语4,a相对

10、于T的短语5,T相对于F的短语直接短语:3,4,5句柄:4三、文法S→AB

11、bBaA→Aab

12、cB→dB

13、ε①对文法G消除左递归(2分)答:公式:P—>Pα

14、βP—>βP’P’—>αP'

15、ε过程:α=abβ=cA—>cA’A’—>abA’

16、ε对文法G消除左递归后得:S→AB

17、bBaA—>cA’A’—>abA’

18、εB→dB

19、ε②对改写后的文法判断是否LL(1)文法,求相应FIRST和FOLLOW集合(7分)答:求FIRST:对S:FIRST(AB)={c}FIRST(bBa)={b}FIRST(S)={b,c}FIRST(A)={c}FIRST(A’)={a,ε}FIRST(B)={d,ε}每个

20、非终结符的各个产生式候选首符集两两不相交求FOLLOW:FOLLOW(S)=(#)FOLLOW(A)=(d,#)FOLLOW(A’)=(d,#)FOLLOW(B)=(a,#)FIRST首符集合含ε的有FIRST(A’)和FIRST(B)FIRST(A’)∩FOLLOW(A’)=Φ FIRST(B)∩FOLLOW(B)=Φ 由以上步骤得文法G满足LL(1)文法的3个条件,所以文法G是LL(1)文法。③给出预测分析表(4分)答:如果FIRST包含ε的话,要看FOLLOW,若FOLLOW能推出该终结符,则填ε,否则不填abcd#SbBaABAcA’A’abA’εεBεdBε四、假设字母表是{a,b}

21、,若要求所有以字母a开始,b结尾的符号串,写出相应正规式,并构造与之相对应的最小DFA.(10分)答:1.正规式:a(a

22、b)*b2.求NFADFA的转换矩阵表ab{0}{2,3,4}{2,3,4}{3,4}{3,4,1}{3,4}{3,4}{3,4,1}{3,4,1}{3,4}{3,4,1}对以上矩阵元素重命名ab01123223323求DFA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。