自己动手写Python虚拟机
Book information
Description
本书按内容分为六个部分,第一部分介绍语言虚拟机的基本概念,并实现字节码解释器;第二部分,实现内嵌类型,如整数、字符串、列表和字典等;第三部分,实现了函数;第四部分,实现自定义类、对象和方法;第五部分,实现垃圾回收,也就是自动内存管理;第六部分,模块和迭代。本书的章节内容之间都有很强的依赖性,后面的章节内容都是在前面章节的基础上去实现的,所以读者必须按部就班地从前向后阅读,才能保证阅读的流畅。 本书适合的人群包括:在校大学生(可以通过本书掌握很多计算机工作运行的核心知识),以及对编译器,编程语言感兴趣的人。 封面 书名 版权 前言 目录 第1章 编程语言虚拟机 1.1 编程语言的发展 1.2 编程语言虚拟机 1.3 开发环境 第2章 编译流程 2.1 Python字节码 2.2 词法分析 2.3 文法分析 2.4 抽象语法树 2.4.1 构建AST 2.4.2 递归程序的本质 2.4.3 访问者模式 2.4.4 用Visitor重写AST 第3章 二进制文件结构 3.1 pyc文件格式 3.2 加载CodeObject 3.2.1 准备工具 3.2.2 创建CodeObject 3.3 整理工程结构 3.4 执行字节码 第4章 实现控制流 4.1 分支结构 4.1.1 条件判断 4.1.2 跳转 4.1.3 True、False和None 4.2 循环结构 4.2.1 变量 4.2.2 循环内的跳转 第5章 基本的数据类型 5.1 KlassOop二元结构 5.2 整数 5.3 字符串 第6章 函数和方法 6.1 函数 6.1.1 栈帧 6.1.2 创建FunctionObject 6.1.3 调用方法 6.2 变量和参数 6.2.1 LEGB规则 6.2.2 函数的参数 6.2.3 参数默认值 6.3 Native函数 6.4 方法 第7章 列表和字典 7.1 列表 7.1.1 列表的定义 7.1.2 操作列表 7.2 字典 7.2.1 字典的定义 7.2.2 操作字典 7.3 增强函数功能 7.3.1 灵活多变的函数参数 7.3.2 闭包和函数修饰器 7.4 总结 第8章 类和对象 8.1 类型对象 8.1.1 TypeObject 8.1.2 object 8.1.3 通过类型创建对象 8.2 自定义类型 8.3 创建对象 8.4 操作符重载 8.5 继承 第9章 垃圾回收 9.1 自动内存管理 9.1.1 概念定义 9.1.2 引用计数 9.1.3 图的知识 9.1.4 Tracing GC 9.2 复制回收 9.2.1 算法描述 9.2.2 算法实现 9.2.3 建堆 9.2.4 在堆中创建对象 9.2.5 垃圾回收 第10章 模块和库 10.1 import语句 10.1.1 ModuleObject 10.1.2 加载模块 10.1.3 from子句 10.2 builtin模块 10.3 加载动态库 10.3.1 定义接口 10.3.2 实现math module 第11章 迭代 11.1 异常 11.1.1 finally子句 11.1.2 break和continue 11.1.3 Exception 11.2 自定义迭代器类 11.3 Generator 11.3.1 yield语句 11.3.2 Generator对象 11.4 总结 附录APython2 字节码表 附录B高级算法 B.1 字符串查找 B.2 排序算法 B.2.1 快速排序 B.2.2 选择排序 B.2.3 堆排序 封底
Similar books
中国建筑西南设计研究院:成都嘉煜金融科技中心方案深化设计(高新区名都路166号)
2012 · PDF
尤安设计:北京市朝阳区 望京绿地中心-A座 深化设计文本( 启阳路)【超高层办公楼】
2011 · PDF
鏖战北海:挪威战役
2023 · PDF
史记会注考证 8
2020 · PDF
怎样选择成长股
1999 · PDF
淮海集笺注 5
2020 · PDF
怎样选择成长股
2017 · PDF
淮海集笺注 4
2020 · PDF