PHP知识梳理--Zend编译过程.md

php是解析型高级语言,对于zend引擎来说,php就是一个普通的C程序。也是通过C语言main执行,如何将PHP的程序解析为zend可执行的的C代码,就是zend的php编译过程。
简单来说,zend对PHP的程序代码的编译分三步
1,通过代码词法分析(re2c)和语义分析(Bison) 将php代码编辑为抽象语法树(AST)
2, 将抽象语法树 编译为 opcode数组 (zend_op_array)

  • opcode其实就是zend定义的一个C的的结构性(struct) opcode中定义 变量的类型 存储和对应语句 执行方式 结果等
  • pass_two 编译阶段很关键的一个操作就是确定了各个 变量、中间值、临时值、返回值、字面量 的 内存编号 ,
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容