当前位置:当前位置:主页 > 计算机电子书 > 程序设计 > Go语言 pdf电子书
用Go语言自制编译器

用Go语言自制编译器 PDF 高清中文版

  • 更新:2022-09-06
  • 大小:19.1 MB
  • 类别:Go语言
  • 作者:索斯藤·鲍尔(Thorsten、Ball)
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

用Go语言自制编译器》是由人民邮电出版社出版的一本关于Go语言方面的书籍,作者是索斯藤·鲍尔(Thorsten、Ball),主要介绍了关于Go语言、自制编译器方面的知识内容,目前在Go语言类书籍综合评分为:7.5分。

书籍介绍

go语言程序设计编程实战虚拟机编译原理教程书籍,摆脱枯燥的理论学习,用边学边练的方式理解编译原理,原版豆瓣评分9.4分,体验一步步实现类C语言的乐趣

内容简介

本书是《用Go语言自制解释器》的续篇。在自制解释器时,你已经为Monkey语言实现了类C语法、变量绑定、基本数据类型、算术运算、内置函数、闭包等特性。是时候让Monkey继续成长了!在本书中,Monkey将继续“进化”,并终成长为成熟的程序设计语言。在已有词法分析器、语法分析器和抽象语法树的基础上,你将为Monkey语言定义字节码指令,指定操作数,编写反汇编程序,构建执行字节码的虚拟机。通过动手学习,你将能够体验从无到有实现类C语言的乐趣。

目录

  • 第 1章 编译器与虚拟机 1
  • 1.1 编译器 2
  • 1.2 虚拟机与物理机 5
  • 1.2.1 物理机 6
  • 1.2.2 什么是虚拟机 11
  • 1.2.3 为什么要构建虚拟机 14
  • 1.2.4 字节码 15
  • 1.3 虚拟机与编译器的二元性 17
  • 第 2章 你好,字节码! 19
  • 2.1 第 一条指令 20
  • 2.1.1 以字节作为开端 21
  • 2.1.2 小编译器 26
  • 2.1.3 字节码与反汇编程序 32
  • 2.1.4 回归初心,继续前行 37
  • 2.1.5 给机器上电 40
  • 2.2 栈上加法 46
  • 2.3 连接REPL 52
  • 第3章 编译表达式 55
  • 3.1 栈清理 55
  • 3.2 中缀表达式 60
  • 3.3 布尔类型 64
  • 3.4 比较运算符 69
  • 3.5 前缀表达式 76
  • 第4章 条件语句 83
  • 4.1 跳转 86
  • 4.2 编译条件语句 88
  • 4.3 执行跳转 103
  • 4.4 欢迎回来,Null 值 106
  • 第5章 追踪名称 115
  • 5.1 计划 116
  • 5.2 编译绑定 117
  • 5.2.1 添加符号表 120
  • 5.2.2 在编译器中使用符号 123
  • 5.3 在虚拟机中支持全局变量 126
  • 第6章 字符串、数组和哈希表 132
  • 6.1 字符串 132
  • 6.2 数组 138
  • 6.3 哈希表 142
  • 6.4 索引运算符 149
  • 第7章 函数 156
  • 7.1 一个简单的函数 156
  • 7.1.1 函数表示 157
  • 7.1.2 执行函数的操作码 158
  • 7.1.3 编译函数字面量 161
  • 7.1.4 编译函数调用 176
  • 7.1.5 虚拟机中的函数 179
  • 7.1.6 一点奖励 190
  • 7.2 局部绑定 191
  • 7.2.1 局部绑定操作码 192
  • 7.2.2 编译局部绑定 195
  • 7.2.3 在虚拟机中实现局部绑定 208
  • 7.3 参数 218
  • 7.3.1 编译带参数的函数调用 219
  • 7.3.2 将引用解析为参数 224
  • 7.3.3 虚拟机中的参数 227
  • 第8章 内置函数 237
  • 8.1 使修改变得简单 238
  • 8.2 做出改变:计划 244
  • 8.3 内置函数作用域 245
  • 8.4 执行内置函数 250
  • 第9章 闭包 256
  • 9.1 问题 257
  • 9.2 计划 258
  • 9.3 将一切视为闭包 260
  • 9.4 编译和解析自由变量 271
  • 9.5 运行时创建闭包 283
  • 9.6 递归闭包 288
  • 第 10章 后的测试 303

资源获取

相关资源

网友留言