1、12009 2010 学年第二学期 计算机科学与技术 07 专业编译原理 试卷(A)卷 一、填空题(每空 2 分,10 个空,共 20 分,请将正确的答案填写在题中的横线上)1. 语言的核心是由语法和语义两部分构成,其中语法是语言的形式,语义是语言的 。2. 编译程序从语言类型或实现机制的不同角度一般可以分为汇编程序、编译程序和 。3. 设字母表 A=x,y,z,w,字母表 A 上的符号串 =xyzw,则B3= 。4. 语法分析的主要任务是按照语言的语法规则,对单词串形式的源程序进行 ,并识别出相应的语法成分。5. 已知文法 GEE-TEE-+TE|T-FTT-*FT|F 一(E)|idFOL
2、LOW(F)=_,FIRST(T)= *,题 号 一 二 三 四 合计得 分阅卷人河北科技师范学院装订线系(部)班 级学 号姓 名得 分 阅卷人26. LR(0)分析表的名字中, “L”的含义是 。7. 是指在编译时进行的存储分配。8. 从优化所涉及的源程序的范围而言,可以把优化分为局部优化、 和全局优化。9. 常见的中间语言表示形式有 、N-元式表示、图表示。10. 编译程序在执行的过程中,为了完成源程序到目标代码的翻译,需要不断收集、记录和使用程序中的一些语法符号的类型、特征和属性等相关信息,常用一些表格来管理,这些表格统称为 。二、选择题(每题 1 分,10 题,共 10 分)(在每小题
3、列出的四个备选项中只有一个是符合题目要求的,请将其代码填在题后的括号内。错选、多选或未选均无分。 )1. 设有文法 GS:SiSeS|iS|i,该文法_二义性文法( )A. 不是 B. 是 C.无法判断 D.可能2. 一个句型的最左直接短语称为该句型的_( )A.短语 B. 句型 C.简单短语 D.句柄3. 语法分析的常用方法是_( )自顶向下 自底向上 自左向右 自右向左A. B. C. D. 4. 在编译中产生语法树是为了_( )A. 语法分析 B. 语义分析 C. 词法分析 D. 产生目标代码5. 编译程序从对源程序执行途径的角度不同,可分为 和 的得 分 阅卷人3翻译程序( )4A.
4、汇编执行和编译执行 B.解释执行和编译执行C. 解释执行和汇编执行 D. 并行和优化6. 一个确定的有限自动机 M 是一个五元组 M=(Q,f,q 0,Z),其中 Z 称为( )A. 输入字符的有限集合 B.终态集C. 唯一的初态 D. 状态的有限集合7. 设有语言 L=anbnci|n1,i0,则 L 的上下文无关文法的描述是( )ASAB AaAb|ab BcB|B. SAB AaAb|ab BcBC. SAB AaAb BcB|DSAB AaAbc|ab BcB|c8. 存储分配的基本单元是( )A.过程的活动记录 B. 堆和栈C. 符号表 D.存储组织9. 正规式转换为等价的有限自动机
5、的算法中,下列转换规则中正确的是( ) 0 1r1r20 10 1r1r20 1r1*r1|r20 2r10 20 1r11r210 1r25C. D.610. 赋值语句 x=a+b/c 的三元式表示为( )A. B.D.三、判断题(每题 2 分,10 题,共 20 分)(对的在后面的括号内打“”号 错误的打“” )1. 一个正规文法也一定是二型文法( )2. 符号表由词法分析程序建立,由语法分析程序使用( )3. 源 语 言 是 编 写 被 编 译 的 程 序 使 用 的 语 言 ( )4. FA 的初始状态可以是多个( NO. OP ARG1 ARG2(1) / b c(2) + a (2
6、)(3) = (2) xNO. OP ARG1 ARG2(1) + a b(2) * c (2)(3) = (2) xNO. OP ARG1 ARG2(1) + a b(2) * c (2)(3) = (2) xNO. OP ARG1 ARG2(1) + a b(2) * c (2)(3) = (2) x得 分 阅卷人C.7)5. 在 LR 算法中,对于当前栈顶 Sm,当前符号 ai查 action 表,如果8actionSm,ai=rj,则完成移进动作( )6. 对任何一个编译程序,一定会产生中间代码( )7. 自下而上的分析方法是一种基于目标的方法,分析过程是一个归约过程( )8. 有限自
7、动机与 3 型文法等价,它能识别正则文法所定义的语言( )9. 语法制导是对上下文无关文法制导下的语言进行翻译( )10. 在 LR 算法中,goto 表的元素是表示进行“移进”还是进行“归约”的( )四、分析题(共 50 分)(第 1、2 题每题 10 分,3、4 题每题 15 分)1. 设文法 G(S)为:SaA|bAAa|aB|b|bCBaACbA(1)给出 G(S)的元语言符号集、文法符号集、终结符号集、非终结符号集(2)判断符号串 aaabbb 是否为文法 G(S)的句子,如果是画出其分析得 分 阅卷人9树。102. 将下面程序划分成基本块并作出其程序流图(1)read A,B;(2
8、)F=1;(3)C=A*A;(4)D:=B*B;(5)if CF goto (3);(9)write E;(10)E=B*B;(11)F=F+2;11(12)E=E+F;(13)write E;(14)if E100 goto(9);(15)F=F-1;123. 给定非确定的有限自动机 M 如下图所示将 M 确定化,并画出确定化后的状态转换图(要求:写出步骤)61b 2 34578aaab13144. 设有文法 G(E)如下:ETEE+TE| TFTT*FT| F(E)|i其分析表如下,给出句子 i*i+i+i 的分析过程终 结 符VNi + * ( ) #E ETE E TEE E +TE E E T TFT T FTT T T *FT T T F Fi F(E)