二填空题 1. 不同的编译程序关于数据空间的存储分配策略可能不同,但大部分编译中采用的方案有两 种:静态存储分配方案和动态存储分配方案,而后者又分为(1) 和 (2) 。 2. 规范规约是最(3)规约。 3. 编译程序的工作过程一般划分为5 个阶段:词法分析、(4) 、语义分析与中间代码生成,代码优化及(5) 。另外还有(6)和出错处理。 4.表达式 x+y*z/(a+b)的后缀式为 (7) 。 5.文法符号的属性有综合属性和 (8)。 6.假设二位数组按行存放,而且每个元素占用一个存储单元,则数组 a[1..15,1..20]某个元素 a[i,j]的地址计算公式为(9)。 7.局部优化是局限于一个(10)范围内的一种优化。 答案 (1) 栈式动态存储分配 (2) 堆式动态存储分配 (3) 左 (4) 语法分析 (5) 目标代码生成 (6) 表格管理 (7) xyz*ab+/+ (8) 继承属性 (9) a+(i-1)*20+j-1 (10) 基本块 8 词法规则通常可以用____正规式________,正规文法、____自动机________描述;语法规则通常用___2 型文法___来描述;语义规则通常用__属性文法_____来描述。 9 编译原理的工作过程一般划分为:词法分析、语法分析、语义分析、优化和目标代码生成五个阶段。 1.( )称为规范推导。 2.编译过程可分为 ( ) ,( ),( ),( )和( )五个阶段。 3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是( )。 4.从功能上说,程序语言的语句大体可分为( )语句和( )语句两大类。 5.语法分析器的输入是( ),其输出是( )。 6.扫描器的任务是从( )中识别出一个个( )。 7.符号表中的信息栏中登记了每个名字的有关的性质,如( )等等。 8.一个过程相应的DISPLAY 表的内容为( )。 9.一个句型的最左直接短语称为句型的( )。 10.常用的两种动态存贮分配办法是( )动态分配和( )动态分配。 11.一个名字的属性包括( )和( )。 12.常用的参数传递方式有( ),( )和( )。 13.根据优化所涉及的程序范围,可将优化分成为( ),( )和( )三个级别。 14.语法分析的方法大致可分为两类,一类是( )分析法,另一类是( )分析法。 15.预测分析程序是使用一张( )和一个( )进行联合控制的。 16.常用的参数传递方式有( ),( )和( )。 17.一张转换图只包含有限个状态,其中有一个被认为是( )态;而且实际上至少要有一个( )态。 18.根据优...