新書推薦:
《
治盗之道:清代盗律的古今之辨
》
售價:HK$
122.1
《
甲骨文丛书·剑桥世界暴力史(第一卷):史前和古代世界(套装全2册)
》
售價:HK$
210.6
《
甲骨文丛书·中华早期帝国:秦汉史的重估
》
售價:HK$
300.2
《
欲望与家庭小说
》
售價:HK$
98.6
《
惜华年(全两册)
》
售價:HK$
70.3
《
甲骨文丛书·古代中国的军事文化
》
售價:HK$
99.7
《
中国王朝内争实录(套装全4册):从未见过的王朝内争编著史
》
售價:HK$
244.2
《
半导体纳米器件:物理、技术和应用
》
售價:HK$
177.0
|
編輯推薦: |
《自己动手写编译器、链接器》展示了从语言定义,到进行词法分析、语法分析、语义分析的编译器完整开发过程。
《自己动手写编译器、链接器》介绍的SCC编译器,没有借助Lex与Yacc编译器自动生成工具,纯手工编写而成,更便于学习和理解。
为了使编译生成的成果可以直接运行,该书还实现了一个链接器,链接生成可以直接运行的EXE文件。
编写编译器用到的知识之广是编写一般程序所无法比拟的,通过该书你将学到编译原理、数据结构与算法、Intel x86汇编语言、机器语言、目标文件格式、可执行文件格式等知识内容。
从给微机编写BASIC语言编译器起家的比尔盖茨,在世界首富宝座上稳坐多年,编写编译器的技术积淀究竟在他的成功中占多大份量,通过阅读该书,你会从技术层面上有所洞悉。
有了编译器的编写经历,你将拿到一把学习任何计算机语言的*钥匙,你会发现所有的计算机语言原来都是相通的,各种语言核心内容其实就是词法、语法、语义那么点事。
如果你想了解各类计算机语言设计思路,编译器、链接器实现过程,该书将使你豁然开朗。
|
內容簡介: |
《自己动手写编译器、链接器》讲述了一个真实编译器的开发过程,源语言是以C语言为蓝本,进行适当简化定义的一门新语言,称之为SC语言(简化的C语言),目标语言是大家熟悉的Intelx86机器语言。在本书中,读者将看到从SC语言定义,到SCC编译器开发的完整过程。本书介绍的SCC编译器,没有借助Lex与Yacc这些编译器自动生成工具,纯手工编写而成,更便于学习和理解。为了生成可以直接运行EXE文件,本书还实现了一个链接器。读完本书读者将知道一门全新的语言如何定义,一个真实的编译器、链接器如何编写。
《自己动手写编译器、链接器》适合各类程序员、程序开发爱好者阅读,也可作为高等院校编译原理课程的实践教材。
本书源代码可在清华大学出版社网站上下载。
|
目錄:
|
第1章 引言
1.1 HelloWorld编译过程分析
1.1.1 HelloWorld程序源文件
1.1.2 词法分析
1.1.3 语法分析
1.1.4 语义分析
1.1.5 链接器
1.2 SCC编译器简介
1.2.1 SCC编译器架构
1.2.2 SCC编译器开发环境
1.2.3 SCC编译器运行环境
第2章 文法知识
2.1 语言概述
2.2 形式语言
2.2.1 字母表和符号串
2.2.2 文法与语言的形式定义
2.2.3 文法与语言的类型
2.2.4 程序设计语言描述工具
2.3 词法分析方法
2.3.1 词法定义例举
2.3.2 状态转换图
2.3.3 词法分析程序流程图
2.4 语法分析方法
2.4.1 LL分析器
2.4.2 LL(k)文法
2.4.3 LL(1)文法
2.4.4 递归子程序法
2.4.5 文法的等价变换
第3章 SC语言定义
3.1 SC语言的蓝本选择
3.1.1 K&-R C
3.1.2 C89
3.1.3 C99
3.2 SC语言对C89简化原则
3.3 SC语言的字符集
3.3.1 基本字符集
3.3.2 扩展字符集
3.4 SC语言词法定义
3.4.1 关键字
3.4.2 标识符
3.4.3 整数常量
3.4.4 字符常量
3.4.5 字符串常量
3.4.6 运算符及分隔符
3.4.7 注释
3.5 SC语言语法定义
3.5.1 外部定义
3.5.2 语句
3.5.3 表达式
3.6 SC语言与C语言功能对比
3.6.1 关键字
3.6.2 数据类型
3.6.3 存储类型
3.6.4 常量
3.6.5 变量
3.6.6 函数
3.6.7 语句
3.6.8 表达式
第4章 SC语言词法分析
4.1 词法分析任务的官方说法
4.2 单词编码
4.3 词法分析用到的数据结构
4.3.1 动态字符串
4.3.2 动态数组
4.3.3 哈希表
第5章 SC语言语法分析
第6章 符号表
第7章 生成COFF目标文件
第8章 x86机器语言
第9章 SCC语义分析
第10章 链接器
第11章 SC语言程序开发
参考文献
附录A SC语言文法定义中英文对照表
|
|