编译原理
分類: 图书,计算机/网络,程序设计,其他,
作者: 陈意云,张昱 著
出 版 社: 高等教育出版社
出版时间: 2008-6-1字数:版次: 2页数: 411印刷时间:开本: 16开印次:纸张:I S B N : 9787040239638包装: 平装编辑推荐
本书特色:内容全面、强调主线。包括词法分析、语法分析、语法制导的翻译、静态语义分析、运行时存储空间的组织和管理、中间代码生成、目标代码生成、代码优化、编译系统与运行系统、面向对象语言编译技术和函数式语言编译技术等,并以编译的各个逻辑阶段为主线。
重视理论和形式方法。在围绕主线的同时,将相关理论和形式化技术的介绍穿插其中,有助于学生较快地领会和掌握;内容难易有别,难度较大的内容作为可选部分放在每章的最后.以拓宽教材的适用面。
习题联系实际。本教材的很多例题和习题是从实际碰到的问题中抽象或抽取出来的;它们联系编程、编译、运行的实际.能激发学生学习本课程的兴趣。
内容简介
本书介绍编译器构造的一般原理和基本实现方法,其内容包括词法分析、语法分析、语义分析、中间代码生成、目标代码生成、独立于机器的优化和依赖于机器的优化等。除了介绍命令式编程语言的编译技术外,本书还介绍面向对象语言和函数式编程语言的实现技术。本书还强调一些相关的理论知识,如形式语言和自动机理论、语法制导的定义和属性文法、类型论和类型系统等。
本书内容丰富,讲解深入,并注意理论联系实际,可作为高等学校计算机科学及相关专业的教材,也可供计算机软件工程技术人员参考使用。
作者简介
陈意云,男,1946年生,教授,博士生导师。1965年上山下乡当13年农民,1980年专科毕业于中国科大,1982年12月在上海华东计算所获硕士学位。1983年到中国科大计算机系工作,1989年去美国芝加哥大学访问两年。1994年-2000年兼任科大恒星公司总经理,2000年开始兼任科大恒星公司董事长。
目录
第1章 引论
1.1 编译器概述
1.2 编译器技术的应用
习题1
第2章 词法分析
2.1 词法记号及属性
2.2 词法记号的描述与识别
2.3 有限自动机
2.4 从正规式到有限自动机
2.5 词法分析器的生成器
习题2
第3章 语法分析
3.1 上下文无关文法
3.2 语言和文法
3.3 自上而下分析
3.4 自下而上分析
3.5 LR分析器
3.6 二义文法的应用
3.7 语顺的生成器
习题3
第4章 语法制导的翻译
4.1 语法制导的定义
4.2 S属性定义的自下而上
4.3 L属性定义的自上而下
4.4 L属性的自下而上计算
习题4
第5章 类型检查
5.1 类型在编程语言中的作用
5.2 描述类型系统的语言
5.3 一个简单类型检查器的规范
5.4 多态函数
5.5 类型表达式的等价
5.6 函数和算符的重载
习题5
第6章 运行时存储空间的组织和管理
6.1 局部存储分配
6.2 全局栈式存储分配
6.3 非局部名字的访问
6.4 参数传递
6.5 堆管理
习题6
第7章 中间代码生成
第8章 代码生成
第9章 独立于机器的优化
第10章 依赖于机器的优化
第11章 编译系统和运行系统
第12章 面向对象语言的编译
第13章 函数式语言的编译
参考文献
书摘插图
第1章 引论
从理论上说,构造专用计算机来直接执行某种高级语言写的程序是可能的。但是,实际上目前的计算机能执行的都是非常低级的机器语言。那么,一个基本问题是:高级语言的程序是怎样
变成能在计算机上执行的机器语言程序的?
能够完成从一种语言到另一种语言的变换的软件称为翻译器,这两种语言分别叫做该翻译器的源语言和目标语言。编译器是一种翻译器,它进行语言变换的特点是目标语言比源语言低级。
本章通过简要描述编译器的各个组成部分以及编译器技术的各种应用来介绍编译这个课
题。该课题涉及编程语言、计算机体系结构、形式语言理论、类型论、算法和软件工程等方面的
知识。
1.1 编译器概述
编译器的工作可以分成若干阶段,每个阶段的工作都是把源程序从一种表示变换成另一种
表示。编译过程的一种典型分解见图1.1,图中的每个方框表示它的一个阶段。
……