您好,欢迎访问一九零五行业门户网

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

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 的写法
其它类似信息

推荐信息