当前位置:首页 > 工业技术
自己动手写Python虚拟机
自己动手写Python虚拟机

自己动手写Python虚拟机PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:海纳编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2019
  • ISBN:9787512429758
  • 页数:332 页
图书介绍:使用JC++从简到易实现Python虚拟机,深入讲解Python的运行原理,并借此解释执行器、自动内存回收、协程等虚拟机实现相关的通用话题。本书从浅到深分析讲解编程语言虚拟机的实现,可以让读者了解执行器、自存管理等虚拟机通用技术;也可以加深对python语言的理解,有助于读者进一步研究hotspot、v8等其他语言的虚拟机。另外,可以通过本书学习协程等目前比较流行的语言特性。
上一篇:操作系统导论下一篇:红白机视觉史
《自己动手写Python虚拟机》目录

第1章 编程语言虚拟机 1

1.1 编程语言的发展 1

1.2 编程语言虚拟机 2

1.3 开发环境 5

第2章 编译流程 6

2.1 Python字节码 6

2.2 词法分析 7

2.3 文法分析 10

2.4 抽象语法树 13

2.4.1 构建AST 14

2.4.2 递归程序的本质 16

2.4.3 访问者模式 21

2.4.4 用Visitor重写AST 29

第3章 二进制文件结构 32

3.1 pyc文件格式 32

3.2 加载CodeObject 34

3.2.1 准备工具 36

3.2.2 创建CodeObject 41

3.3 整理工程结构 47

3.4 执行字节码 49

第4章 实现控制流 55

4.1 分支结构 55

4.1.1 条件判断 56

4.1.2 跳转 59

4.1.3 True、False和None 60

4.2 循环结构 62

4.2.1 变量 62

4.2.2 循环内的跳转 67

第5章 基本的数据类型 75

5.1 Klass-Oop二元结构 75

5.2 整数 78

5.3 字符串 82

第6章 函数和方法 85

6.1 函数 85

6.1.1 栈帧 86

6.1.2 创建FunctionObject 89

6.1.3 调用方法 92

6.2 变量和参数 96

6.2.1 LEGB规则 96

6.2.2 函数的参数 104

6.2.3 参数默认值 107

6.3 Native函数 111

6.4 方法 115

第7章 列表和字典 122

7.1 列表 122

7.1.1 列表的定义 122

7.1.2 操作列表 126

7.2 字典 154

7.2.1 字典的定义 154

7.2.2 操作字典 157

7.3 增强函数功能 165

7.3.1 灵活多变的函数参数 165

7.3.2 闭包和函数修饰器 172

7.4 总结 179

第8章 类和对象 180

8.1 类型对象 180

8.1.1 TypeObject 180

8.1.2 object 185

8.1.3 通过类型创建对象 189

8.2 自定义类型 191

8.3 创建对象 196

8.4 操作符重载 206

8.5 继承 215

第9章 垃圾回收 223

9.1 自动内存管理 223

9.1.1 概念定义 223

9.1.2 引用计数 224

9.1.3 图的知识 226

9.1.4 Tracing GC 231

9.2 复制回收 234

9.2.1 算法描述 234

9.2.2 算法实现 235

9.2.3 建堆 237

9.2.4 在堆中创建对象 243

9.2.5 垃圾回收 247

第10章 模块和库 261

10.1 import语句 261

10.1.1 ModuleObject 262

10.1.2 加载模块 264

10.1.3 from子句 266

10.2 builtin模块 268

10.3 加载动态库 271

10.3.1 定义接口 272

10.3.2 实现math module 277

第11章 迭代 281

11.1 异常 281

11.1.1 finally子句 281

11.1.2 break和continue 287

11.1.3 Exception 291

11.2 自定义迭代器类 306

11.3 Generator 309

11.3.1 yield语句 309

11.3.2 Generator对象 311

11.4 总结 317

附录A Python2字节码表 318

附录B 高级算法 321

B.1 字符串查找 321

B.2 排序算法 325

B.2.1 快速排序 325

B.2.2 选择排序 328

B.2.3 堆排序 329

相关图书
作者其它书籍
返回顶部