编译原理期末考试试卷( 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 | gDBB→bCDE |εC→DaB | caD→dD |εE→gAf | 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)编译程序的工作过程,是指从输入源程序开始到输出目标程序为止的整个过程,是非常复杂的,就其过程而言,一般可以划分为五个工作阶段:①词法分析,对构成源程序的字符串进行扫描和分解,识别出一个个的单词;②语法分析,根据语言的语法规则,把单词符号串分解成各类语法单位;③ 语义分析与中间代码产生,即对各类语法单位,分析其汉一并进行初步翻译;④代码优化,以期产生更高效的代码;⑤目标代码生成,把中间代码变换成特定机器上的低级语言指令形式.二、构造下列正规式相应的 DFA(用状态转换图表示)(15)(4)1(0 | 1)*1(5)0*10*10*10*1(6)letter(letter | digit)*(1)(2)(3)三、给出下面语言的相应文法:(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)G2: S→a | b | (T) T→ ST’ T’→,S T’ | ε G2 是 LL(1)文法。ab(),#SS→a S→b S→(T)TT→ ST'T→ ST’T→ ST’T’T’→ εT’→ , S T’ 五、设有文法 G[A]:A→BCc | gDBB→bCDE |εC→DaB | caD→dD |ε1020,11311...