关于本书的内容有任何问题,请联系 李召
第1章 引论 1 1.1 程序设计语言的发展历程 2 1.2 程序设计语言的翻译机制 4 1.3 编译程序概述 6 1.3.1 编译程序的逻辑结构概述 6 1.3.2 编译程序的分遍 10 1.4 编译程序的构造方法 11 1.4.1 编写编译程序的一般方法 11 1.4.2 编译程序的开发技术 11 1.5 编译技术的主要应用 15 1.6 本章小结 15 习题 16 第2章 形式语言的基本知识 17 2.1 字母表和符号串的基本概念 18 2.2 用文法产生法描述语言 19 2.2.1 巴克斯-诺尔范式 20 2.2.2 通过文法产生语言的方式 21 2.3 句型的分析 23 2.4 文法和语言的分类 27 2.5 文法的其他表示法 29 2.6 C--语言的形式定义 31 2.7 应用案例 32 2.8 本章小结 32 习题 32 第3章 词法分析 35 3.1 词法分析概述 36 3.1.1 词法分析的任务 36 3.1.2 单词的分类与表示 37 3.2 手动编写词法分析程序 38 3.2.1 单词的描述——正规文法与状态转换图 38 3.2.2 C--语言词法分析程序的设计与实现 40 3.3 自动生成词法分析程序的原理 42 3.3.1 单词的描述——正规表达式 43 3.3.2 单词的识别——有穷自动机 44 3.3.3 正规表达式、正规文法和有穷自动机的等价性 49 3.4 本章小结 56 习题 56 第4章 语法分析 58 4.1 语法分析概述 59 4.2 自顶向下的语法分析 59 4.2.1 消除文法的回溯和左递归 59 4.2.2 LL(1)分析法 62 4.3 自底向上的语法分析 68 4.3.1 LR分析器的逻辑结构和分析过程 68 4.3.2 LR(0)分析表的构造 71 4.3.3 SLR(1)分析表的构造 76 4.3.4 LR(1)分析表的构造 79 4.3.5 LALR(1)分析表的构造 81 4.4 语法分析程序的自动生成 83 4.5 应用案例 84 4.6 本章小结 85 习题 85 第5章 语义分析及中间代码生成 89 5.1 语法制导翻译概述 90 5.2 中间语言 92 5.2.1 逆波兰表示 92 5.2.2 三元式 95 5.2.3 树形表示 96 5.2.4 四元式 97 5.3 自底向上语法制导翻译 97 5.4 自顶向下语法制导翻译 119 5.5 属性文法与属性翻译 123 5.6 本章小结 126 习题 127 第6章 符号表 129 6.1 符号表的作用 130 6.2 符号表的组织 130 6.2.1 符号表的形式 130 6.2.2 符号表中的内容 132 6.3 符号表的构造与查找 133 6.3.1 顺序查表与造表法 133 6.3.2 折半查表与造表法 134 6.3.3 散列表法(杂凑法) 135 6.4 分程序结构语言的符号表 137 6.5 非分程序结构语言的符号表 138 6.6 本章小结 139 习题 140 第7章 存储组织与分配 141 7.1 存储组织概述 142 7.1.1 存储空间的一般划分与组织 142 7.1.2 过程活动和活动记录 143 7.2 静态存储分配 144 7.3 动态存储分配 145 7.3.1 栈式存储分配 145 7.3.2 堆式存储分配 148 7.4 本章小结 149 习题 149 第8章 代码优化 152 8.1 代码优化概述 153 8.2 局部优化 154 8.3 循环优化 156 8.4 利用DAG进行优化 163 8.5 数据流分析及全局优化概述 167 8.6 本章小结 174 习题 174 第9章 目标代码生成 178 9.1 目标代码生成概述 179 9.2 假想的计算机模型 179 9.3 一种简单代码生成程序 180 9.4 寄存器分配 185 9.5 由DAG生成目标代码 188 9.6 窥孔优化 191 9.7 本章小结 192 习题 192 第10章 编译程序实例分析 194 10.1 C--语言的编译程序 195 10.2 编译程序自动生成器简介 195 10.2.1 Lex 195 10.2.2 YACC 197 10.2.3 Parser Generator 198 10.3 利用Parser Generator生成编译程序 202 10.3.1 Lex源程序设计 202 10.3.2 YACC源程序设计 203 10.3.3 语义分析 206 10.4 部分核心代码 207 10.5 软件测试及其结果分析 213 10.6 本章小结 217
本书是一本采用任务驱动式体例编写的ECharts数据可视化技术教材,以通俗易懂的语言和丰富实用的任务,帮助读者...
本书是面向PHP语言和MySQL数据库初学者的一本入门教材,使用通俗易懂的语言、丰富的图解和实用的案例,详细讲...
本书为Java基础入门教材,适合初学者使用。全书共13章,第1~2章主要讲解Java技术的一些基础知识,内容包...
本书全面、系统地介绍银河麒麟桌面操作系统的基础知识、WPS Office的基本操作,以及其他信息技术的相关内容...
本书基于openEuler(22.03 LTS SP3版)国产操作系统和OpenStack(Train版)云计...
我要评论