colder Sat, 10 Jul 2010 11:10:38 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=301149
Log: Fix lemon's return value and uncomment unaries/shifts Changed paths: U php/php-src/branches/LEMON/Makefile.frag U php/php-src/branches/LEMON/Zend/Makefile.am U php/php-src/branches/LEMON/Zend/zend_language_parser.y Modified: php/php-src/branches/LEMON/Makefile.frag =================================================================== --- php/php-src/branches/LEMON/Makefile.frag 2010-07-10 10:29:29 UTC (rev 301148) +++ php/php-src/branches/LEMON/Makefile.frag 2010-07-10 11:10:38 UTC (rev 301149) @@ -11,7 +11,7 @@ $(srcdir)/zend_language_parser.h: $(srcdir)/zend_language_parser.c $(srcdir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y - $(LEMON) $(LEMON_FLAGS) $(srcdir)/zend_language_parser.y || test $$? -eq 25 + $(LEMON) $(LEMON_FLAGS) $(srcdir)/zend_language_parser.y || test $$? -eq 2 $(srcdir)/zend_ini_parser.h: $(srcdir)/zend_ini_parser.c $(srcdir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y Modified: php/php-src/branches/LEMON/Zend/Makefile.am =================================================================== --- php/php-src/branches/LEMON/Zend/Makefile.am 2010-07-10 10:29:29 UTC (rev 301148) +++ php/php-src/branches/LEMON/Zend/Makefile.am 2010-07-10 11:10:38 UTC (rev 301149) @@ -35,7 +35,7 @@ zend_language_parser.h: zend_language_parser.c zend_language_parser.c: $(srcdir)/zend_language_parser.y - $(LEMON) $(LEMON_FLAGS) $(srcdir)/zend_language_parser.y || test $$? -eq 25 + $(LEMON) $(LEMON_FLAGS) $(srcdir)/zend_language_parser.y || test $$? -eq 2 # INI parser/scanner rules Modified: php/php-src/branches/LEMON/Zend/zend_language_parser.y =================================================================== --- php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-10 10:29:29 UTC (rev 301148) +++ php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-10 11:10:38 UTC (rev 301149) @@ -1084,10 +1084,10 @@ expr_without_variable(A) ::= expr(B) MULT expr(C). { zend_do_binary_op(ZEND_MUL, &A, &B, &C TSRMLS_CC); } expr_without_variable(A) ::= expr(B) DIV expr(C). { zend_do_binary_op(ZEND_DIV, &A, &B, &C TSRMLS_CC); } expr_without_variable(A) ::= expr(B) MOD expr(C). { zend_do_binary_op(ZEND_MOD, &A, &B, &C TSRMLS_CC); } -//expr_without_variable(A) ::= expr(B) SL expr(C). { zend_do_binary_op(ZEND_SL, &A, &B, &C TSRMLS_CC); } -//expr_without_variable(A) ::= expr(B) SR expr(C). { zend_do_binary_op(ZEND_SR, &A, &B, &C TSRMLS_CC); } -//expr_without_variable(A) ::= PLUS(B) expr(C). [INC] { ZVAL_LONG(&B.u.constant, 0); if (C.op_type == IS_CONST) { add_function(&C.u.constant, &B.u.constant, &C.u.constant TSRMLS_CC); A = C; } else { B.op_type = IS_CONST; INIT_PZVAL(&B.u.constant); zend_do_binary_op(ZEND_ADD, &A, &B, &C TSRMLS_CC); } } -//expr_without_variable(A) ::= MINUS(B) expr(C). [INC] { ZVAL_LONG(&B.u.constant, 0); if (C.op_type == IS_CONST) { sub_function(&C.u.constant, &B.u.constant, &C.u.constant TSRMLS_CC); A = C; } else { B.op_type = IS_CONST; INIT_PZVAL(&B.u.constant); zend_do_binary_op(ZEND_SUB, &A, &B, &C TSRMLS_CC); } } +expr_without_variable(A) ::= expr(B) SL expr(C). { zend_do_binary_op(ZEND_SL, &A, &B, &C TSRMLS_CC); } +expr_without_variable(A) ::= expr(B) SR expr(C). { zend_do_binary_op(ZEND_SR, &A, &B, &C TSRMLS_CC); } +expr_without_variable(A) ::= PLUS(B) expr(C). [INC] { ZVAL_LONG(&B.u.constant, 0); if (C.op_type == IS_CONST) { add_function(&C.u.constant, &B.u.constant, &C.u.constant TSRMLS_CC); A = C; } else { B.op_type = IS_CONST; INIT_PZVAL(&B.u.constant); zend_do_binary_op(ZEND_ADD, &A, &B, &C TSRMLS_CC); } } +expr_without_variable(A) ::= MINUS(B) expr(C). [INC] { ZVAL_LONG(&B.u.constant, 0); if (C.op_type == IS_CONST) { sub_function(&C.u.constant, &B.u.constant, &C.u.constant TSRMLS_CC); A = C; } else { B.op_type = IS_CONST; INIT_PZVAL(&B.u.constant); zend_do_binary_op(ZEND_SUB, &A, &B, &C TSRMLS_CC); } } expr_without_variable(A) ::= BOOL_NOT expr(B). { zend_do_unary_op(ZEND_BOOL_NOT, &A, &B TSRMLS_CC); } expr_without_variable(A) ::= BW_NOT expr(B). { zend_do_unary_op(ZEND_BW_NOT, &A, &B TSRMLS_CC); } expr_without_variable(A) ::= expr(B) IS_IDENTICAL expr(C). { zend_do_binary_op(ZEND_IS_IDENTICAL, &A, &B, &C TSRMLS_CC); }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php