更新时间:2024-05-14 10:49:34
封面
版权信息
内容简介
前言
第一篇 PIC16Fxxxx编译器(cc16e.exe)的设计
第1章 工具准备和系统设置
1.1 GNU C/C++编译工具的选择
1.2 解析工具构造器
1.3 工具的安装
1.4 目标编译器运行前的系统设置
第2章 预处理器的设计
2.1 预处理器(C/C++版)
2.2 源程序预处理器(flex版)
2.3 本章小结
第3章 编译器设计初步实践
3.1 设计简介
3.2 一个简单的C语言关键字识别器
3.3 编译器雏形(flex和bison的使用)
3.4 语法解析和词法解析之间的数值传递
3.5 编译树的构建
3.6 源程序语句代码的截取和嵌入
3.7 编译树的显示
第4章 编译器设计实战
4.1 对C语言的词法解析
4.2 对C语言的语法解析
4.3 支持预处理等语句的语法解析
4.4 支持结构化数据的语法解析
4.5 支持对typedef的语法解析
4.6 本章小结
第5章 编译树的预扫描
5.1 符号表的基本数据结构和应用
5.2 符号的链表操作
5.3 对编译树的预扫描
5.4 本章小结
第6章 P-代码与虚拟机
6.1 基本数据结构
6.2 变量表和函数表
6.3 P-代码生成基础
6.4 P-代码生成过程
6.5 本章小结
第7章 P-代码的优化
7.1 清除冗余的代码
7.2 代码的合并简化
7.3 条件跳转操作的优化
7.4 关于特殊常数操作运算的优化
7.5 关于临时变量使用的优化
7.6 其他种类的优化
7.7 本章小结
第8章 汇编语言输出
8.1 PIC16Fxxxx处理器简介
8.2 编译器的汇编语言输出
8.3 运行代码的汇编语言输出
8.4 非运行代码的汇编语言输出
第9章 PIC16Fxxxx编译器最后的完善
9.1 为编译器增加编译运行的编译选项
9.2 编译器库函数的设计
9.3 支持超强型PIC16Fxxxx处理器的思考和对策
第二篇 PIC16Fxxxx汇编器(as16e.exe)的设计
第10章 PIC16Fxxxx汇编器的词法解析器
10.1 数据结构的设计
10.2 汇编器的词法解析设计
10.3 汇编器的语法解析设计
10.4 汇编器对输入文件的扫描
10.5 汇编器的代码转换输出
10.6 汇编器的最后完善
第三篇 PIC16Fxxxx连接器(lk16e.exe)的设计
第11章 PIC16Fxxxx连接器基本设计
11.1.obj文件的读入和语法扫描
11.2 分段类型及其数据结构
11.3 连接器起始和运行模式
11.4 内存类型和模式的建立
11.5 符号数据结构
11.6 连接操作
第12章 PIC16Fxxxx连接器的加强与深入
12.1 问题的提出和应对
12.2 函数活跃状态的判断原则
12.3 函数内部变量空间共享的实现和设计
12.4 本章小结
第13章 PIC16Fxxxx编译器设计的总结和应用实例
13.1 应用实例1:基于si47xx模块的收音机
13.2 应用实例2:USB/UART转接器