>  기사  >  백엔드 개발  >  php 语法分析格式的有关问题-关于bison action的有关问题

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

WBOY
WBOY원래의
2016-06-13 12:47:23983검색

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
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.