跪求《软件测试方法和技术》朱少民 第二版 课后习题答案~~~~
目 录第1章 编译器概述 1.1 为什么要学习编译技术 1.2 编译器和解释器 1.3 编译器的功能分解和组织结构 1.4 编译器的伙伴 1.5 编译器的复杂性 1.6 编译器的设计与实现 1.7 编译器的测试与维护第2章 一个微型编译器 2.1 基础知识 2.2 ToyL语言 2.3 ToyL语言词法分析器 2.4 ToyL语言语法分析器 2.5 ToyL语言解释器 2.6 ToyL语言编译器第3章 有穷自动机与词法分析 3.1 词法分析基础 3.1.1 词法分析器的功能 3.1.2 单词识别 3.1.3 词法分析的复杂性 3.1.4 字符串 3.1.5 保留字处理 3.1.6 空格符、回车符、换行符 3.1.7 括号类配对预检 3.1.8 词法错误修正 3.1.9 词法分析独立化的意义 3.2 有穷自动机 3.2.1 确定有穷自动机的定义 3.2.2 确定有穷自动机的实现 3.2.3 非确定有穷自动机 3.2.4 NFA到DFA的转换 3.2.5 确定有穷自动机的极小化 3.2.6 自动机状态转换表的实现 3.3 正则表达式 3.3.1 正则符号串集 3.3.2 正则表达式的定义 3.3.3 正则表达式的局限性 3.3.4 正则定义 3.3.5 正则表达式到有穷自动机的转换 3.4 词法分析器的构造 3.4.1 用DFA人工构造词法分析器 3.4.2 词法分析器的生成器Lex 练习第4章 文法与语法分析 4.1 语法分析 4.1.1 语法分析器的输入 4.1.2 语法分析的任务 4.1.3 语法分析方法分类 4.2 文法和文法分析 4.2.1 上下文无关文法和语言 4.2.2 最左推导和最右推导 4.2.3 语法分析树与二义性 4.2.4 文法分析算法 4.2.5 自顶向下方法概述 4.2.6 自底向上方法概述 4.3 递归下降法——自顶向下分析 4.3.1 递归下降法原理 4.3.2 消除公共前缀 4.3.3 代入 4.3.4 消除左递归 4.4 LL分析方法——自顶向下分析 4.4.1 LL(1)文法 4.4.2 LL(1)分析表 4.4.3 LL(1)分析的驱动器 4.4.4 LL(1)中的If-Then-Else问题 4.4.5 LL(1)分析器的自动生成器LLGen 4.4.6 LL(1)分析法与递归下降法的比较 4.4.7 正则文法 4.5 LR方法——自底向上分析 4.5.1 句柄 4.5.2 活前缀 4.5.3 归约活前缀识别器——LR(0)自动机 4.5.4 LR(0)文法及其分析算法 4.5.5 SLR(1)文法及其分析算法 4.5.6 LR(1)文法 4.5.7 LALR(1)文法 4.5.8 二义性文法的处理 4.5.9 另一种Shift-Reduce分析技术:简单优先法 4.5.10 LL(1)和LALR(1)方法比较 4.6 LR分析器的生成器 4.6.1 LALR分析器的生成器YACC 4.6.2 LALR分析器的生成器LALRGen 4.7 语法错误处理 4.7.1 错误恢复和修复 4.7.2 递归下降分析的错误恢复 4.7.3 LL分析的错误恢复 4.7.4 LR分析的错误恢复 练习第5章 语义分析 5.1 语义分析基础 5.1.1 语义分析内容 5.1.2 标识符信息的内部表示 5.1.3 类型信息的内部表示 5.1.4 运行时值的表示 5.2 符号表 5.2.1 符号表查找技术 5.2.2 符号表的局部化 5.2.3 二叉式局部符号表 5.2.4 散列式全局符号表 5.2.5 嵌套式全局符号表 5.2.6 符号表界面函数 5.3 类型分析 5.3.1 类型的等价性和相容性 5.3.2 类型分析的总控算法 5.3.3 类型名分析 5.3.4 枚举类型分析 5.3.5 数组类型分析 5.3.6 记录类型分析 5.3.7 联合类型分析 5.3.8 指针类型分析 5.3.9 递归类型分析 5.4 声明的语义分析 5.4.1 声明的语法结构 5.4.2 标号声明部分的语义分析 5.4.3 常量声明部分的语义分析 5.4.4 类型声明部分的语义分析 5.4.5 变量声明部分的语义分析 5.4.6 过程、函数声明的语义分析 5.5 执行体的语义分析 5.5.1 执行体的语义分析 5.5.2 带标号语句和转向语句的语义分析 5.5.3 赋值语句的语义分析 5.5.4 条件语句的语义分析 5.5.5 while循环语句的语义分析 5.5.6 for循环语句的语义分析 5.5.7 过程调用语句的语义分析 5.5.8 表达式的语义分析 5.5.9 变量的语义分析 练习第6章 运行时的存储环境 6.1 运行时的存储空间结构与分配 6.1.1 运行时的存储空间基本结构 6.1.2 静态区的存储分配 6.1.3 栈区的存储分配 6.1.4 堆区的存储分配 6.1.5 堆区空间管理 6.2 过程活动记录与栈区组织结构 6.2.1 过程活动记录 6.2.2 活动记录的填写 6.2.3 栈区组织结构——AR链 6.3 运行时的变量访问环境 6.3.1 可访问活动记录 6.3.2 局部Display表方法 6.3.3 静态链方法 6.3.4 全局Display表方法和寄存器方法 6.3.5 无嵌套时的AR及访问环境 6.4 分程序和动态数组空间 6.4.1 无动态数组时的分程序空间 6.4.2 动态数组空间 练习第7章 面向语法的语义描述 7.1 动作文法 7.1.1 动作文法定义 7.1.2 动作文法的递归实现 7.1.3 动作文法的LL实现 7.1.4 动作文法的LR实现 7.2 动作文法应用 7.2.1 用动作文法描述表达式计算 7.2.2 用动作文法描述表达式抽象树的构造 7.2.3 用动作文法描述语句抽象树的构造 7.3 抽象动作文法及其应用 7.3.1 抽象变量 7.3.2 抽象动作文法 7.3.3 栈式LL动作文法驱动器 7.3.4 抽象动作文法到栈式LL动作文法的转换 7.3.5 栈式LR动作文法驱动器 7.3.6 抽象动作文法到栈式LR动作文法的转换 7.4 属性文法 7.4.1 属性文法定义 7.4.2 属性语法树和属性依赖图 7.4.3 计算顺序 7.4.4 属性值的计算方法 7.4.5 拷贝型属性文法 7.5 属性文法在编译器设计中的应用 7.5.1 类型树的属性文法描述 7.5.2 表达式中间代码的属性文法描述 7.5.3 变量中间代码的属性文法描述 7.5.4 语句中间代码的属性文法描述 7.5.5 正则表达式到自动机转换的属性文法描述 7.6 S-属性文法及其属性计算 7.6.1 S-属性文法 7.6.2 S-属性文法的递归实现 7.6.3 S-属性文法的LR实现 7.7 L-属...
转载请注明出处51数据库 » 软件测试方法和技术 第二版 课后答案 (