更新时间:2024-09-11 16:27:41
封面
版权信息
作者简介
出版说明
前言
第1章 概述
1.1 内容组织
1.2 编译器的结构
1.2.1 词法分析
1.2.2 语法分析
1.2.3 语义分析
1.2.4 中间代码生成
1.2.5 目标代码生成
1.2.6 中间代码优化
1.3 语言和工具简介
1.3.1 源语言C--简介
1.3.2 目标语言MIPS简介
1.3.3 MIPS模拟器简介
1.3.4 实践环境
第2章 词法分析和语法分析
2.1 词法分析和语法分析的理论方法
2.1.1 词法分析概要
2.1.2 正则表达式
2.1.3 有限状态自动机
2.1.4 从NFA到DFA的转换
2.1.5 状态最小化算法
2.1.6 语法分析概要
2.1.7 上下文无关文法
2.1.8 自顶向下的语法分析算法
2.1.9 自底向上的语法分析算法
2.2 词法分析和语法分析的实践技术
2.2.1 词法分析实现思想概述
2.2.2 GNU Flex介绍
2.2.3 Flex:编写源代码
2.2.4 Flex:书写正则表达式
2.2.5 Flex:高级特性
2.2.6 词法分析实践的额外提示
2.2.7 语法分析实现思想概述
2.2.8 GUN Bison介绍
2.2.9 Bison:编写源代码
2.2.10 Bison:属性值的类型
2.2.11 Bison:词法单元的位置
2.2.12 Bison:二义性与冲突处理
2.2.13 Bison:源代码的调试
2.2.14 Bison:错误恢复
2.2.15 语法分析实践的额外提示
2.3 词法分析和语法分析的实践内容
2.3.1 实践要求
2.3.2 输入格式
2.3.3 输出格式
2.3.4 验证环境
2.3.5 提交要求
2.3.6 样例(必做部分)
2.3.7 样例(选做部分)
2.4 本章小结
习题
第3章 语义分析
3.1 语义分析的理论方法
3.1.1 属性文法
3.1.2 基于属性文法的处理方式
3.1.3 S属性文法和L属性文法
3.1.4 语法制导的定义
3.1.5 语法制导的翻译方案
3.1.6 SDT中左递归的消除
3.1.7 类型检查
3.2 语义分析的实践技术
3.2.1 语义分析实现思想概述
3.2.2 符号表的设计与实现
3.2.3 支持多层作用域的符号表
3.2.4 类型表示
3.2.5 语义分析实践的额外提示
3.3 语义分析的实践内容
3.3.1 实践要求
3.3.2 输入格式
3.3.3 输出格式
3.3.4 验证环境
3.3.5 提交要求
3.3.6 样例(必做部分)
3.3.7 样例(选做部分)
3.4 本章小结
第4章 中间代码生成
4.1 中间代码生成的理论方法
4.1.1 运行时环境概要
4.1.2 存储组织与栈帧设计方法
4.1.3 中间表示
4.1.4 类型与声明
4.1.5 表达式的翻译
4.1.6 控制流与回填
4.2 中间代码生成的实践技术
4.2.1 线形中间表示
4.2.2 图形中间表示
4.2.3 运行时环境简介
4.2.4 基本表达式的翻译模式
4.2.5 语句的翻译模式
4.2.6 函数调用的翻译模式
4.2.7 数组和结构体的翻译模式
4.3 中间代码生成的实践内容
4.3.1 实践要求
4.3.2 输入格式