定制自己的PHP语法-在PHP中实现unless

首先 ,插一句题外话: 从我发表第一篇PHP执行原理的文章到现在, 已经快2年了, 我很高兴的看到这俩年里PHP中文圈里 ,越来越多的人开始研究PHP源码, 也有越来越多的人开始从事PHP扩展开发.

关于PHP的执行原理, 我想我BLOG的读者都能脱口而出:

  1. 词法分析, 去掉注释, 空白, 得到TOKEN
  2. 语法分析, 在这个过程中生成Opcode array (op_array)
  3. 解释执行, 执行op_array, 一条一条的解释执行Opline(SWITCH, CALL, GOTO)
    今天有人问我, 说他看到有PHPer在说unless语句, 我很是纳闷, 后来才知道, 原来是一个国外的PHP大牛自己Hack了PHP的源码, 加入了一个unless语句.

很有意思, 今天, 我也就在这里为大家演示, 如何为我们自己的PHP加入unless语句..

如果你是不了解PHP的执行过程, 请先花点时间看看我之前的文章深入理解PHP原理之Opcodes:

我们的目标, 是要实现如下的语法(以php 5.2.11为基础):

posted on 2016-08-31 23:33  wangtao-bky  阅读(97)  评论(0编辑  收藏  举报