发表于2024-11-23
业界专家学者倾力推荐,龙书作者Monica老师,清华大学王生原老师,CSDN暨《程序员》杂志总编刘江老师对本书给予高度评价,认为该书内容简明,容易上手,又不失全面和系统,填补了编译实践领域的空白。
编写编译器用到的知识之广是编写一般程序所无法比拟的,通过本书你将学到编译原理,数据结构与算法,C语言、Intelx86汇编语言、机器语言,目标文件格式,可执行文件格式等知识内容,是计算机专业基础课程内容的综合运用。
被广大读者看作编译原理课程zui佳配套用书,该书大大降低了学写编译器的门槛,破解了编译原理学习缺乏合适实践用例的难题。
王博俊、张宇编*的《自己动手写编译器链接器》讲述了一个真实编译器的开发过程,源语言是以C语言为蓝本,进行适当简化定义的一门新语言,称之为SC语言(简化的C语言),目标语言是大家熟悉的Intelx86机器语言。在本书中,读者将看到从SC语言定义,到SCC编译器开发的完整过程。本书介绍的SCC编译器,没有借助Lex与Yacc这些编译器自动生成工具,纯手工编写而成,*便于学习和理解。为了生成可以直接运行EXE文件,本书还实现了一个链接器。读完本书读者将知道一门全新的语言如何定义,一个真实的编译器、链接器如何编写。
本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校编译原理课程的实践教材。
第1章引言
1.1HelloWorld编译过程分析
1.1.1HelloWorld程序源文件
1.1.2词法分析
1.1.3语法分析
1.1.4语义分析
1.1.5链接器
1.2SCC编译器简介
1.2.1SCC编译器架构
1.2.2SCC编译器开发环境
1.2.3SCC编译器运行环境
第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.1LL分析器
2.4.2LL(k)文法
2.4.3LL(1)文法
2.4.4递归子程序法
2.4.5文法的等价变换
...
第5章SC语言语法分析
第6章符号表
第7章生成COFF目标文件
第8章x86机器语言
第9章SCC语义分析
第10章链接器
第11章SC语言程序开发
参考文献
附录ASC语言文法定义中英文对照表
因为工作的关系,我经常和各企业的技术负责人交流。话题谈着谈着常常会转到他们目前共同的难题——技术人员招聘。这时不少人都会感慨,中国能做系统软件开发的技术人员太少,这方面的人太难找了。随着中国企业的发展,做系统和平台的需求不断增加,这种供需矛盾将越来越明显。
究其原因,很容易想到的是我们的高校教育、课程设置。美国顶尖大学计算机系基础课程教学里都非常重视项目实践,操作系统课往往要真的开发一个像模像样的操作系统原型,编译器课也真的要自己设计并实现一门有创新性的小语言……
在计算机科学的各门课程中,编译器的设计实践有着特殊的重要性。“龙书”的主要作者、哥伦比亚大学教授AlfredV.Aho曾经列举过编译器实践有诸多好处:
�r能让学生领悟到理论与实践的完美结合。比如编译原理所涵盖的正则表达式和自动机,在各种场合的应用是极其广泛的,对正则的掌握程度,从某种意义上讲甚至可以作为技术人员水平的一种尺度。
�r深入探索计算思维的多样性。与人类语言一样,不同类型的编程语言其实代表了不同的思维方式。只用过命令式语言的人可能没有想到,开启了大数据领域的Map与Reduce,其实在函数式语言是一种非常常见的东西。
的确,深入了解编译器和编译原理,对于技术人员更好地理解和掌握自己最常用的语言和系统,从而提升自己的内力是有极大好处的。另一方面,随着DSL(领域特定语言)的流行,需要技术人员开发自己语言的机会也越来越多。
然而,编译原理是计算机科学里公认比较难的一门课。虽然目前国外比较重要的编译理论教材(比如龙书的《编译原理》、虎书《现代编译原理》的C语言和Java版本、鲸书《高级编译器设计与实现》)基本上都有了中文版和英文影印版,但这些书往往更偏重理论,而且门槛较高,不太适合指导一线技术人员实践和自学。我认识的一位美籍华人技术专家RonaldMak在Wiley出版过一本基于Java的“WritingCompilersandInterpreters”,比较贴近实践,但部头较大,而且没有看到中文版。
偶然的机会,我得知王博俊在工作之余,写了一本以简化的C语言为例子讲述编译器和链接器实践的书。浏览了初稿之后,感觉全书内容简明,容易上手,又不失全面和系统,正好弥补了这方面的空白。特向大家推荐。
CSDN暨《程序员》杂志总编刘江
2015年1月
...
有志者,事竟成,破釜沉舟,百二秦关终属楚;
苦心人,天不负,卧薪尝胆,三千越甲可吞吴。
王博俊
2015年1月
自己动手写编译器、链接器 [DIY Compiler And Linker] 下载 mobi pdf epub txt 电子书 格式 2024
自己动手写编译器、链接器 [DIY Compiler And Linker] 下载 mobi epub pdf 电子书还没开始看
评分对了解编译器很有帮助
评分深入了解计算机底层架构。
评分66666666666666666666666咯芝麻
评分程序员必备!从底层理解编程语言是怎么被编译成计算机代码的!
评分还行╮( ̄▽ ̄)╭,没有我想象的好
评分还行╮( ̄▽ ̄)╭,没有我想象的好
评分这么多书啥时能看完,京东活动太给力……
评分不错
自己动手写编译器、链接器 [DIY Compiler And Linker] mobi epub pdf txt 电子书 格式下载 2024