1、对Scanning进行词法分析,将PHP代码转换为语言片段。
2、解析Parsing,将Tokens转换成简单而有意义的表达式。
3、将Compilation编译成Opcode。
4、执行Execution,按顺序执行Opcode。
每次一条,实现PHP代码表达的功能。
实例
struct _zend_op {
const void *handler; //对应执行的C语言function,即每条opcode都有一个C function处理
znode_op op1; //操作数1
znode_op op2; //操作数2
znode_op result; //返回值
uint32_t extended_value;
uint32_t lineno;
zend_uchar opcode; //opcode指令
zend_uchar op1_type; //操作数1类型
zend_uchar op2_type; //操作数2类型
zend_uchar result_type; //返回值类型
};