
Python源码分析
文章平均质量分 81
ATField
目前在微软公司Common Language Runtime .NET Framework 的.NET Native Tool Chain Team工作,目前主要负责开发.NET Native相关技术
展开
-
Python源码分析1 - Building Python
Python是一种动态的脚本语言。具体的我就不多介绍了,可以参考www.python.org. Python是Open Source的,在www.python.org可以下载到最新的2.5版的源代码。源代码链接在这里:Python 2.5 下载下来之后直接解压缩可以看到如下的目录结构: Demo D原创 2006-11-19 21:40:00 · 9092 阅读 · 6 评论 -
Python源码分析2 - 一个简单的Python程序的执行
本文主要通过跟踪一个非常简单的Python程序的执行,简单讨论Python实现的基本框架和结构。 要执行Python程序如下,功能非常简单:从1加到10再打印出来 # test program sum = 0 for i in ra原创 2006-11-19 21:46:00 · 10360 阅读 · 1 评论 -
Python源码分析3 – 词法分析器PyTokenizer
Introduction 上次我们分析了Python中执行程序可分为5个步骤: Tokenizer进行词法分析,把源程序分解为Token Parser根据Token创建CST CST被转换为AST AST被编译为字节码 执行字节码 本文将介绍Python程序执行的第一步,也就是词法分析。词法分析简单来说就是把源程序的字符分原创 2006-12-12 00:20:00 · 7049 阅读 · 2 评论 -
Python源码分析4 – Grammar文件和语法分析
Grammar文件前面提到了在Python的源代码目录下面有一个Grammar目录,里面只有一个文件Grammar,以BNF的语法定义了Python的全部语法。拿if语句举例来说: if_stmt: if test : suite (elif test : suite)* [else原创 2006-12-24 00:05:00 · 6732 阅读 · 4 评论 -
Python源码分析5 – 语法分析器PyParser
Introduction上一篇文章我们分析了Python是如何对语法文件Grammar进行预处理,生成语法数据,并在运行时生成Acclerators加速语法分析的过程。当分析完这些内容之后,下一步便是分析Python中语法分析的机制。回顾一下Python的整个处理流程:1. PyTokenizer进行词法分析,把源程序分解为Token2. PyParser根据Token原创 2007-01-06 19:56:00 · 7728 阅读 · 5 评论 -
Python源码分析6 – 从CST到AST的转化
Introduction上篇文章解释了Python是如何使用PyParser生成CST的。回顾一下,Python执行代码要经过如下过程:1. Tokenizer进行词法分析,把源程序分解为Token2. Parser根据Token创建CST3. CST被转换为AST4. AST被编译为字节码5. 执行字节码当执行Python代码的原创 2007-01-21 00:22:00 · 7108 阅读 · 7 评论