Maison >développement back-end >tutoriel php >php 语法分析格式的有关问题-关于bison action的有关问题

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

WBOY
WBOYoriginal
2016-06-13 11:23:30864parcourir

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

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


为什么可以在分号后面单独加 action呢? 如:
<br />';' { zend_do_free(&$3 TSRMLS_CC); $4.u.op.opline_num = get_next_op_number(CG(active_op_array)); }<br />


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

parser?bison?action
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn