Python源码剖析之准备工作
2018-01-18 13:50
134 查看
一个Python程序开发者, 也是C语言爱好者, 为了加强自己对Python语言实现的理解, 最近选择阅读下陈儒老师的书, 对Python3.5.1源码进行阅读, 再次记录下读书笔记.
一、Python的总体结构
Python总体分为三部分: 文件系统(File Groups), 解释器(Interpreter), 运行时环境(Runtim Environement):
文件系统用于存储Python脚本文件(.py), 主要分为内置模块、第三方模块、用户自定义模块;
解释器用于完成Python脚本文件的扫描、解析、编译和运行,主要分为Scanner、Parser、Complier、Exauator四部分;
1、Scanner
用于对Python脚本的词法解析, 将脚本切分为token
2、Parser
对所有token进行语法解析, 创建抽象语法树
3、Complier
根据抽象语法树, 创建指令集合(Python字节码)
4、Exauator
运行Python字节码
二、运行时环境主要分为对象/类型系统、内存分配器、运行时状态信息
1、对象/类型系统
包含Python的所有内置对象、用户自定义的类型和对象
2、内存分配器
负责维护Python对象创建时对内存的申请
3、运行时状态信息
负责维护解释器在执行字节码时不同的状态之间切换动作
三、总体结构图:
一、Python的总体结构
Python总体分为三部分: 文件系统(File Groups), 解释器(Interpreter), 运行时环境(Runtim Environement):
文件系统用于存储Python脚本文件(.py), 主要分为内置模块、第三方模块、用户自定义模块;
解释器用于完成Python脚本文件的扫描、解析、编译和运行,主要分为Scanner、Parser、Complier、Exauator四部分;
1、Scanner
用于对Python脚本的词法解析, 将脚本切分为token
2、Parser
对所有token进行语法解析, 创建抽象语法树
3、Complier
根据抽象语法树, 创建指令集合(Python字节码)
4、Exauator
运行Python字节码
二、运行时环境主要分为对象/类型系统、内存分配器、运行时状态信息
1、对象/类型系统
包含Python的所有内置对象、用户自定义的类型和对象
2、内存分配器
负责维护Python对象创建时对内存的申请
3、运行时状态信息
负责维护解释器在执行字节码时不同的状态之间切换动作
三、总体结构图:
相关文章推荐
- 安装Lync Server 2013 前提准备工作
- MVVM教程(一):MVVM简介与准备工作
- Iphone开发准备工作
- phonegap开发经验谈之一命令行建立项目和准备工作
- 微信公众号开发--环境搭建和准备工作
- Windows群集安装:1)安装前的准备工作
- 经验:Windows To Go准备工作
- [ASP.NET 设计模式] 用Visual Studio2010搭建一个简单的WCF分层结构示例Step by Step —— 01 准备工作
- 一步一步教你用PHP+MySql搭建网站 No.0 准备工作
- 开启从Lotus 邮件系统到Exchange 系统的转移篇章-POC过程-迁移前准备工作!
- webkit开发前的准备工作
- 百万级访问量网站的技术准备工作
- 开始前期工作:硬件的准备
- CUDA By Examples 0 - 准备工作
- UWP 开发APP准备工作
- 创新实训开篇: MyFlag创意背景及准备工作相关介绍
- Hyper-V Server 2008 R2 高可用性—第一部分:准备工作 推荐
- 安全测试学习准备工作
- 从头开始安装Eclipse和VE 准备工作