• Go语言定制指南柴树杉 / 史斌 / 丁尔男
21年品牌 40万+商家 超1.5亿件商品

Go语言定制指南柴树杉 / 史斌 / 丁尔男

部分旧书采用了标准图片,会可能出现少部分不同印次出版不同封面的情况,旧书无光盘、腰封、书衣、附件等,如有其他问题可咨询客服。

21.64 2.7折 79.9 八品

仅1件

福建福州
认证卖家担保交易快速发货售后保障

作者柴树杉 / 史斌 / 丁尔男

出版社人民邮电出版社

ISBN9787115584410

出版时间2022-02

装帧平装

开本16开

定价79.9元

货号1840998512188838400

上书时间2024-12-14

浓诚书店

十二年老店
已实名 已认证 进店 收藏店铺

   商品详情   

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

目录
第 1章 词法单元 1
1.1 词法单元简介 2
1.2 表示词法单元的数据类型 3
1.3 FileSet和File 6
1.4 解析词法单元 7
1.5 位置信息 10
1.6 小结 11
第 2章 基础字面值 13
2.1 基础字面值的定义 13
2.2 基础字面值的语法树结构 15
2.3 构造基础字面值 16
2.4 解析基础字面值 17
2.5 标识符字面值 18
2.6 小结 19
第3章 基础表达式 21
3.1 语法规范 21
3.2 解析表达式 22
3.3 求值表达式 25
3.4 标识符:为表达式引入变量 26
3.5 小结 28
第4章 代码结构 29
4.1 目录结构和包结构 29
4.2 文件结构 30
4.3 诊断语法树 34
4.4 小结 36
第5章 通用声明 39
5.1 导入声明 39
5.2 类型声明 42
5.3 常量声明 44
5.4 变量声明 46
5.5 声明分组 48
5.6 小结 49
第6章 函数声明 51
6.1 语法规范 51
6.2 函数声明和方法声明 52
6.3 参数列表和返回值列表 54
6.4 小结 55
第7章 复合类型 57
7.1 语法规范 57
7.2 基础类型 58
7.3 指针类型 61
7.4 数组类型 63
7.5 切片类型 66
7.6 结构体类型 67
7.7 映射类型 70
7.8 管道类型 71
7.9 函数类型 72
7.10 接口类型 73
7.11 小结 75
第8章 更复杂的字面值 77
8.1 语法规范 77
8.2 函数字面值 78
8.3 复合字面值的语法 80
8.4 数组字面值和切片字面值 81
8.5 结构体字面值 83
8.6 映射字面值 85
8.7 小结 86
第9章 复合表达式 87
9.1 表达式语法 87
9.2 类型转换和函数调用 88
9.3 点选择运算 90
9.4 索引运算 91
9.5 切片运算 92
9.6 类型断言 93
9.7 小结 95
第 10章 语句块和语句 97
10.1 语法规范 97
10.2 空语句块 98
10.3 表达式语句 100
10.4 返回语句 101
10.5 声明语句 103
10.6 短声明语句和多赋值语句 104
10.7 if/else分支语句 106
10.8 for循环 108
10.9 类型断言 111
10.10 go语句和defer语句 113
10.11 小结 114
第 11章 类型检查 115
11.1 语义错误 115
11.2 go/types包 116
11.3 跨包的类型检查 118
11.4 小结 122
第 12章 语义信息 123
12.1 名字空间 123
12.2 整体架构 127
12.3 小结 128
第 13章 静态单赋值形式 129
13.1 静态单赋值简介 129
13.2 生成静态单赋值 130
13.3 静态单赋值解释执行 134
13.4 go/ssa包的架构 136
13.5 小结 138
第 14章 凹语言 139
14.1 Hello,凹语言 139
14.2 访问全局变量 144
14.3 调用自定义函数 153
14.4 四则运算 157
14.5 分支控制 160
14.6 导入函数 165
14.7 小结 168
第 15章 LLVM简介 169
15.1 背景介绍 169
15.2 安装LLVM 171
15.3 printf函数 172
15.4 简单的四则运算 175
15.5 比较运算 176
15.6 分支与循环 177
15.7 基本块 180
15.8 PHI指令 182
15.9 有限循环 184
15.10 小结 185
第 16章 LLVM示例 187
16.1 W语言 187
16.2 W语言编译器wcc的设计 189
16.3 W语言编译器wcc的实现 191
16.4 W语言的代码示例 198
16.5 小结 200
后记 201

内容摘要
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 开源项目作者

主编推荐
1.深入浅出,接触核心
理解Go语言语法树的工作原理,提升编程技艺,学习编译器的原理与实现,编写更效率的代码;通过理解简单的“凹语言”,深刻理解Go语言特性,获得自制一门编程语言的启发。
2.内容针对性与专业性强
本书面向已经熟练掌握 Go 语言并在进行项目开发的程序员,也适合想深入了解 Go 语言底层运行机制的程序员阅读,同时可作为对编程语言/编译器有兴趣并想进行实际项目实践的程序员的参考书。

媒体评论
近年来,越来越多的开发者投入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 开源项目作者

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP