PHP头条
热点:

php语法分析格式的有关问题-关于bisonaction的有关问题


php 语法分析格式的问题--关于bison action的问题
查看php的语法文件文件(zend_language_parser.y),发现有如下的写法:

| T_FOR
'('
for_expr
';' { zend_do_free(&$3 TSRMLS_CC); $4.u.op.opline_num = get_next_op_number(CG(active_op_array)); }
for_expr
';' { zend_do_extended_info(TSRMLS_C); zend_do_for_cond(&$6, &$7 TSRMLS_CC); }
for_expr
')' { zend_do_free(&$9 TSRMLS_CC); zend_do_for_before_statement(&$4, &$7 TSRMLS_CC); }



为什么可以在分号后面单独加 action呢? 如:

';' { zend_do_free(&$3 TSRMLS_CC); $4.u.op.opline_num = get_next_op_number(CG(active_op_array)); }


bison的 action 不都是放在一个production后面么,为什么可以在production中间加 action?我自己写的一个语法分析文件采用这种方式就会报错,why...? parser?bison?action 分享到:
------解决方案--------------------
这是 YACC 的写法

www.phpzy.comtrue/phprm/21858.htmlTechArticlephp语法分析格式的有关问题-关于bisonaction的有关问题 php 语法分析格式的问题--关于bison action的问题 查看php的语法文件文件(zend_language_parser.y),发现有如下的写法: |T_FOR '(' for_expr ';'{zend...

相关文章

PHP之友评论

今天推荐