您好,欢迎来到聚文网。 登录 免费注册
Go语言定制指南

Go语言定制指南

  • 字数: 193000
  • 装帧: 平装
  • 出版社: 人民邮电出版社
  • 作者: 柴树杉,史斌,丁尔男
  • 出版日期: 2022-04-01
  • 商品条码: 9787115584410
  • 版次: 1
  • 开本: 16开
  • 页数: 220
  • 出版年份: 2022
定价:¥79.9 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
1.深入浅出,接触核心 理解Go语言语法树的工作原理,提升编程技艺,学习编译器的原理与实现,编写更效率的代码;通过理解简单的“凹语言”,深刻理解Go语言特性,获得自制一门编程语言的启发。 2.内容针对性与专业性强 本书面向已经熟练掌握 Go 语言并在进行项目开发的程序员,也适合想深入了解 Go 语言底层运行机制的程序员阅读,同时可作为对编程语言/编译器有兴趣并想进行实际项目实践的程序员的参考书。
内容简介
Go语言语法树是Go语言源文件的另一种语义等价的表现形式,Go语言自带的gofmt和godoc等命令都是建立在Go语言语法树基础之上的分析工具。本书从Go语言语法树出发,重新审视Go语言源文件,阐述定制Go语言的核心技术。书中通过对go/ast、go/ssa等包的分析,-步步深入Go语言核心,最后简要介绍LLVM,读者可以结合IIVM和Go语言语法树按需定制,创造一个语法与Go语言语法头似的简单的编程语言及与其对应的编译器,达到掌握自制编程语言和编译器的目的。本书面向已经熟练掌握Go语言并在进行项目开发的程序员,也适合想深入了解Go语言底层运行机制的程序员阅读,同时可作为对编程语言/编译器有兴趣并想进行实际项目实践的程序员的参考书。
目录
第1章词法单元1
1.1词法单元简介2
1.2表示词法单元的数据类型3
1.3FileSet和File6
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.7if/else分支语句106
10.8for循环108
10.9类型断言111
10.10go语句和defer语句113
10.11小结114
第11章类型检查115
11.1语义错误115
11.2go/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.4go/ssa包的架构136
13.5小结138
第14章凹语言139
14.1Hello,凹语言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安装LLVM171
15.3printf函数172
15.4简单的四则运算175
15.5比较运算176
15.6分支与循环177
15.7基本块180
15.8PHI指令182
15.9有限循环184
15.10小结185
第16章LLVM示例187
16.1W语言187
16.2W语言编译器wcc的设计189
16.3W语言编译器wcc的实现191
16.4W语言的代码示例198
16.5小结200
后记201

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网