资源描述:
《编译原理期末考试试卷(A卷).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、编译原理期末考试试卷( A卷)一、简述编译程序的工作过程。(10)二、构造下列正规式相应的DFA(用状态转换图表示)(15)(1)1(0
2、1)*100(2)0*10*10*10*1(3)letter(letter
3、digit)*三、给出下面语言的相应文法:(15)L1={anbn
4、n≥1}L2={anbm+nam
5、n≥1,m≥0}四、对下面的文法G:S→a
6、b
7、(T)T→T,S
8、S(1)消去文法的左递归,得到等价的文法G2;(2)判断文法G2是否LL(1)文法,如果是,给出其预测分析表。(15)五、设有文法G[A]:A→BCc
9、gDBB→bCDE
10、εC→DaB
11、ca
12、D→dD
13、εE→gAf
14、c(1)计算该文法的每一个非终结符的FIRST集和FOLLOW集;(2)试判断该文法是否为LL(1)文法。(15)六、对表达式文法G:E→E+T
15、TT→T*F
16、FF→(E)
17、I(1)造各非终结符的FIRSTVT和LASTVT集合;(2)构造文法的算符优先关系表。(15)七、有定义二进制整数的文法如下:L→LB
18、BB→0
19、1构造一个翻译模式,计算该二进制数的值(十进制的值)。(15)简述编译程序的工作过程。(10)编译程序的工作过程,是指从输入源程序开始到输出目标程序为止的整个过程,是非常复杂的,就其过程而言,一般可以划分为五个工作阶段:①词法
20、分析,对构成源程序的字符串进行扫描和分解,识别出一个个的单词;②语法分析,根据语言的语法规则,把单词符号串分解成各类语法单位;③语义分析与中间代码产生,即对各类语法单位,分析其汉一并进行初步翻译;④代码优化,以期产生更高效的代码;⑤目标代码生成,把中间代码变换成特定机器上的低级语言指令形式。二、构造下列正规式相应的DFA(用状态转换图表示)(15)(1)1(0
21、1)*10,1(2)0*10*10*10*1(3)letter(letter
22、digit)*31021(1)0051(2)104130211letter(3)2letter1digit三、给出下面语言的相应文
23、法:(15)L1={anbn
24、n≥1}L2={anbm+nam
25、n≥1,m≥0}G1:S→ABA→aAb
26、abB→bBa
27、εG1:A→aAb
28、ab四、对下面的文法G:S→a
29、b
30、(T)T→T,S
31、S(1)消去文法的左递归,得到等价的文法G2;(2)判断文法G2是否LL(1)文法,如果是,给出其预测分析表。(15)G2:S→a
32、b
33、(T)T→ST’T’→,ST’
34、εG2是LL(1)文法。ab(),#SS→aS→bS→(T)TT→ST’T→ST’T→ST’T’T’→εT’→,ST’五、设有文法G[A]:A→BCc
35、gDBB→bCDE
36、εC→DaB
37、caD→dD
38、εE→g
39、Af
40、c(1)计算该文法的每一个非终结符的FIRST集和FOLLOW集;(2)试判断该文法是否为LL(1)文法。(15)FIRSTFOLLOWABCDEA,b,c,d,gbA,c,dDC,gA,c,dC,d,gA,b,c,g是LL(1)文法。六、对表达式文法G:E→E+T
41、TT→T*F
42、FF→(E)
43、I(1)造各非终结符的FIRSTVT和LASTVT集合;(2)构造文法的算符优先关系表。(15)FIRSTVTLASTVTETF*,+,(,i*,(,i(,i*,+,),i*,),i),i算符优先关系表+*I()#+*I()#>>><><<>><><<<<<<<<<>>
44、>=>>>>>=七、有定义二进制整数的文法如下:L→LB
45、BB→0
46、1构造一个翻译模式,计算该二进制数的值(十进制的值)。(15)引入L、B的综合属性val,翻译模式为:S→L{print(L.val)}L→L1B{L.val=L1.val*2+B.val}L→B{L.val=B.val}B→0{B.val=0}B→1{B.val=1}