编译原理模拟试题九
一、填空题每题2分,共20分
1、语法分析是依据语言的
规则进行的,中间代码产生是依据语言
的
规则进行的。
2、程序语言的单词符号一般可以分为
等等。
3、语法分析器的输入是
,其输出是
。
4、所谓自上而下分析法是指
。
5、如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是
。
6、对于文法G,仅含终结符号的句型称为
。
7、逆波兰式abcde所表达式为
。
8、一个名字的属性包括
和
。
9、对于数据空间的存贮分配,FORTRAN采用
策略,PASCAL采
用
策略。
10、所谓优化是指
。
二、名词解释每题2分,共10分
1、词法分析器
2、语法
3、最右推导
4、语法制导翻译
5、基本块
三、简述题每题4分,共24分
1、考虑下面程序
Varii
tegeraarray12ofi
tegerprocedureQbVarbi
tegerbegi
i1bb2i2bb3E
dbegi
a15a26i1Qaipri
ta1a2END试问:若参数传递的方式分别采用传地址和传值时,程序执行后输出a1么
a2的值是什
2、画出Pascal中实数不带正负号,可带指数部分的状态转换图。
3、已知文法GSS→aTT→TSS的优先关系表如下:
关系
a
fa
请计算出该优先关系表所对应的优先函数表。
4、写出表达式ababaabc的三元式序列及四元序列。
5、符号表的作用是什么?符号表的查找的整理技术有哪几种
6、所谓DISPLAY表?其作用是什么
四、计算题共41分
1、写一个文法,使其语言是偶数集,且每个偶数不以0开头。5分
2、已知文法GSS→a∧T
T→TSS⑴给出句子aaa的最左推导并画出语法树;⑵给出句型TSa的短语、直接短语、句柄。8分
3、把语句ifx0∧y0the
zxy
elsebegi
xx2yy3END翻译成四元式序列。6分
4、设某语言的for语句的形式为
foriE1TOE2doS其语义解释为
iE1LIMITE2agai
ifiLIMITthe
BEGINSii1gotoagai
END⑴写出适合语法制导翻译的产生式;⑵写出每个产生式对应的语义动作。6分
5、设文法GS
S→SaFaFaFF→aFa⑴消除左递归和回溯;
⑵构造相应的FIRST和FOLLOW集合;⑶构造预测分析表10分
6、对以下基本块T12
fT2ABT3ABT4T2T3T53T1T6ABLABT7T6LT8T54MT8T7LM⑴画出DAG图;⑵假设只有L在基本块出口之后还被引用,请写出优化后的四元式序列。6分
参考答案一、填空题1、语法、语义2、基本字、标识符、常量、算符、界符3、单词符号串、语法单位4、从开始符号出发,向下推导,推出句子5、二义的6r