一、简答题(每题5分,共20分)
1、简述编译程序所完成的主要工作。
2、应用递归下降和ll(1)分析技术的先决条件是什么?
3、简述在程序的声明部分语义分析所完成的基本工作。
4、试说明中间**的作用及其形式。
二、演算题(共60分)
1、试为下列语言构造相应的文法。(6分)
2、设有文法g[s]为6分)
s→daba→aa|ab→bb|λ
其表示的相应语言是什么?
3、设有a=(,m,,)其中m为: (10分)
m(q0,a)= m(q0,b)= m(q1,a)=
m(q2,a)= m(q2,b)=
试为其构造dfa,它能接受bababab和abababb吗?
4、设有文法g[z8分)
z→ss→l=r | r
l→*r| i
r→l已知lr(1)项目集is=,计算closure(is)的值。
5、选做题:要求从下面给出的(1)、(2)两题中任选一题完成。
1)设当前层数为l,可用偏移量offset值为101,且有下面程序,写出相关的符号表和类型表20分)
const a=245.43;
type r=record
y:integer;
x:real;
end;var c:integer;
d:array [3..6] of r;
2)已知文法g(e)
e→t|e+t
t→f|t* f
f→(e)|i
(i) 给出句型(t * f+i)的最右推导及画出语法树(10分);
(ii) 给出句型(t * f+i)的所有短语、直接短语。(10分)
6、试写出下列赋值语句的四元式中间**,其中各数组的下界为1,上界为10。(10分)
d[i][j]:=d[i][j]+1
三、分析题(20分)
对下列文法:
z→ss→brst | br
r→dsa | e
t→fra | f
(1)求各非终极符的first和follow集合。
(2)构造该文法的slr(1)分析表。
编译原理试题
语法分析 自顶向下的分析。重点与难点。重点 自顶向下分析的基本思想,分析器总体结构,分析表的构造,递归下降分析法基本思想,简单算术表达式的递归下降分析器。难点 first和follow集的求法,对它们的理解以及在构造ll 1 分析表时的使用。递归子程序法中如何体现分析的结果。基本要求。掌握语法分析 ...
编译原理试题
编译原理模拟试题。班级姓名学号。1 20分 写出字母表 上语言l 的正规式,并画出接受该语言的最简dfa。2.10分 计算文法g m 的每个非终结符的first和follow集合,并判断该文法是否是ll 1 的,请说明理由。g mm tb t ba b db et d d 3.10分 写一个文法使其...
编译原理试题
东南大学。一 文法g1 e et t t tf f f fp p p e i1 试证明符号串tet i 是g1的一个句型 要求画出语法树 2 写出该句型的所有短语,简单短句和句柄。三 1 试写出一个上下文无关文法g3,它能产生配对的圆括号串 例如等,甚至包含0对括号 2 使用文法g3给出输入串 的自...