自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (2)
  • 收藏
  • 关注

原创 python 编译过程 从py文件到bytecode

在os 角度,文件最终由file_str 来表示一个文件,我们从 mp_raw_code_t *raw_code = mp_raw_code_load_file(file_str);作为今天追踪代码的起点。raw_code 这个结构体我们已经看到好多次了,里面放了有bytecode 这么一个成员。typedef struct _mp_raw_code_t { mp_raw_

2016-07-24 18:39:28 1300

原创 编译器之语义分析

semantic: 语言的意义编译器的语义分析阶段将变量与其用法关联起来,检查每个表达式是否有正确的类型,还有, 将抽象的语法翻译成更简单的形式以方便生成机器语言(码)。符号表符号表将标识符和其类型、位置关联起来,当我们去处理变量,函数的声明时,就是将这些信息组织(绑定)起来,放在表里,当需要知道这些函数,变量的意义时,就去这个表里查。 每一个局部变

2016-07-20 19:36:38 3833

原创 python byte code 的生成以投放到虚拟机的过程

当我们在python shell 下面输入1+1,  shell 会返回一个2给我们,那具体过程是什么样的呢?如果打开源代码,其思路是非常清晰的: // parse mp_parse_tree_t parse_tree = mp_parse(lex, input_kind); // compile mp_obj_t module_fun = mp_

2016-07-17 15:40:20 738

原创 python语言的本质-- 从bytecode 到虚拟机

先得到type ,然后执行type里面的成员函数call. // get the type mp_obj_type_t *type = mp_obj_get_type(fun_in); // do the call if (type->call != NULL) { return type->call(fun_in, n_args, n_kw,

2016-07-12 20:03:44 885

原创 python 语法树生成过程

直接上代码,语法树在C语言里面,就是这个样子:typedef struct _mp_parse_t { mp_parse_node_t root; struct _mp_parse_chunk_t *chunk;} mp_parse_tree_t;先行知识:语法(分析)树可以以图形化的方式告诉我们一个start symbol 如何产生(drive) 一串字符, 如果

2016-07-08 23:02:24 8545

汇编语言ppt 了解汇编才是真正了解了计算机

想了解计算机底层原理的,一定不要错过,里面讲解了关于汇编语言的每一个细节

2018-08-24

X86开机过程详解 tex源代码

源代码,你可以自由下载安,更新它,打印它,注明出处就行了。

2015-09-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除