收藏 分销(赏)

编译原理期末考试试卷(A卷).doc

上传人:人****来 文档编号:4059631 上传时间:2024-07-26 格式:DOC 页数:3 大小:37.04KB 下载积分:5 金币
下载 相关 举报
编译原理期末考试试卷(A卷).doc_第1页
第1页 / 共3页
编译原理期末考试试卷(A卷).doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
编译原理期末考试试卷( A卷) 一、 简述编译程序的工作过程.(10) 二、构造下列正规式相应的DFA(用状态转换图表示)(15) (1) 1(0 | 1)*100 (2) 0*10*10*10*1 (3) letter(letter | digit)* 三、给出下面语言的相应文法:(15) L1={an bn | n≥1} L2={anbm+nam | n≥1,m≥0} 四、对下面的文法G: S→a | b | (T) T→T,S | S (1) 消去文法的左递归,得到等价的文法G2; (2) 判断文法G2是否LL(1)文法,如果是,给出其预测分析表。(15) 五、设有文法G[A]: A→BCc | gDB B→bCDE |ε C→DaB | ca D→dD |ε E→gAf | c (1) 计算该文法的每一个非终结符的FIRST集和FOLLOW集; (2) 试判断该文法是否为LL(1)文法。(15) 六、对表达式文法G: E → E+T | T T → T*F | F F → (E) | I (1)造各非终结符的FIRSTVT和LASTVT集合; (2)构造文法的算符优先关系表。(15) 七、有定义二进制整数的文法如下: L →LB | B B →0 | 1 构造一个翻译模式,计算该二进制数的值(十进制的值)。(15) 简述编译程序的工作过程。(10) 编译程序的工作过程,是指从输入源程序开始到输出目标程序为止的整个过程,是非常复杂的,就其过程而言,一般可以划分为五个工作阶段:①词法分析,对构成源程序的字符串进行扫描和分解,识别出一个个的单词;②语法分析,根据语言的语法规则,把单词符号串分解成各类语法单位;③语义分析与中间代码产生,即对各类语法单位,分析其汉一并进行初步翻译;④代码优化,以期产生更高效的代码;⑤目标代码生成,把中间代码变换成特定机器上的低级语言指令形式. 二、构造下列正规式相应的DFA(用状态转换图表示)(15) (4) 1(0 | 1)*1 0,1 (5) 0*10*10*10*1 (6) letter(letter | digit)* 3 1 0 2 1 (1) 0 0 5 1 (2) 1 0 4 1 3 0 2 1 1 letter (3) 2 letter 1 digit 三、给出下面语言的相应文法:(15) L1={an bn | n≥1} L2={anbm+nam | n≥1,m≥0} G1: S→AB A→aAb | ab B→bBa | ε G1: A→aAb |ab 四、对下面的文法G: S→a | b | (T) T→T,S | S (1) 消去文法的左递归,得到等价的文法G2; (2) 判断文法G2是否LL(1)文法,如果是,给出其预测分析表。(15) G2: S→a | b | (T) T→ ST’ T’→,S T’ | ε G2是LL(1)文法。 a b ( ) , # S S→a S→b S→(T) T T→ ST' T→ ST’ T→ ST’ T’ T’→ ε T’→,S T’ 五、设有文法G[A]: A→BCc | gDB B→bCDE |ε C→DaB | ca D→dD |ε E→gAf | c (1) 计算该文法的每一个非终结符的FIRST集和FOLLOW集; (2) 试判断该文法是否为LL(1)文法。(15) FIRST FOLLOW A B C D E A,b,c,d,g b A,c,d D C,g A,c,d C,d,g A,b,c,g 是LL(1)文法。 六、对表达式文法G: E → E+T | T T → T*F | F F → (E) | I (1)造各非终结符的FIRSTVT和LASTVT集合; (2)构造文法的算符优先关系表.(15) FIRSTVT LASTVT E T F *,+,(,i *,(,i (,i *,+,),i *,),i ),i 算符优先关系表 + * I ( ) # + * I ( ) # 〉 > 〉 〈 > < < > > < > 〈 〈 < 〈 〈 < 〈 〈 〈 > > > = 〉 > > 〉 〉 = 七、有定义二进制整数的文法如下: L →LB | B B →0 | 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}
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服