《python源码剖析之一》——python总体架构

《python源码剖析之一》——python总体架构_第1张图片

  1. 左边是python提供的大量的模块、库及用户自定义的模块。
  2. 右边是python的运行时环境,包括对象/类型系统(object/Type Structures)、内存分配器(Memory Allocation)和运行时状态(current State of Python).

运行时状态:维护了解释器在执行字节码时在不同状态之间的切换动作。
内存分配器:全权负责python中创建对象是内存的申请工作。
对象类型系统:包含了python中存在的各种內建对象。

  1. 中间则是python的核心解释器。在解释器总箭头方向指示了python运行时数据流的方向。

scanner:表示词法分析。将文件或者命令行输入的一行行python代码切分为一个一个的token。
Parser:对应语法分析部分。将scanner分析的结构进行语法分析,建立抽象的语法树(AST)。
Compiler:表示根据AST生成指令集合——python字节码(byte code)。
code Evaluator :执行字节码。

图中,在 Interpreter 与右边的对象/类型系统,内存分配器之间的箭“使用”关系;而与运行时状态之间的箭头表示修改关系,即 Python 在过程中会不断地修改当前解释器所处的状态,在不同的状态之间切换。

你可能感兴趣的:(python基础学习)