码迷,mamicode.com
首页 > 编程语言 > 详细

Python源码剖析之准备工作

时间:2018-01-18 14:12:55      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:不同   python程序   系统   爱好者   信息   分配   group   inf   之间   

一个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程序   系统   爱好者   信息   分配   group   inf   之间   

原文地址:https://www.cnblogs.com/reboot51/p/8309795.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!