哈尔滨工程大学2007-2008年操作系统期末考试试题卷
好词好句好段 时间:
推荐访问:
2008年司法考试卷二
哈尔滨工程大学本科生考试试卷
( 2007-2008 年 第二 学期)
课程编号:06020060 课程名称: 编译原理 (B卷)
一、 是非题(下列各题你认为正确的,请在题干的括号内打“√”,错的打“×”。 每题1分,共 5分)
l、一个LL(1)文法一定是无二义的。………………………………………… ( )
2、逆波兰式亦称前缀式。………………………………………………………( )
3、目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。………( )
4、正规文法产生的语言都可以用上下文无关文法来描述。…………………( )
5、一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。
………………………………………………………………………………( )
二、填空题(每题2分,共20分)
1、语法分析是依据语言的( )规则进行的,中间代码产生是依据语言的 ( )规进行的。
2、程序语言的单词符号一般可以分为 ( )等等。
3、语法分析器的输入是( ),其输出是( )。
4、所谓自上而下分析法是指( )。
5、如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是( )。
6、对于文法G,仅含终结符号的句型称为( )。
7、逆波兰式ab+c+d*e-所表达的表达式为( )。
8、一个名字的属性包括( )和( )。
9、对于数据空间的存贮分配, FORTRAN采用( )策略, PASCAL采用( )策略。
10、所谓优化是指( )。
三、名词解释题(每题2分,共10分)
l、词法分析器:
2、语法:
3、最右推导:
4、语法制导翻译:
5、基本块:
四、简述题(每题4分,共24分)
l、考虑下面的程序:
…………
Var i: integer;
a:array[1••2] of integer;
procedure Q(b);
Var b: integer;
Begin
i:=1;b:=b+2;
i =2;b:=b+3
End;
Begin
a[1]:=5; a[2]:=6;
i:= 1;
Q(a[i]); print(a[l],a[2])
End.
试问,若参数传递的方式分别采用传地址和传值时,程序执行后输出 a[l], a[2]的值是什么?
2、画出识别pascal中实常数(可带正负号,但不含指数部分)的状态转换图。
3、已知文法G(S):
S→a |(A)
T→T,S | S
的优先关系如下:
4、写出表达式(a+b)/(a-b)-(a+b*c)的三元序列及四元序列。
5、符号表的作用是什么?符号表的查找和整理技术有哪几种?
6、何谓DISPLAY表?其作用是什么?
五、计算题(41分)
1、写一个文法使其语言为偶数集,且每个偶数不以0开头。(5分)
2、已知文法G(S):
S→a |(T)
T→T,S|S
(1)给出句子(a,(a,a))的最左推导并画出语法树;
(2)给出句型((T,s),a )的短语、直接短语、句柄。(8分)
3、把语句
if x>0 y>0 then z:=x+y
else Begin
x:=x+2
y:=y+3
End;
翻译成四元式序列。(6分)
4、设某语言的for语句的形式为
for i:=E(1) to E(2) do S
其语义解释为
i:=E(1)
LIMIT:=E(2)
again: if i<=LIMIT then
Begin
S;
i:=i+1
goto again
End;
(1)写出适合语法制导翻译的产生式;
(2)写出每个产生式对应的语义动作。(6分)
5、设文法G(S):
S→S+aF | aF |+aF
F→*aF | *a
(1)消除左递归和回溯;
(2)构造相应的First和Follow集合;
(3)构造预测分析表。(10分)
6、对以下基本块
T1=2
T2:=A-B
T3=A+B
T4=T2*T3
T5=3*T1
T6=A-B
T:=A+B
T7=T6+L
T8=T5*4
M:=T8+T7
L:=M
(1)画出DAG图;
(2)假设只有L在基本块出口之后还被引用,请写出优化后的四元式序列。(6分)
上一篇:
金属学与热处理原理试题及答案
下一篇:
编译原理实验报告模板