
| 《编译原理》:没有深奥理论,但求论述严谨没有面面俱到,但求自成体系立足原理学习,兼顾实际应用编译程序在计算机科学技术的发展历史中发挥了巨大作用,是计算机系统的核心支撑软件。编译原理一直是国内外大学计算机相关专业的核心课程,其知识结构融贯整个计算机系统,其理论基础是联系计算机科学和计算机系统的典范。《编译原理》介绍编译程序构造的一般原理和基本技术,注重知识体系的基础性和连贯性,内容由语言基础知识、词法分析、语法分析、语法制导的语义处理基础、语义分析和中间代码生成、符号表组织、运行时存储组织、代码优化和目标代码生成等部分组成。同时将“PL/O语言编译程序”的设计作为实例贯穿于相关章节中。最后通过一系列程序实例介绍了工业界广泛使用的开源工具GCC和Binutils。《编译原理》可作为计算机相关专业本科阶段的教材,也可用于自学或教学参考。《编译原理》的作者长期从事与编译理论和技术相关的课程教学,具有较丰富的教学经验,著有多部编译课程教材,并在程序设计语言理论和系统的研究领域取得许多有影响的成果,发表了较高水平的论文。 |
| 第1章 编译程序概论 1.1 什么是编译程序 1.2 编译过程和编译程序的结构 1.2.1 词法分析 1.2.2 语法分析 1.2.3 语义分析 1.2.4 中间代码生成 1.2.5 代码优化 1.2.6 目标代码生成 1.2.7 符号表管理和出错处理 1.2.8 编译阶段的组合和编译结构 1.3 实例:pl/0编译程序 1.3.1 pl/0语言简介 1.3.2 pl/0语言处理系统 习题 第2章 语言和文法 2.1 语言的基本概念 2.1.1 字母表和字 2.1.2 关于字的运算和字母表上的运算 2.1.3 语言 2.1.4 关于语言的运算 2.2 上下文无关文法 2.2.1 上下文无关文法的基本概念 2.2.2 归约与推导 2.2.3 上下文无关语言 2.2.4 句型、句子与分析树 2.2.5 归约、推导与分析树之间关系 2.2.6 文法的二义性 2.3 pl/0语言的语法 2.3.1 pl/0语言语法的上下文无关文法描述 2.3.2 pl/0语言语法的ebnf描述 习题 第3章 词法分析程序及其自动构造 3.1 词法分析概述 3.1.1 词法分析的任务 3.1.2 词法分析在编译程序中的组织 3.1.3 词法分析程序中如何识别单词 3.2 实例:pl/0编译程序中词法分析程序的设计和实现 3.3 词法分析程序自动构造原理 3.3.1 正规表达式与正规语言 3.3.2 有限自动机 3.3.3 词法分析程序构造的自动化 3.4 lex:一个词法分析程序的生成工具 3.4.1 lex描述文件中使用的正规表达式 3.4.2 lex描述文件的格式 3.4.3 lex的使用 3.4.4 与yacc的接口约定 3.4.5 用lex构造pl/0词法分析程序 习题 第4章 自顶向下语法分析 4.1 自顶向下分析思想 4.2 ll(1)分析方法 4.2.1 first集合和follow集合 4.2.2 ll(1)文法 4.2.3 ll(1)分析的实现 4.2.4 一些有用的文法变换 4.3 实例:pl/0编译程序中语法分析程序的设计和实现 4.3.1 pl/0语法分析程序的自顶向下预测分析思想 4.3.2 pl/0递归下降语法分析程序的设计 4.3.3 pl/0编译程序中的错误处理 习题 第5章 自底向上语法分析 5.1 自底向上分析思想 5.1.1 短语和直接短语 5.1.2 句柄 5.1.3 移进-归约分析 5.2 lr分析方法 …… 第6章 语法制导的语义分析和中间代码生成 第7章 符号表 第8章 目标程序运行时的存储组织 第9章 代码优化和代码生成 第10章 编译器和相关工具实例——gcc/binutils 附录a pl/0编译程序文本 附录b 用于生成某个pl/0编译程序的lex描述文件和yacc描述文件 参考文献 |
商品评论(0条)