Hi Johannes, Thanks for your reply :) What I meant was that why does the parser still accept any expression after T_BREAK/CONTINUE and defer the error check to zend_do_brk_cont? Isn't it clearer to only accept if the expression following T_BREAK/CONTINUE is a positive integer (if there is any expression at all)?
Kiyoto 2011/7/28 Johannes Schlüter <johan...@schlueters.de>: > On Thu, 2011-07-28 at 16:10 -0700, Kiyoto Tamura wrote: >> Hi, >> >> I am new to the PHP internals, and I was just looking through the code >> related to parsing break/continue statements. It looks that as of PHP >> 5.4, Zend/zend_language_parser.y accepts both "T_BREAK expr" and >> "T_CONTINUE expr" and check to make sure "expr" is a positive integer >> in the function zend_do_brk_cont. Doesn't it make more sense to >> replace "T_BREAK expr" with "T_BREAK <positive integer>" (the same >> goes for the continue statement)? > > T_BREAK expr allows things like > > $foo = rand(...); > break $foo; > > but we've dropped that for performance reasons in 5.4. > > johannes > >> Thanks in advance! >> >> kiyoto >> > > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php