《编译原理期末考试试卷(A卷).doc》由会员分享,可在线阅读,更多相关《编译原理期末考试试卷(A卷).doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流编译原理期末考试试卷(A卷).精品文档.编译原理期末考试试卷(A卷)一、 简述编译程序的工作过程。(10)二、构造下列正规式相应的DFA(用状态转换图表示)(15)(1) 1(0 | 1)*100(2) 0*10*10*10*1(3) letter(letter | digit)*三、给出下面语言的相应文法:(15)L1=an bn | n1 L2=anbm+nam | n1,m0四、对下面的文法G: Sa | b | (T)TT,S | S(1) 消去文法的左递归,得到等价的文法G2;(2) 判断文法G2是否LL(1)文法,如果是,给出其预
2、测分析表。(15)五、设有文法GA:ABCc | gDBBbCDE |CDaB | caDdD |EgAf | c(1) 计算该文法的每一个非终结符的FIRST集和FOLLOW集;(2) 试判断该文法是否为LL(1)文法。(15)六、对表达式文法G:E E+T | TT T*F | FF (E) | I(1)造各非终结符的FIRSTVT和LASTVT集合;(2)构造文法的算符优先关系表。(15)七、有定义二进制整数的文法如下:L LB | BB 0 | 1 构造一个翻译模式,计算该二进制数的值(十进制的值)。(15)简述编译程序的工作过程。(10)编译程序的工作过程,是指从输入源程序开始到输出
3、目标程序为止的整个过程,是非常复杂的,就其过程而言,一般可以划分为五个工作阶段:词法分析,对构成源程序的字符串进行扫描和分解,识别出一个个的单词;语法分析,根据语言的语法规则,把单词符号串分解成各类语法单位;语义分析与中间代码产生,即对各类语法单位,分析其汉一并进行初步翻译;代码优化,以期产生更高效的代码;目标代码生成,把中间代码变换成特定机器上的低级语言指令形式。二、构造下列正规式相应的DFA(用状态转换图表示)(15)(4) 1(0 | 1)*10,1(5) 0*10*10*10*1(6) letter(letter | digit)*31021(1)0051(2)104130211let
4、ter(3)2letter1digit三、给出下面语言的相应文法:(15)L1=an bn | n1 L2=anbm+nam | n1,m0 G1: SAB AaAb | ab BbBa | G1: AaAb |ab 四、对下面的文法G: Sa | b | (T)TT,S | S(1) 消去文法的左递归,得到等价的文法G2;(2) 判断文法G2是否LL(1)文法,如果是,给出其预测分析表。(15)G2: Sa | b | (T) T ST T,S T | G2是LL(1)文法。ab(),#SSa Sb S(T)TT STT STT STTT T,S T 五、设有文法GA:ABCc | gDBB
5、bCDE |CDaB | caDdD |EgAf | 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 | TT T*F | FF (E) | I(1)造各非终结符的FIRSTVT和LASTVT集合;(2)构造文法的算符优先关系表。(15)FIRSTVTLASTVTETF*,+,(,i*,(,i(,i*,+,),i*,),i),i算符优先关系表+*I()#+*I()#=七、有定义二进制整数的文法如下:L LB | BB 0 | 1构造一个翻译模式,计算该二进制数的值(十进制的值)。(15)引入L、B的综合属性val,翻译模式为: S L print(L.val)L L1B L.val= L1.val*2+B.valL B L.val= B.valB 0 B.val=0B 1 B.val=1