当前位置: 首页 > 更多 > Go

Go语言定制指南 pdf电子书

简介Go语言定制指南pdf百度网盘下载地址? Go 语言语法树是 Go 语言源文件的另一种语义等价的表现形式,Go 语言自带的go fmt 和 go doc等命令都是建立在 Go 语言语法树基础之上的分析...
《Go语言定制指南》pdf电子书下载
《Go语言定制指南》pdf百度云

《Go语言定制指南》pdf百度云

《Go语言定制指南》pdf百度云

《Go语言定制指南》pdf百度云


 

Go语言定制指南pdf百度网盘下载地址?

Go 语言语法树是 Go 语言源文件的另一种语义等价的表现形式,Go 语言自带的go fmt 和 go doc等命令都是建立在 Go 语言语法树基础之上的分析工具。本书从Go 语言语法树出发,重新审视Go 语言源文件,阐述定制Go 语言的核心技术。书中通过对 go/ast、go/ssa 等包的分析,-步步深入Go 语言核心,最后简要介绍 LLVM,读者可以结合 IIVM 和 Go 语言语法树按需定制,创造一个语法与 Go 语言语法头似的简单的编程语言及与其对应的编译器,达到掌握自制编程语言和编译器的目的。

本书面向已经熟练掌握 Go 语言并在进行项目开发的程序员,也适合想深入了解 Go 语言底层运行机制的程序员阅读,同时可作为对编程语言/编译器有兴趣并想进行实际项目实践的程序员的参考书。

本书特色

1.深入浅出,接触核心

理解Go语言语法树的工作原理,提升编程技艺,学习编译器的原理与实现,编写更效率的代码;通过理解简单的“凹语言”,深刻理解Go语言特性,获得自制一门编程语言的启发。

2.内容针对性与专业性强

本书面向已经熟练掌握 Go 语言并在进行项目开发的程序员,也适合想深入了解 Go 语言底层运行机制的程序员阅读,同时可作为对编程语言/编译器有兴趣并想进行实际项目实践的程序员的参考书。

3. Go的核心开发人员(Go项目组第四位成员)、gccgo、GCC 作者 Ian Lance Taylor 作序 推荐,七牛CEO、Go+语言作者 许式伟 作序推荐

4. 专业人士推荐,史宁宁、蒙卓、李保坤、杨文、曹春晖、张金柱等业内人士力荐,大量读者热荐

精彩书评

近年来,越来越多的开发者投入Go语言的怀抱,如何快速学习并深入掌握Go语言成为一个重要问题。本书为解决这一问题提供了很好的答案,从Go语言语法树入手,对Go语言语法树进行多个维度的分析。读者可以从不同维度重新审视Go语言,从而更加深入地理解和掌握这门语言。

——史宁宁,中科院软件所程序语言与编译技术实验室项目主管、《华为方舟编译器之美》作者

作为Go语言贡献者,我经常需要查阅Go语言语法树的相关资料。但该领域的中文资料一直比较少,这就需要学习者花费额外的精力去消化英文资料。大部分网上资料缺少清晰的脉络,导致阅读Go语言源码和学习语法树都颇为吃力。本书完整地覆盖了Go语言语法树的相关知识点,并用生动的语言进行讲解,让人茅塞顿开。

——蒙卓,Go语言贡献者(长期排名全球TOP100)

作为Go语言开源贡献者俱乐部的核心成员,史斌和柴树杉为Go语言社区贡献了大量代码,在国内Go语言社区有着较大的影响力。本书围绕“go/*”包,对Go语言进行详细的讲解和分析。如果读者想了解Go语言底层的设计思想和实现机制,或者对领域特定语言的相关设计感兴趣,一定能从本书中获益。

—— 李保坤,腾讯云高级软件工程师、Goproxy网站创始人

很多Go语言开发者想要了解Go语言的底层设计原理,但看过很多源码分析资料还是不明所以。本书以Go语言的语法特征和实现方法为切入点,讲解创建一门语言的核心。阅读本书,读者不仅可以更透彻地理解Go语言,说不定还能编写一门基于Go语言的领域特定语言或通用语言。

——杨文,AfterShip高级技术经理、“Go夜读”项目发起人

即使不需要编写一门自己的语言,学习编译原理也是必要的。开发者可以利用编译原理方面的知识在静态检查中分析潜在 bug 或辅助进行代码的性能优化;可以像《活文档:与代码共同演进》那样通过解析代码中的注释来生成项目的动态文档;可以在数据处理领域对SQL进行扩展,使其支持流式计算的特殊语法;可以用简单的语句、现成的工具与平台高效实现业务规则引擎。本书从Go语言出发,带领读者了解完整的编译器前端、后端技术栈,适合作为进入编译原理大门的敲门砖。相信本书能够成为 Go语言开发者的良师益友。

——曹春晖,GoCN 培训讲师、《Go语言高级编程》作者之一

本书内容深入浅出,架构合理,通过翔实的例子带领读者深入学习Go语言语法树。Go语言语法树好像一把魔法钥匙,它可以开启一个不一样的世界,带你更好地认识、剖析代码,进行高阶分析。

——张金柱,GORM 开源项目作者


作者简介:
柴树杉,Go/C/汇编语言爱好者,《Go语言高级编程》作者之一,关注与汇编语言相关的底层技术。他目前在蚂蚁集团从事领域特定语言(DSL)的设计和开发工作。 史斌,有十余年编译器和虚拟机开发经验。Go和LLVM 开源项目贡献者,拥有这两个项目官方代码仓库的提交权限,目前两个项目的提交记录都超过100次。他在全球Go贡献者榜上长期排名TOP50,目前致力于国产芯片软件生态系统的构建工作。 丁尔男,Go/C/Web前端技术爱好者,长年从事3D开发工作,热衷于性能优化。他目前在武汉航天远景科技股份有限公司分管3D相关产品的开发工作。

目录:
第 1章 词法单元 1
第 2章 基础字面值 13
第3章 基础表达式 21
第4章 代码结构 29
第5章 通用声明 39
第6章 函数声明 51
第7章 复合类型 57
第8章 更复杂的字面值 77
第9章 复合表达式 87
第 10章 语句块和语句 97
第 11章 类型检查 115
第 12章 语义信息 123
第 13章 静态单赋值形式 129
第 14章 凹语言 139
第 15章 LLVM简介 169
第 16章 LLVM示例 187

点击下载