当前位置:Gxlcms > PHP教程 > php语法分析格式的有关问题-关于bisonaction的有关问题

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

时间:2021-07-01 10:21:17 帮助过:24人阅读

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 的写法

人气教程排行