一.填空题(10分)
1.符号表内容可作为上下文语义检查和作为目标**生成阶段地址分配的依据。
2.常见的中间**形式有逆波兰式、三元式和四元式。
3.pl/0编译程序为过程活动记录分配的联系单元分别是动态链、静态链和返回地址。
4.寄存器分配的原则是通过对寄存器的有效利用提高目标**的运行效率。
5.算符优先文法g的每一对终结符之间至多成立一种优先关系。
6.布尔表达式翻译的语义规则中使用了拉链和回填技术。
7.语法分析工作和目标**生成工作分属于编译过程的前端和后端。
8.属性文法表示为a=(g,v,f),其中v和f分别是属性的有穷集和断言。
9.g是一个文法,s是g的开始符号,如果符号串x是从识别符号推导出来的则x是一个句子。10.pl/0语言中表达式的语法分析部份由子程序expression 、term和factor构成。
二、单项选择题(10 分)
1.yacc是一种常用的自动构造工具。
a)语法分析器b)词法分析器c) 语法和词法分析器d)语义分析器。
2.给定文法a→aa | ab,下面的符号串中,为该文法句子的是。
a) aaba b) aaab c) baaa d) abaa
3.表达式a + b*c / d对应的逆波兰式是。
a) abc/*d+ b) abc*d/+c) ab*c/d+ d) abc*/d+
4.算符优先分析法中对句型中的进行归约。
a) 句柄b) 直接短语c) 素短语d)最左素短语。
5.设有文法g[s]:s→s*s |a+a | b ,该文法。
a) 不含左递归b)含公共左因子c) 是og文法d) 是ll(1)文法。
6.对于第5题中文法g[s],firstvt(s)=
a) b) c) d)
7.pl/0语言允许过程的递归调用,它的存储组织采用方法。
a) 静态分块分配b) 动态堆式分配c) 动态栈式分配d) 静态分配。
8.2型文法又被称为文法。
a) 上下文有关b) 上下文无关c) 正规d) 短语。
9.pl/0源程序中的单词“:=和“end”经识别后对应的单词种类分别是。
a) becomes和end b) eql 和endsym c) becomes和endsym d) eql和end
10.若某变量a 在本基本块后不再被继续引用,则称a是。
a) 活跃变量b) 非活跃变量c) 静态变量d) 动态变量。
三、是非题(10 分)
1. 正规式的描述能力强于正规文法的描述能力(f )
2. 变量的待用信息指出了该变量值的后续引用的位置(t )
3. pl/0编译程序的语法分析采用的是自顶向下的**分析方法(f )
4. 为了及时回填有关四元式的转移目标,可对文法作等价改写(t )
5. 句型的句柄定义为该句型中位于最左边的短语(f)
6. 算符文法的句型中不含相邻的非终结符号(t )
7. 一个二义文法所生成的语言一定也是二义的语言(f)
8. 语言:l=可由一个正规文法产生。(f )
9. 由开始符号出发,每步进行归约的方法称为自上而下语法分析方法(t )
10.循环体内的不变运算不一定能提取到循环外执行(t)
四、设计题(第1题10分,第2题5分)
构造一个dfa,接受∑=上由正规式(aa|ab)*(ab) 定义的字符串,给出相应的正规文法。
1.dfa:
2.正规文法:
五、设计题(第1题8分,第2题5分)
对下列基本块b应用dag进行优化,设只有v在基本块后面还要继续引用。
b: t1:= a + b
v:= 2 * t1
t2:= a - b
t3:=t1*t2
v:= t3
t4:= a + b
v= t4 / t3
1.基本块b的dag
2.优化后的基本块b’
六、设计题(15分)
补充完整下列源语句通过语法制导翻译后生成的四元式序列。
源语句:read(a,b);
if (a<10 or b >50 )
while ( a < b) do
begina:=a+1;
b=b-2*a;
end;四元式序列:
1) read(a)
2) read(b)
七.证明题(第1题2分,第2,3题各5分)
设有文法g[s]:s→a a | a a b a→a b | d b→e
1)证明g[s]是一个非ll(1)文法。
2)把g[s]等价改写为ll(1)文法g1[s],并给出证明。
3) 构造题2)中ll(1)文法g1[s]的**分析表:
a b d e #sa
bs′a′八.综合题(每小题5分)
设有文法g[s’]:0) s’→s
1)s→aab
2)a→ba
3) a→b
4) b→d
1. 构造g[s]的lr(0)项目规范族c=,包括go (i,x)
2. 说明g[s]属于哪一种lr文法,构造相应的lr分析表。
状态 a b d # s a b
3. 对输入串abdb# 给出分析过程:
步骤状态符号输入串动作。
# abbd#
2023年编译原理考题 答案
一 选择题 每个选择题 2 分,共 20 分 1 文法 g 产生的 的全体是该文法描述的语言。a 句型 b.终结符集 c.非终结符集 d.句子 2 若文法 g 定义的语言是无限集,则文法必然是 a 递归的 b 前后文无关的 c 二义性的 d 无二义性的 3 chomsky 定义的四种形式语言文法中,...
2023年编译原理期中试题 解答
1 10分 对下列错误信息,请指出可能是编译的哪个阶段 词法分析 语法分析 语义分析 生成 报告的。1 else 没有匹配的if 2 数组下标越界。3 使用的函数没有定义。4 在数 现非数字字符。5 函数调用时实参与形参类型不一致。答案 每小题2分 1 语法分析。3 语义分析。4 词法分析。5 语义...
2019计科编译原理考试模拟题
石河子大学2003 至2004 学年第二学期。编译原理课程试卷d 一 名词解释 2 5分,所有答案均写在答题纸上 1 编译程序2 最右推导 3 素短语 4 文法的二义性 5 算符优先文法。二 填空 每空1分,共16分 1 编译过程划分为语义分析。目标 生成六个阶段,同时还伴有出错处理。两个过程。2 ...