书籍 自己动手写编译器、链接器的封面

自己动手写编译器、链接器

王博俊,张宇 编著

出版时间

2015-02-01

ISBN

9787302381365

评分

★★★★★
书籍介绍
《自己动手写编译器、链接器》讲述了一个真实编译器的开发过程,源语言是以C语言为蓝本,进行适当简化定义的一门新语言,称之为SC语言(简化的C语言),目标语言是大家熟悉的Intelx86机器语言。在本书中,读者将看到从SC语言定义,到SCC编译器开发的完整过程。本书介绍的SCC编译器,没有借助Lex与Yacc这些编译器自动生成工具,纯手工编写而成,更便于学习和理解。为了生成可以直接运行EXE文件,本书还实现了一个链接器。读完本书读者将知道一门全新的语言如何定义,一个真实的编译器、链接器如何编写。 本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校编译原理课程的实践教材。 郑重声明:本书源代码作者已申请版权,仅供读者用于学习研究之目的。未经作者允许,严禁任何组织与个人将其在网络上传播或用于商业用途。对于侵权行为,作者保留提起法律诉讼的权利。源代码相关问题,请与作者联系。 王博俊 张宇 编著。
目录
内容简介
序言
自序
第1章 引言
1.1 HelloWorld编译过程分析

显示全部
用户评论
该书大大降低了学写编译器的门槛,不到5000行代码实现了一个完整编译器、链接器,非常适合编译器初学者。
很喜歡這本書, 完全就是我想要的學習方式。 我看完于淵的 Orange's 一個作業系統的實現後, 完成一個小型 os, 目前打算照這本書來學習, 完成一個 compiler + linker。 我習慣使用 linux, 目前已把第四章的程式 porting 到 linux。 台灣出版的技術書籍已經遠遠落後中國了, 我現在幾乎都是讀簡體中文的技術書籍了。
市面上编译类书籍偏向于理论,实践类确实少,也许是工程好大!也许这本书会是编译器领域的 minix操作系统设计与实现!
龙书偏重理论,这本书偏重实践,很喜欢这本书
终于看完,对于程序的编译原理和程序到底存储了什么东西,看完会有不错的体会,可以作为代码练习教程。后续重读一遍《程序员的自我修养》再来读其他编译相关的书籍。
不错的实操模板,在源代码的基础上略加修改(改了半个月)完成了编译原理的课程设计(C艹版本),可惜后面的链接器部分理论知识不足,没法读懂。
刚开始词法分析,语法分析,节的数据生成看的还可以,但是到后面的语义分析和gencode部分太抽象,不得已把代码down下来,一遍一遍跑自己写的test,跟踪函数... 花了两个月时间一天一两个小时,终于把所有代码都理解了。收获很大,但是由于其没有中间代码,这样的话导致在此基础上的优化很难搞...
感谢它拯救了我的解释器实践课。 如果有配套讲解视频更佳啊。
词法分析和语法分析部分比较中规中矩,手写还不错. 语义分析部分很糟糕,直接使用的语法制导翻译,没有使用中间形态,从语法分析直接生成符号表和机器码,抽象程度非常高. 相比有ast和ir的多遍处理过程,这样的方式太难了,需要对后端机器码非常熟悉才行.