编译原理期末复习.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编译原理期末复习
第七章
1. 根据所涉及的范围,优化可分为局部优化、全局优化、循环优化 3种。
2. 编译程序进行数据流分析的目的是代码优化。
3. 局部优化是局限于一个基本块范围内的一种优化。
第六章
1. 数据对象运行时的表示由它的(类型决定。
2. 当过程名出现在可执行语句中时,就说过程在该点被(调用。
3. 可以用一棵树来描绘控制进入和离开活动的方式,称之为(活动树。
4. 一个声明起作用的那部分程序称为该声明的(作用域。
5. 程序块的概念起源于(Algol 语言。
6. 堆式动态分配在申请和释放存储空间时遵循(自由申请和释放原则。
7. 栈式动态分配与管理在过程返回时应做的工作有(恢复 TOP 。
第五章
1. 在分析树中, 一个节点的 (继承属性是由该节点的父节点和 /或兄弟节点的属性决定。
2. 如果分析树中一节点的属性 b 依赖于属性 c , 那么这个节点的属性 b 的语义规则的计算必须在定义属性 c 的语义规则的计算(之后。
3. 表达式的无环有向图叫做(dag 。
4. 语法树是(分析树的浓缩表示。
5. 三地址代码是语法树或 dag 的(线性化表示。
6. 有 2种方式表示和产生式相联系的语义规则,即语法制导定义和翻译方
案。
7. 语法制导定义是上下文无关文法的推广, 其中每个文法符号都有一个属性集合, 它分成 2个子集,分别为文法符号的综合属性集合和继承属性集合。
8. 仅仅使用综合属性的语法制导定义叫做 S 属性定义。对于 S 属性定义, 分
析树的注释可以自底向上完成:从叶节点到根,通过计算语义规则而得到节点的属性。
9. 三地址语句是中间代码的抽象形式。在编译器中这些语句可以用记录实现, 这种记录有运算符和运算对象域。三地址语句的表示形式分别有三元式、四元式和间接三元式。 10. 布尔表达式由布尔运算符作用于布尔量或关系表达式构成。
11. 可以把布尔表达式翻译成没有任何布尔运算符的三地址代码, 该代码运行时可能只计算部分表达式,这种风格的计算有时叫做“ 短路”或“ 转移”代码。
12. L 属性定义,其中 L 表示 Left ,因为属性信息是从左往右传播的。
13. 判断两种文法是否等价可以利用带动作的分析树。
14. a+b*(c+d/e可被翻译成:1.t1:=d/e 2.t2:=c+t1 3.t3:=b*t2 4.t4:=a+t3。
三元序列:①(/,d,e②(+,c,①③(*,b,②④(+,a,③
四元序列:(/,d,e,t1 (+,c,t1,t2 (*,b,t2,t3 (+,q,t3,t4。
第四章
1. 每颗分析树都有(0个与之对应的最左推导。
2. 每个句子有(一个分析树。
3. 活前缀是(右句型的前缀。
4. LR 分析法是一种(由左到右的分析技术,
5. 语法分析的输入是单词符号串 ,输出是语法单位 (或分析树。
6. 给定一个文法 G ,如果 L(G中存在一个具有两颗或两颗以上的分析树的句子,则称 G 是二义性的。
7. 对于预测语法分析器, 每个非终结符都对应一个状态转换图 , 边上的标记是记号和非终结符。
8. LL (1中的第一个 L 代表从左向右扫描输入 ,第二个 L 代表产生最左推导。
9. 通过“裁剪句柄”可以得到最右推导的逆过程。
10. 移动归约语法分析器的四种可能动作分别是:移动、归约、接受、出错。
11. 出现在移进归约语法分析器栈中的右句型的前缀集合称为:活前缀。
12. LR (k 分析法, k 指的是在决定语法分析动作时需要向前看的符号个数。
13. LR 语法分析栈中存放的状态是识别活前缀的DFA状态。
14. YACC 是语法分析器的自动生成的工具。
第三章
1. 通常对符号表的查找方法有(顺序查找法 (折半查找法 (杂凑法 (分块查找法。
2. Lex 输入文件由以下(定义集 (规则集 (辅助程序集 (用户程序集部分组成。
3. Lex 规定了对字符串的两个处理原则是(规则优先原则 (最长子串匹配原则。
4. (Lex 是词法分析器的自动生成工具。
5. 词法分析器输入是字符串 (或源程序 ,输出是记号 (或称单词、 Token 字。
6. 在程序语言中,词法分析时具有独立意义的最小单位是记号 (或称单词。
7. 词法分析时识别出来的成分的机内表示为 Token 字。
8. 当内存容量很大时, 可将源程序一次读入到内存的一个源程序区, 每一个符号通常占用一个字节。但为了节省存储空间, 通常在内存中开辟一个输入缓冲区 , 先将源程序顺序地分批读入输入缓冲区。
9. 用术语字母和字符类表示有限符号的集合。
10. 编译过程中扫描器所完成的任务从源程序中识别出一个个具有独立语法意义的单词。第二章
1. 文法 G 所描述的语言是(由文法的识别符号推出的所有终结符号串的集合。
2. 一个上下文无关文法 G 包含的四个组成部分依次为:一组(终结符号 ,一组(非终结符 ,一组(开始符号 ,一组(产生式。
3. 文法的二义性和语言的二义性是两个(不同的概念。
4. 一个语言的文法是(不唯一的。
5. 巴科斯 -诺尔范式(即 BNF 是一种广泛采用(描述文法的工具。
6. 已知语言 L={a的 n 次 *b*b的 n 次|n≥ 1},则下述文法, (Z->aAb A->aAb|b可以产生语言 L 。
7. 下列属于字符串 banana 的子串是(babn 。