4.23文创礼盒,买2个减5元
欢迎光临中图网 请 | 注册

小型编译器设计实践

作者:苏孟晋
出版社:电子工业出版社出版时间:2024-01-01
开本: 其他 页数: 356
中 图 价:¥75.8(7.6折) 定价  ¥99.8 登录后可看到会员价
加入购物车 收藏
运费6元,满69元免运费
?快递不能达地区使用邮政小包,运费14元起
云南、广西、海南、新疆、青海、西藏六省,部分地区快递不可达
本类五星书更多>

小型编译器设计实践 版权信息

小型编译器设计实践 内容简介

本书主要着力于叙述编译器具体的设计和编程细节,并不侧重探究编译器的设计理论。本书以目前较为流行的两款微处理器(MCU)为例,设计、开发相应的C语言编译器工具包:(1) 加强型PIC16Fxxxx系列MCU、8位微处理器、RISC系统结构、小端式体系(little-endian)。(2) STM8系列MCU、8位微处理器、CISC系统结构、大端式体系(big-endian)。本书以实际目标处理器为对象,介绍和展现编译器设计的全部详细过程。

小型编译器设计实践 目录

**篇 PIC16Fxxxx编译器(cc16e.exe)的设计
第1章 工具准备和系统设置............................................................................................2
1.1 GNU C/C 编译工具的选择..................................................................................2
1.1.1 MinGW ........................................................................................................ 2
1.1.2 DJGPP .......................................................................................................... 2
1.1.3 Cygwin ......................................................................................................... 2
1.2 解析工具构造器 ...................................................................................................... 3
1.3 工具的安装 .............................................................................................................. 3
1.4 目标编译器运行前的系统设置 .............................................................................. 4
第2章 预处理器的设计...................................................................................................5
2.1 预处理器(C/C 版) ........................................................................................... 6
2.1.1 项目文件及其设置......................................................................................6
2.1.2 任务和算法.................................................................................................. 7
2.2 源程序预处理器(flex 版) ................................................................................. 11
2.2.1 正规表达式简介........................................................................................12
2.2.2 预处理器设计实战....................................................................................14
2.3 本章小结 ................................................................................................................ 20
第3章 编译器设计初步实践..........................................................................................21
3.1 设计简介 ................................................................................................................ 21
3.2 一个简单的 C 语言关键字识别器........................................................................22
3.2.1 工程项目文件............................................................................................22 3.2.2 项目运行主程序........................................................................................23
小型编译器设计实践
3.2.3 词法解析自动机部分................................................................................23
3.2.4 词法解析 C 语言部分 ............................................................................... 24
3.3 编译器雏形(flex 和 bison 的使用) .................................................................. 25
3.3.1 问题的提出和任务....................................................................................25
3.3.2 工程文件 makefile.....................................................................................26
3.3.3 词法解析规则部分....................................................................................26
3.3.4 词法解析的启动........................................................................................27
3.3.5 语法解析器文本及其基本格式 ................................................................ 27
3.3.6 语法解析器文本各区域的内容 ................................................................ 28
3.4 语法解析和词法解析之间的数值传递 ................................................................ 30
3.4.1 语法解析器文本的定义部分 .................................................................... 31
3.4.2 语法解析器识别规则部分 ........................................................................ 32
3.4.3 词法解析器解析规则部分 ........................................................................ 33
3.5 编译树的构建 ........................................................................................................ 34
3.5.1 编译树中的数据类型和结构 .................................................................... 34
3.5.2 节点生成和处理函数................................................................................35
3.5.3 语法解析器文本的定义部分 .................................................................... 36
3.5.4 语法解析器文本的语法解析识别规则部分 ............................................ 36
3.6 源程序语句代码的截取和嵌入 ............................................................................ 38
3.6.1 缓冲区与相关函数....................................................................................38
3.6.2 截取源程序代码并送入缓冲区中 ............................................................ 38
3.6.3 读取源代码缓冲内容................................................................................39
3.6.4 增加新定义并扩充 node 数据结构 .......................................................... 39
3.6.5 支持函数和程序........................................................................................40
3.6.6 在源程序片段中嵌入节点 ........................................................................ 41
3.7 编译树的显示 ........................................................................................................ 41
3.7.1 用于显示编译树的函数 ............................................................................ 42 3.7.2 编译树的显示操作....................................................................................42
第4章 编译器设计实战.................................................................................................44 4.1 对 C 语言的词法解析............................................................................................44
VIII

4.1.1 词法解析宏定义部分................................................................................44
4.1.2 各种常数解析识别....................................................................................45
4.1.3 C 语言关键字和标识符解析 .................................................................... 46
4.1.4 C 语言各种操作运算符识别 .................................................................... 46
4.1.5 关于字符和字符串常数的处理 ................................................................ 47
4.2 对 C 语言的语法解析............................................................................................ 47
4.2.1 描述特征的 attrib 完整结构 ..................................................................... 48
4.2.2 各类 node 数据结构的完善 ...................................................................... 48
4.2.3 语法解析定义部分的完善 ........................................................................ 49
4.2.4 函数声明/定义的完善............................................................................... 51
4.2.5 运算语法和运算符优先确定 .................................................................... 52
4.2.6 变量定义语法规则的完善 ........................................................................ 53
4.3 支持预处理等语句的语法解析 ............................................................................ 56
4.3.1 用于预处理语句的新增变量 .................................................................... 56
4.3.2 用于预处理语句的新增解析状态 ............................................................ 57
4.3.3 用于预处理语句的解析 ............................................................................ 57
4.3.4 用于预处理语句的节点和数据类型 ........................................................ 58
4.4 支持结构化数据的语法解析 ................................................................................ 61
4.5 支持对 typedef 的语法解析 ...........................
展开全部

小型编译器设计实践 作者简介

苏孟晋,出生于上海,祖籍江苏常州。1978年考入浙江大学计算机专业就读,1982年获学士学位。同年开始在上海同济大学计算机专业供职,1987年获讲师职称。1990年赴美留学,于1992年获硕士学位。

商品评论(0条)
暂无评论……
书友推荐
编辑推荐
返回顶部
中图网
在线客服