python解释器执行的流程
2015-03-26 08:51
155 查看
1.词法分析:读取代码文档(交互模式、文件模式、字符串模式三种模式采取不同的读取策略),将其转化为一个个token
如:
a = (2+3)*34
会将这个表达式转换为a、=、(、2、+、3、)、*、34这几个token,而且每一个token都会保存它的类型,比如a是一个变量,34是一个整数。
2.语法分析:利用上一步产生的token序列通过DFA转换将其变为CST(CST是将token直接进行匹配得到的结果)
在这一步语法分析中会用到grammar文件,这个文件使用了Chomsky 范式描述了所有python中涉及到的语法。通过这个文件配合了pgen工具生成基本的分析代码。程序会利用该代码来获取到CST。
3.语法分析:将CST转化为AST。
由于CST描述的语法会有很多的冗余项,因此需要将其压缩转换为AST
4.将AST编写为字节码
//还没看到
5. 执行字节码
//还没看到
如:
a = (2+3)*34
会将这个表达式转换为a、=、(、2、+、3、)、*、34这几个token,而且每一个token都会保存它的类型,比如a是一个变量,34是一个整数。
2.语法分析:利用上一步产生的token序列通过DFA转换将其变为CST(CST是将token直接进行匹配得到的结果)
在这一步语法分析中会用到grammar文件,这个文件使用了Chomsky 范式描述了所有python中涉及到的语法。通过这个文件配合了pgen工具生成基本的分析代码。程序会利用该代码来获取到CST。
3.语法分析:将CST转化为AST。
由于CST描述的语法会有很多的冗余项,因此需要将其压缩转换为AST
4.将AST编写为字节码
//还没看到
5. 执行字节码
//还没看到
相关文章推荐
- Python_使用python解释器执行monkey runner脚本
- Python学习第2节(基本数据类型操作和执行流程语句)
- PHP解释器引擎执行流程
- 最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
- Python学习笔记(二)Pytho解释器和程序开发、执行过程
- PHP内核之PHP解释器引擎执行流程
- 最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
- Python特性(十二):with语句的执行流程
- PHP解释器引擎执行流程
- PHP解释器引擎执行流程 - [ PHP内核学习 ]
- 【笔记】关于python自带解释器reload(sys)后无法正常执行
- python import导入模块执行流程分析
- 最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
- PHP解释器引擎执行流程
- Python_使用python解释器执行monkey runner脚本
- ubuntu下检查python版本,进入、退出python解释器、给予文件执行许可--ubuntu下python的学习(1)
- 最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件
- python-继承类执行的流程
- 脚本引擎解释器执行效率评测
- 最新JBoss jBPM 3.1 开始指南之二---执行示例流程和管理执行中的流程