diff options
author | Ondřej Surý <ondrej@sury.org> | 2012-03-03 16:02:44 +0100 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2012-03-03 16:02:44 +0100 |
commit | 096b2f823b2273e3ee707b3805feb78d1e4be61d (patch) | |
tree | 2dbcbbe86edd177db1e3b33db04438919fa3d04e /Zend | |
parent | f89bb30da3cd51ee2deb566a08e318d6c3995324 (diff) | |
download | php-096b2f823b2273e3ee707b3805feb78d1e4be61d.tar.gz |
Imported Upstream version 5.4.0upstream/5.4.0
Diffstat (limited to 'Zend')
-rwxr-xr-x | Zend/tests/bug34199.phpt | 2 | ||||
-rwxr-xr-x | Zend/tests/bug39602.phpt | 2 | ||||
-rwxr-xr-x | Zend/tests/bug42819.phpt | 2 | ||||
-rw-r--r-- | Zend/tests/bug43918.phpt | 2 | ||||
-rw-r--r-- | Zend/tests/bug50174.phpt | 2 | ||||
-rw-r--r-- | Zend/tests/bug61095.phpt | 9 | ||||
-rw-r--r-- | Zend/tests/gc_024.phpt | 2 | ||||
-rw-r--r-- | Zend/tests/unset_cv10.phpt | 2 | ||||
-rw-r--r-- | Zend/zend_language_scanner.c | 374 | ||||
-rw-r--r-- | Zend/zend_language_scanner.l | 8 | ||||
-rw-r--r-- | Zend/zend_language_scanner_defs.h | 2 |
11 files changed, 212 insertions, 195 deletions
diff --git a/Zend/tests/bug34199.phpt b/Zend/tests/bug34199.phpt index daae0deb3..3012d808f 100755 --- a/Zend/tests/bug34199.phpt +++ b/Zend/tests/bug34199.phpt @@ -1,7 +1,7 @@ --TEST-- Bug #34199 (if($obj)/if(!$obj) inconsistency because of cast handler) --SKIPIF-- -<?php if (!extension_loaded("simplexml")) print "skip"; ?> +<?php if (!extension_loaded("simplexml")) print "skip SimpleXML extension required"; ?> --FILE-- <?php $xml = "<root></root>"; diff --git a/Zend/tests/bug39602.phpt b/Zend/tests/bug39602.phpt index daa10e4fd..db8763d8a 100755 --- a/Zend/tests/bug39602.phpt +++ b/Zend/tests/bug39602.phpt @@ -1,7 +1,7 @@ --TEST-- Bug #39602 (Invalid session.save_handler crashes PHP) --SKIPIF-- -<?php if (!extension_loaded("session")) die("skip"); ?> +<?php if (!extension_loaded("session")) die("skip session extension required"); ?> --INI-- session.save_handler=qwerty error_reporting=0 diff --git a/Zend/tests/bug42819.phpt b/Zend/tests/bug42819.phpt index f4387eb93..e52660369 100755 --- a/Zend/tests/bug42819.phpt +++ b/Zend/tests/bug42819.phpt @@ -1,7 +1,7 @@ --TEST-- Bug #42819 (namespaces in indexes of constant arrays) --SKIPIF-- -<?php if (!extension_loaded("spl")) print "skip"; ?> +<?php if (!extension_loaded("spl")) print "skip SPL extension required"; ?> --FILE-- <?php namespace foo\foo; diff --git a/Zend/tests/bug43918.phpt b/Zend/tests/bug43918.phpt index c76ce83de..e3389818b 100644 --- a/Zend/tests/bug43918.phpt +++ b/Zend/tests/bug43918.phpt @@ -1,7 +1,7 @@ --TEST-- Bug #43918 (Segmentation fault in garbage collector) --SKIPIF-- -<?php if (!extension_loaded("simplexml")) print "skip"; ?> +<?php if (!extension_loaded("simplexml")) print "skip SimpleXML extension required"; ?> --FILE-- <?php $xmlstr = <<<XML diff --git a/Zend/tests/bug50174.phpt b/Zend/tests/bug50174.phpt index fef65136b..ac2ad2cb8 100644 --- a/Zend/tests/bug50174.phpt +++ b/Zend/tests/bug50174.phpt @@ -1,7 +1,7 @@ --TEST-- Bug #50174 (Incorrectly matched docComment) --SKIPIF-- -<?php if (!extension_loaded('reflection') || !extension_loaded('spl')) print "skip"; ?> +<?php if (!extension_loaded('reflection') || !extension_loaded('spl')) print "skip SPL and reflection extensions required"; ?> --FILE-- <?php diff --git a/Zend/tests/bug61095.phpt b/Zend/tests/bug61095.phpt new file mode 100644 index 000000000..4ca196cd1 --- /dev/null +++ b/Zend/tests/bug61095.phpt @@ -0,0 +1,9 @@ +--TEST-- +Bug #61095 (Lexing 0x00*+<NUM> incorectly) +--FILE-- +<?php +echo 0x00+2; +echo "\n"; +?> +--EXPECT-- +2 diff --git a/Zend/tests/gc_024.phpt b/Zend/tests/gc_024.phpt index a139e95da..9a2ceb88f 100644 --- a/Zend/tests/gc_024.phpt +++ b/Zend/tests/gc_024.phpt @@ -3,7 +3,7 @@ GC 024: GC and objects with non-standard handlers --INI-- zend.enable_gc=1 --SKIPIF-- -<?php if (!extension_loaded("spl")) print "skip"; ?> +<?php if (!extension_loaded("spl")) print "skip SPL extension required"; ?> --FILE-- <?php $a = new ArrayObject(); diff --git a/Zend/tests/unset_cv10.phpt b/Zend/tests/unset_cv10.phpt index 0eb41922c..3b943d8b6 100644 --- a/Zend/tests/unset_cv10.phpt +++ b/Zend/tests/unset_cv10.phpt @@ -1,7 +1,7 @@ --TEST-- unset() CV 10 (unset() of global variable in ArrayObject::offsetUnset($GLOBALS)) --SKIPIF-- -<?php if (!extension_loaded("spl")) print "skip"; ?> +<?php if (!extension_loaded("spl")) print "skip SPL extension required"; ?> --FILE-- <?php $a = new ArrayObject($GLOBALS); diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 17beb6e61..2d0406794 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Mon Jan 16 14:45:55 2012 */ +/* Generated by re2c 0.13.5 on Wed Feb 15 17:48:20 2012 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -23,7 +23,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_language_scanner.c 322380 2012-01-17 08:11:32Z dmitry $ */ +/* $Id: zend_language_scanner.c 323394 2012-02-20 18:28:57Z colder $ */ #if 0 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c) @@ -1090,7 +1090,7 @@ yyc_INITIAL: yy3: YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1775 "Zend/zend_language_scanner.l" +#line 1779 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1168,7 +1168,7 @@ yy5: yy6: YYDEBUG(6, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1763 "Zend/zend_language_scanner.l" +#line 1767 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1187,7 +1187,7 @@ yy7: if ((yych = *YYCURSOR) == '=') goto yy43; YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1740 "Zend/zend_language_scanner.l" +#line 1744 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1385,7 +1385,7 @@ yy35: ++YYCURSOR; YYDEBUG(38, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1700 "Zend/zend_language_scanner.l" +#line 1704 "Zend/zend_language_scanner.l" { YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1)); @@ -1429,7 +1429,7 @@ yy43: ++YYCURSOR; YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1718 "Zend/zend_language_scanner.l" +#line 1722 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1447,7 +1447,7 @@ yy45: ++YYCURSOR; YYDEBUG(46, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1731 "Zend/zend_language_scanner.l" +#line 1735 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -1482,7 +1482,7 @@ yy50: yy51: YYDEBUG(51, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1753 "Zend/zend_language_scanner.l" +#line 1757 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -1562,7 +1562,7 @@ yyc_ST_BACKQUOTE: yy56: YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2226 "Zend/zend_language_scanner.l" +#line 2230 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1614,7 +1614,7 @@ yy58: ++YYCURSOR; YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2170 "Zend/zend_language_scanner.l" +#line 2174 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '`'; @@ -1629,7 +1629,7 @@ yy61: ++YYCURSOR; YYDEBUG(62, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2157 "Zend/zend_language_scanner.l" +#line 2161 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@ -1652,7 +1652,7 @@ yy63: yy65: YYDEBUG(65, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1857 "Zend/zend_language_scanner.l" +#line 1861 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; @@ -1683,7 +1683,7 @@ yy70: ++YYCURSOR; YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1849 "Zend/zend_language_scanner.l" +#line 1853 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -1709,7 +1709,7 @@ yy73: ++YYCURSOR; YYDEBUG(74, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1839 "Zend/zend_language_scanner.l" +#line 1843 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -1785,7 +1785,7 @@ yy77: yy78: YYDEBUG(78, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2176 "Zend/zend_language_scanner.l" +#line 2180 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -1845,7 +1845,7 @@ yy80: ++YYCURSOR; YYDEBUG(81, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2165 "Zend/zend_language_scanner.l" +#line 2169 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '"'; @@ -1860,7 +1860,7 @@ yy83: ++YYCURSOR; YYDEBUG(84, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2157 "Zend/zend_language_scanner.l" +#line 2161 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@ -1883,7 +1883,7 @@ yy85: yy87: YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1857 "Zend/zend_language_scanner.l" +#line 1861 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; @@ -1914,7 +1914,7 @@ yy92: ++YYCURSOR; YYDEBUG(93, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1849 "Zend/zend_language_scanner.l" +#line 1853 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -1940,7 +1940,7 @@ yy95: ++YYCURSOR; YYDEBUG(96, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1839 "Zend/zend_language_scanner.l" +#line 1843 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -1959,7 +1959,7 @@ yyc_ST_END_HEREDOC: ++YYCURSOR; YYDEBUG(100, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2144 "Zend/zend_language_scanner.l" +#line 2148 "Zend/zend_language_scanner.l" { YYCURSOR += CG(heredoc_len) - 1; yyleng = CG(heredoc_len); @@ -2033,7 +2033,7 @@ yy103: yy104: YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2268 "Zend/zend_language_scanner.l" +#line 2272 "Zend/zend_language_scanner.l" { int newline = 0; @@ -2119,7 +2119,7 @@ yy107: ++YYCURSOR; YYDEBUG(108, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2157 "Zend/zend_language_scanner.l" +#line 2161 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); @@ -2142,7 +2142,7 @@ yy109: yy111: YYDEBUG(111, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1857 "Zend/zend_language_scanner.l" +#line 1861 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; @@ -2173,7 +2173,7 @@ yy116: ++YYCURSOR; YYDEBUG(117, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1849 "Zend/zend_language_scanner.l" +#line 1853 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -2199,7 +2199,7 @@ yy119: ++YYCURSOR; YYDEBUG(120, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1839 "Zend/zend_language_scanner.l" +#line 1843 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -2388,7 +2388,7 @@ yy123: yy124: YYDEBUG(124, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1880 "Zend/zend_language_scanner.l" +#line 1884 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; @@ -2980,7 +2980,7 @@ yy175: yy176: YYDEBUG(176, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1887 "Zend/zend_language_scanner.l" +#line 1891 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -3021,7 +3021,7 @@ yy177: yy178: YYDEBUG(178, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1978 "Zend/zend_language_scanner.l" +#line 1982 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -3096,7 +3096,7 @@ yy179: yy180: YYDEBUG(180, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2047 "Zend/zend_language_scanner.l" +#line 2051 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -3143,7 +3143,7 @@ yy181: ++YYCURSOR; YYDEBUG(182, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2138 "Zend/zend_language_scanner.l" +#line 2142 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return '`'; @@ -3154,7 +3154,7 @@ yy183: ++YYCURSOR; YYDEBUG(184, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2396 "Zend/zend_language_scanner.l" +#line 2400 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -3190,7 +3190,7 @@ yy187: yy189: YYDEBUG(189, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1555 "Zend/zend_language_scanner.l" +#line 1559 "Zend/zend_language_scanner.l" { zendlval->value.dval = zend_strtod(yytext, NULL); zendlval->type = IS_DOUBLE; @@ -3333,7 +3333,11 @@ yy202: } if (len < SIZEOF_LONG * 2 || (len == SIZEOF_LONG * 2 && *hex <= '7')) { - zendlval->value.lval = strtol(hex, NULL, 16); + if (len == 0) { + zendlval->value.lval = 0; + } else { + zendlval->value.lval = strtol(hex, NULL, 16); + } zendlval->type = IS_LONG; return T_LNUMBER; } else { @@ -3342,7 +3346,7 @@ yy202: return T_DNUMBER; } } -#line 3346 "Zend/zend_language_scanner.c" +#line 3350 "Zend/zend_language_scanner.c" yy205: YYDEBUG(205, *YYCURSOR); ++YYCURSOR; @@ -3351,7 +3355,7 @@ yy205: yy206: YYDEBUG(206, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1955 "Zend/zend_language_scanner.l" +#line 1959 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -3359,7 +3363,7 @@ yy206: BEGIN(INITIAL); return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } -#line 3363 "Zend/zend_language_scanner.c" +#line 3367 "Zend/zend_language_scanner.c" yy207: YYDEBUG(207, *YYCURSOR); yych = *++YYCURSOR; @@ -3393,13 +3397,13 @@ yy209: yy211: YYDEBUG(211, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1857 "Zend/zend_language_scanner.l" +#line 1861 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 3403 "Zend/zend_language_scanner.c" +#line 3407 "Zend/zend_language_scanner.c" yy212: YYDEBUG(212, *YYCURSOR); yych = *++YYCURSOR; @@ -3417,7 +3421,7 @@ yy213: { return T_LOGICAL_XOR; } -#line 3421 "Zend/zend_language_scanner.c" +#line 3425 "Zend/zend_language_scanner.c" yy215: YYDEBUG(215, *YYCURSOR); ++YYCURSOR; @@ -3430,7 +3434,7 @@ yy215: { return T_LOGICAL_OR; } -#line 3434 "Zend/zend_language_scanner.c" +#line 3438 "Zend/zend_language_scanner.c" yy217: YYDEBUG(217, *YYCURSOR); ++YYCURSOR; @@ -3440,7 +3444,7 @@ yy217: { return T_XOR_EQUAL; } -#line 3444 "Zend/zend_language_scanner.c" +#line 3448 "Zend/zend_language_scanner.c" yy219: YYDEBUG(219, *YYCURSOR); ++YYCURSOR; @@ -3450,7 +3454,7 @@ yy219: { return T_BOOLEAN_OR; } -#line 3454 "Zend/zend_language_scanner.c" +#line 3458 "Zend/zend_language_scanner.c" yy221: YYDEBUG(221, *YYCURSOR); ++YYCURSOR; @@ -3460,7 +3464,7 @@ yy221: { return T_OR_EQUAL; } -#line 3464 "Zend/zend_language_scanner.c" +#line 3468 "Zend/zend_language_scanner.c" yy223: YYDEBUG(223, *YYCURSOR); ++YYCURSOR; @@ -3470,7 +3474,7 @@ yy223: { return T_BOOLEAN_AND; } -#line 3474 "Zend/zend_language_scanner.c" +#line 3478 "Zend/zend_language_scanner.c" yy225: YYDEBUG(225, *YYCURSOR); ++YYCURSOR; @@ -3480,7 +3484,7 @@ yy225: { return T_AND_EQUAL; } -#line 3484 "Zend/zend_language_scanner.c" +#line 3488 "Zend/zend_language_scanner.c" yy227: YYDEBUG(227, *YYCURSOR); ++YYCURSOR; @@ -3489,7 +3493,7 @@ yy227: yy228: YYDEBUG(228, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1964 "Zend/zend_language_scanner.l" +#line 1968 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { BEGIN(INITIAL); @@ -3502,7 +3506,7 @@ yy228: return yytext[0]; } } -#line 3506 "Zend/zend_language_scanner.c" +#line 3510 "Zend/zend_language_scanner.c" yy229: YYDEBUG(229, *YYCURSOR); ++YYCURSOR; @@ -3512,7 +3516,7 @@ yy229: { return T_MOD_EQUAL; } -#line 3516 "Zend/zend_language_scanner.c" +#line 3520 "Zend/zend_language_scanner.c" yy231: YYDEBUG(231, *YYCURSOR); yych = *++YYCURSOR; @@ -3547,7 +3551,7 @@ yy235: { return T_CONCAT_EQUAL; } -#line 3551 "Zend/zend_language_scanner.c" +#line 3555 "Zend/zend_language_scanner.c" yy237: YYDEBUG(237, *YYCURSOR); yyaccept = 4; @@ -3556,7 +3560,7 @@ yy237: yy238: YYDEBUG(238, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1921 "Zend/zend_language_scanner.l" +#line 1925 "Zend/zend_language_scanner.l" { int doc_com; @@ -3590,7 +3594,7 @@ yy238: return T_COMMENT; } -#line 3594 "Zend/zend_language_scanner.c" +#line 3598 "Zend/zend_language_scanner.c" yy239: YYDEBUG(239, *YYCURSOR); yych = *++YYCURSOR; @@ -3604,7 +3608,7 @@ yy240: { return T_DIV_EQUAL; } -#line 3608 "Zend/zend_language_scanner.c" +#line 3612 "Zend/zend_language_scanner.c" yy242: YYDEBUG(242, *YYCURSOR); yych = *++YYCURSOR; @@ -3631,7 +3635,7 @@ yy245: { return T_MUL_EQUAL; } -#line 3635 "Zend/zend_language_scanner.c" +#line 3639 "Zend/zend_language_scanner.c" yy247: YYDEBUG(247, *YYCURSOR); ++YYCURSOR; @@ -3642,7 +3646,7 @@ yy247: { return T_SR; } -#line 3646 "Zend/zend_language_scanner.c" +#line 3650 "Zend/zend_language_scanner.c" yy249: YYDEBUG(249, *YYCURSOR); ++YYCURSOR; @@ -3652,7 +3656,7 @@ yy249: { return T_IS_GREATER_OR_EQUAL; } -#line 3656 "Zend/zend_language_scanner.c" +#line 3660 "Zend/zend_language_scanner.c" yy251: YYDEBUG(251, *YYCURSOR); ++YYCURSOR; @@ -3662,7 +3666,7 @@ yy251: { return T_SR_EQUAL; } -#line 3666 "Zend/zend_language_scanner.c" +#line 3670 "Zend/zend_language_scanner.c" yy253: YYDEBUG(253, *YYCURSOR); yyaccept = 5; @@ -3677,7 +3681,7 @@ yy254: { return T_SL; } -#line 3681 "Zend/zend_language_scanner.c" +#line 3685 "Zend/zend_language_scanner.c" yy255: YYDEBUG(255, *YYCURSOR); yych = *++YYCURSOR; @@ -3693,7 +3697,7 @@ yy256: { return T_IS_SMALLER_OR_EQUAL; } -#line 3697 "Zend/zend_language_scanner.c" +#line 3701 "Zend/zend_language_scanner.c" yy258: YYDEBUG(258, *YYCURSOR); ++YYCURSOR; @@ -3704,7 +3708,7 @@ yy259: { return T_IS_NOT_EQUAL; } -#line 3708 "Zend/zend_language_scanner.c" +#line 3712 "Zend/zend_language_scanner.c" yy260: YYDEBUG(260, *YYCURSOR); yych = *++YYCURSOR; @@ -3759,7 +3763,7 @@ yy267: { return T_SL_EQUAL; } -#line 3763 "Zend/zend_language_scanner.c" +#line 3767 "Zend/zend_language_scanner.c" yy269: YYDEBUG(269, *YYCURSOR); ++YYCURSOR; @@ -3864,7 +3868,7 @@ yy278: yy279: YYDEBUG(279, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2089 "Zend/zend_language_scanner.l" +#line 2093 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -3912,7 +3916,7 @@ yy279: return T_START_HEREDOC; } -#line 3916 "Zend/zend_language_scanner.c" +#line 3920 "Zend/zend_language_scanner.c" yy280: YYDEBUG(280, *YYCURSOR); yych = *++YYCURSOR; @@ -3956,7 +3960,7 @@ yy283: { return T_IS_NOT_IDENTICAL; } -#line 3960 "Zend/zend_language_scanner.c" +#line 3964 "Zend/zend_language_scanner.c" yy286: YYDEBUG(286, *YYCURSOR); ++YYCURSOR; @@ -3966,7 +3970,7 @@ yy286: { return T_PLUS_EQUAL; } -#line 3970 "Zend/zend_language_scanner.c" +#line 3974 "Zend/zend_language_scanner.c" yy288: YYDEBUG(288, *YYCURSOR); ++YYCURSOR; @@ -3976,7 +3980,7 @@ yy288: { return T_INC; } -#line 3980 "Zend/zend_language_scanner.c" +#line 3984 "Zend/zend_language_scanner.c" yy290: YYDEBUG(290, *YYCURSOR); yych = *++YYCURSOR; @@ -3999,7 +4003,7 @@ yy292: { return T_LIST; } -#line 4003 "Zend/zend_language_scanner.c" +#line 4007 "Zend/zend_language_scanner.c" yy294: YYDEBUG(294, *YYCURSOR); ++YYCURSOR; @@ -4010,7 +4014,7 @@ yy294: { return T_IS_EQUAL; } -#line 4014 "Zend/zend_language_scanner.c" +#line 4018 "Zend/zend_language_scanner.c" yy296: YYDEBUG(296, *YYCURSOR); ++YYCURSOR; @@ -4020,7 +4024,7 @@ yy296: { return T_DOUBLE_ARROW; } -#line 4024 "Zend/zend_language_scanner.c" +#line 4028 "Zend/zend_language_scanner.c" yy298: YYDEBUG(298, *YYCURSOR); ++YYCURSOR; @@ -4030,7 +4034,7 @@ yy298: { return T_IS_IDENTICAL; } -#line 4034 "Zend/zend_language_scanner.c" +#line 4038 "Zend/zend_language_scanner.c" yy300: YYDEBUG(300, *YYCURSOR); yych = *++YYCURSOR; @@ -4160,7 +4164,7 @@ yy316: } YYDEBUG(319, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1690 "Zend/zend_language_scanner.l" +#line 1694 "Zend/zend_language_scanner.l" { if (CG(current_namespace)) { *zendlval = *CG(current_namespace); @@ -4170,7 +4174,7 @@ yy316: } return T_NS_C; } -#line 4174 "Zend/zend_language_scanner.c" +#line 4178 "Zend/zend_language_scanner.c" yy320: YYDEBUG(320, *YYCURSOR); yych = *++YYCURSOR; @@ -4190,7 +4194,7 @@ yy321: } YYDEBUG(324, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1663 "Zend/zend_language_scanner.l" +#line 1667 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); const size_t filename_len = strlen(filename); @@ -4217,7 +4221,7 @@ yy321: zendlval->type = IS_STRING; return T_DIR; } -#line 4221 "Zend/zend_language_scanner.c" +#line 4225 "Zend/zend_language_scanner.c" yy325: YYDEBUG(325, *YYCURSOR); yych = *++YYCURSOR; @@ -4242,13 +4246,13 @@ yy327: } YYDEBUG(330, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1645 "Zend/zend_language_scanner.l" +#line 1649 "Zend/zend_language_scanner.l" { zendlval->value.lval = CG(zend_lineno); zendlval->type = IS_LONG; return T_LINE; } -#line 4252 "Zend/zend_language_scanner.c" +#line 4256 "Zend/zend_language_scanner.c" yy331: YYDEBUG(331, *YYCURSOR); yych = *++YYCURSOR; @@ -4283,7 +4287,7 @@ yy335: } YYDEBUG(338, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1624 "Zend/zend_language_scanner.l" +#line 1628 "Zend/zend_language_scanner.l" { const char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL; const char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL; @@ -4304,7 +4308,7 @@ yy335: zendlval->type = IS_STRING; return T_METHOD_C; } -#line 4308 "Zend/zend_language_scanner.c" +#line 4312 "Zend/zend_language_scanner.c" yy339: YYDEBUG(339, *YYCURSOR); yych = *++YYCURSOR; @@ -4355,7 +4359,7 @@ yy346: } YYDEBUG(349, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1608 "Zend/zend_language_scanner.l" +#line 1612 "Zend/zend_language_scanner.l" { const char *func_name = NULL; @@ -4371,7 +4375,7 @@ yy346: zendlval->type = IS_STRING; return T_FUNC_C; } -#line 4375 "Zend/zend_language_scanner.c" +#line 4379 "Zend/zend_language_scanner.c" yy350: YYDEBUG(350, *YYCURSOR); yych = *++YYCURSOR; @@ -4391,7 +4395,7 @@ yy351: } YYDEBUG(354, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1651 "Zend/zend_language_scanner.l" +#line 1655 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); @@ -4403,7 +4407,7 @@ yy351: zendlval->type = IS_STRING; return T_FILE; } -#line 4407 "Zend/zend_language_scanner.c" +#line 4411 "Zend/zend_language_scanner.c" yy355: YYDEBUG(355, *YYCURSOR); yych = *++YYCURSOR; @@ -4433,7 +4437,7 @@ yy358: } YYDEBUG(361, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1588 "Zend/zend_language_scanner.l" +#line 1592 "Zend/zend_language_scanner.l" { const char *trait_name = NULL; @@ -4453,7 +4457,7 @@ yy358: return T_TRAIT_C; } -#line 4457 "Zend/zend_language_scanner.c" +#line 4461 "Zend/zend_language_scanner.c" yy362: YYDEBUG(362, *YYCURSOR); yych = *++YYCURSOR; @@ -4483,7 +4487,7 @@ yy365: } YYDEBUG(368, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1561 "Zend/zend_language_scanner.l" +#line 1565 "Zend/zend_language_scanner.l" { const char *class_name = NULL; @@ -4510,7 +4514,7 @@ yy365: } return T_CLASS_C; } -#line 4514 "Zend/zend_language_scanner.c" +#line 4518 "Zend/zend_language_scanner.c" yy369: YYDEBUG(369, *YYCURSOR); yych = *++YYCURSOR; @@ -4576,7 +4580,7 @@ yy380: { return T_HALT_COMPILER; } -#line 4580 "Zend/zend_language_scanner.c" +#line 4584 "Zend/zend_language_scanner.c" yy382: YYDEBUG(382, *YYCURSOR); yych = *++YYCURSOR; @@ -4600,7 +4604,7 @@ yy384: { return T_USE; } -#line 4604 "Zend/zend_language_scanner.c" +#line 4608 "Zend/zend_language_scanner.c" yy386: YYDEBUG(386, *YYCURSOR); yych = *++YYCURSOR; @@ -4623,7 +4627,7 @@ yy388: { return T_UNSET; } -#line 4627 "Zend/zend_language_scanner.c" +#line 4631 "Zend/zend_language_scanner.c" yy390: YYDEBUG(390, *YYCURSOR); ++YYCURSOR; @@ -4799,7 +4803,7 @@ yy405: { return T_INT_CAST; } -#line 4803 "Zend/zend_language_scanner.c" +#line 4807 "Zend/zend_language_scanner.c" yy408: YYDEBUG(408, *YYCURSOR); yych = *++YYCURSOR; @@ -4847,7 +4851,7 @@ yy413: { return T_DOUBLE_CAST; } -#line 4851 "Zend/zend_language_scanner.c" +#line 4855 "Zend/zend_language_scanner.c" yy417: YYDEBUG(417, *YYCURSOR); yych = *++YYCURSOR; @@ -4921,7 +4925,7 @@ yy427: { return T_STRING_CAST; } -#line 4925 "Zend/zend_language_scanner.c" +#line 4929 "Zend/zend_language_scanner.c" yy431: YYDEBUG(431, *YYCURSOR); yych = *++YYCURSOR; @@ -4958,7 +4962,7 @@ yy434: { return T_ARRAY_CAST; } -#line 4962 "Zend/zend_language_scanner.c" +#line 4966 "Zend/zend_language_scanner.c" yy438: YYDEBUG(438, *YYCURSOR); yych = *++YYCURSOR; @@ -5000,7 +5004,7 @@ yy442: { return T_OBJECT_CAST; } -#line 5004 "Zend/zend_language_scanner.c" +#line 5008 "Zend/zend_language_scanner.c" yy446: YYDEBUG(446, *YYCURSOR); yych = *++YYCURSOR; @@ -5045,7 +5049,7 @@ yy451: { return T_BOOL_CAST; } -#line 5049 "Zend/zend_language_scanner.c" +#line 5053 "Zend/zend_language_scanner.c" yy454: YYDEBUG(454, *YYCURSOR); yych = *++YYCURSOR; @@ -5109,7 +5113,7 @@ yy462: { return T_UNSET_CAST; } -#line 5113 "Zend/zend_language_scanner.c" +#line 5117 "Zend/zend_language_scanner.c" yy466: YYDEBUG(466, *YYCURSOR); yych = *++YYCURSOR; @@ -5127,7 +5131,7 @@ yy467: { return T_VAR; } -#line 5131 "Zend/zend_language_scanner.c" +#line 5135 "Zend/zend_language_scanner.c" yy469: YYDEBUG(469, *YYCURSOR); yych = *++YYCURSOR; @@ -5151,7 +5155,7 @@ yy471: { return T_NEW; } -#line 5155 "Zend/zend_language_scanner.c" +#line 5159 "Zend/zend_language_scanner.c" yy473: YYDEBUG(473, *YYCURSOR); yych = *++YYCURSOR; @@ -5194,7 +5198,7 @@ yy479: { return T_NAMESPACE; } -#line 5198 "Zend/zend_language_scanner.c" +#line 5202 "Zend/zend_language_scanner.c" yy481: YYDEBUG(481, *YYCURSOR); ++YYCURSOR; @@ -5204,7 +5208,7 @@ yy481: { return T_PAAMAYIM_NEKUDOTAYIM; } -#line 5208 "Zend/zend_language_scanner.c" +#line 5212 "Zend/zend_language_scanner.c" yy483: YYDEBUG(483, *YYCURSOR); ++YYCURSOR; @@ -5230,7 +5234,7 @@ yy485: { return T_MINUS_EQUAL; } -#line 5234 "Zend/zend_language_scanner.c" +#line 5238 "Zend/zend_language_scanner.c" yy487: YYDEBUG(487, *YYCURSOR); ++YYCURSOR; @@ -5240,7 +5244,7 @@ yy487: { return T_DEC; } -#line 5244 "Zend/zend_language_scanner.c" +#line 5248 "Zend/zend_language_scanner.c" yy489: YYDEBUG(489, *YYCURSOR); ++YYCURSOR; @@ -5251,7 +5255,7 @@ yy489: yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); return T_OBJECT_OPERATOR; } -#line 5255 "Zend/zend_language_scanner.c" +#line 5259 "Zend/zend_language_scanner.c" yy491: YYDEBUG(491, *YYCURSOR); yych = *++YYCURSOR; @@ -5300,7 +5304,7 @@ yy496: { return T_PUBLIC; } -#line 5304 "Zend/zend_language_scanner.c" +#line 5308 "Zend/zend_language_scanner.c" yy498: YYDEBUG(498, *YYCURSOR); yych = *++YYCURSOR; @@ -5359,7 +5363,7 @@ yy505: { return T_PROTECTED; } -#line 5363 "Zend/zend_language_scanner.c" +#line 5367 "Zend/zend_language_scanner.c" yy507: YYDEBUG(507, *YYCURSOR); yych = *++YYCURSOR; @@ -5393,7 +5397,7 @@ yy511: { return T_PRIVATE; } -#line 5397 "Zend/zend_language_scanner.c" +#line 5401 "Zend/zend_language_scanner.c" yy513: YYDEBUG(513, *YYCURSOR); ++YYCURSOR; @@ -5406,7 +5410,7 @@ yy513: { return T_PRINT; } -#line 5410 "Zend/zend_language_scanner.c" +#line 5414 "Zend/zend_language_scanner.c" yy515: YYDEBUG(515, *YYCURSOR); yych = *++YYCURSOR; @@ -5435,7 +5439,7 @@ yy518: { return T_GOTO; } -#line 5439 "Zend/zend_language_scanner.c" +#line 5443 "Zend/zend_language_scanner.c" yy520: YYDEBUG(520, *YYCURSOR); yych = *++YYCURSOR; @@ -5463,7 +5467,7 @@ yy523: { return T_GLOBAL; } -#line 5467 "Zend/zend_language_scanner.c" +#line 5471 "Zend/zend_language_scanner.c" yy525: YYDEBUG(525, *YYCURSOR); yych = *++YYCURSOR; @@ -5504,7 +5508,7 @@ yy531: { return T_BREAK; } -#line 5508 "Zend/zend_language_scanner.c" +#line 5512 "Zend/zend_language_scanner.c" yy533: YYDEBUG(533, *YYCURSOR); yych = *++YYCURSOR; @@ -5548,7 +5552,7 @@ yy539: { return T_SWITCH; } -#line 5552 "Zend/zend_language_scanner.c" +#line 5556 "Zend/zend_language_scanner.c" yy541: YYDEBUG(541, *YYCURSOR); yych = *++YYCURSOR; @@ -5576,7 +5580,7 @@ yy544: { return T_STATIC; } -#line 5580 "Zend/zend_language_scanner.c" +#line 5584 "Zend/zend_language_scanner.c" yy546: YYDEBUG(546, *YYCURSOR); yych = *++YYCURSOR; @@ -5607,7 +5611,7 @@ yy549: { return T_AS; } -#line 5611 "Zend/zend_language_scanner.c" +#line 5615 "Zend/zend_language_scanner.c" yy551: YYDEBUG(551, *YYCURSOR); yych = *++YYCURSOR; @@ -5630,7 +5634,7 @@ yy553: { return T_ARRAY; } -#line 5634 "Zend/zend_language_scanner.c" +#line 5638 "Zend/zend_language_scanner.c" yy555: YYDEBUG(555, *YYCURSOR); ++YYCURSOR; @@ -5643,7 +5647,7 @@ yy555: { return T_LOGICAL_AND; } -#line 5647 "Zend/zend_language_scanner.c" +#line 5651 "Zend/zend_language_scanner.c" yy557: YYDEBUG(557, *YYCURSOR); yych = *++YYCURSOR; @@ -5681,7 +5685,7 @@ yy562: { return T_ABSTRACT; } -#line 5685 "Zend/zend_language_scanner.c" +#line 5689 "Zend/zend_language_scanner.c" yy564: YYDEBUG(564, *YYCURSOR); yych = *++YYCURSOR; @@ -5709,7 +5713,7 @@ yy567: { return T_WHILE; } -#line 5713 "Zend/zend_language_scanner.c" +#line 5717 "Zend/zend_language_scanner.c" yy569: YYDEBUG(569, *YYCURSOR); ++YYCURSOR; @@ -5722,7 +5726,7 @@ yy569: { return T_IF; } -#line 5726 "Zend/zend_language_scanner.c" +#line 5730 "Zend/zend_language_scanner.c" yy571: YYDEBUG(571, *YYCURSOR); yych = *++YYCURSOR; @@ -5778,7 +5782,7 @@ yy576: { return T_ISSET; } -#line 5782 "Zend/zend_language_scanner.c" +#line 5786 "Zend/zend_language_scanner.c" yy578: YYDEBUG(578, *YYCURSOR); yych = *++YYCURSOR; @@ -5836,7 +5840,7 @@ yy585: { return T_INCLUDE; } -#line 5840 "Zend/zend_language_scanner.c" +#line 5844 "Zend/zend_language_scanner.c" yy586: YYDEBUG(586, *YYCURSOR); yych = *++YYCURSOR; @@ -5869,7 +5873,7 @@ yy590: { return T_INCLUDE_ONCE; } -#line 5873 "Zend/zend_language_scanner.c" +#line 5877 "Zend/zend_language_scanner.c" yy592: YYDEBUG(592, *YYCURSOR); yych = *++YYCURSOR; @@ -5907,7 +5911,7 @@ yy597: { return T_INTERFACE; } -#line 5911 "Zend/zend_language_scanner.c" +#line 5915 "Zend/zend_language_scanner.c" yy599: YYDEBUG(599, *YYCURSOR); yych = *++YYCURSOR; @@ -5961,7 +5965,7 @@ yy605: { return T_INSTEADOF; } -#line 5965 "Zend/zend_language_scanner.c" +#line 5969 "Zend/zend_language_scanner.c" yy607: YYDEBUG(607, *YYCURSOR); yych = *++YYCURSOR; @@ -5994,7 +5998,7 @@ yy611: { return T_INSTANCEOF; } -#line 5998 "Zend/zend_language_scanner.c" +#line 6002 "Zend/zend_language_scanner.c" yy613: YYDEBUG(613, *YYCURSOR); yych = *++YYCURSOR; @@ -6042,7 +6046,7 @@ yy620: { return T_IMPLEMENTS; } -#line 6046 "Zend/zend_language_scanner.c" +#line 6050 "Zend/zend_language_scanner.c" yy622: YYDEBUG(622, *YYCURSOR); yych = *++YYCURSOR; @@ -6074,7 +6078,7 @@ yy623: { return T_TRY; } -#line 6078 "Zend/zend_language_scanner.c" +#line 6082 "Zend/zend_language_scanner.c" yy626: YYDEBUG(626, *YYCURSOR); yych = *++YYCURSOR; @@ -6097,7 +6101,7 @@ yy628: { return T_TRAIT; } -#line 6101 "Zend/zend_language_scanner.c" +#line 6105 "Zend/zend_language_scanner.c" yy630: YYDEBUG(630, *YYCURSOR); yych = *++YYCURSOR; @@ -6120,7 +6124,7 @@ yy632: { return T_THROW; } -#line 6124 "Zend/zend_language_scanner.c" +#line 6128 "Zend/zend_language_scanner.c" yy634: YYDEBUG(634, *YYCURSOR); yych = *++YYCURSOR; @@ -6185,7 +6189,7 @@ yy641: { return T_REQUIRE; } -#line 6189 "Zend/zend_language_scanner.c" +#line 6193 "Zend/zend_language_scanner.c" yy642: YYDEBUG(642, *YYCURSOR); yych = *++YYCURSOR; @@ -6218,7 +6222,7 @@ yy646: { return T_REQUIRE_ONCE; } -#line 6222 "Zend/zend_language_scanner.c" +#line 6226 "Zend/zend_language_scanner.c" yy648: YYDEBUG(648, *YYCURSOR); yych = *++YYCURSOR; @@ -6241,7 +6245,7 @@ yy650: { return T_RETURN; } -#line 6245 "Zend/zend_language_scanner.c" +#line 6249 "Zend/zend_language_scanner.c" yy652: YYDEBUG(652, *YYCURSOR); yych = *++YYCURSOR; @@ -6335,7 +6339,7 @@ yy661: { return T_CONTINUE; } -#line 6339 "Zend/zend_language_scanner.c" +#line 6343 "Zend/zend_language_scanner.c" yy663: YYDEBUG(663, *YYCURSOR); ++YYCURSOR; @@ -6348,7 +6352,7 @@ yy663: { return T_CONST; } -#line 6352 "Zend/zend_language_scanner.c" +#line 6356 "Zend/zend_language_scanner.c" yy665: YYDEBUG(665, *YYCURSOR); yych = *++YYCURSOR; @@ -6377,7 +6381,7 @@ yy668: { return T_CLONE; } -#line 6381 "Zend/zend_language_scanner.c" +#line 6385 "Zend/zend_language_scanner.c" yy670: YYDEBUG(670, *YYCURSOR); yych = *++YYCURSOR; @@ -6395,7 +6399,7 @@ yy671: { return T_CLASS; } -#line 6399 "Zend/zend_language_scanner.c" +#line 6403 "Zend/zend_language_scanner.c" yy673: YYDEBUG(673, *YYCURSOR); yych = *++YYCURSOR; @@ -6445,7 +6449,7 @@ yy680: { return T_CALLABLE; } -#line 6449 "Zend/zend_language_scanner.c" +#line 6453 "Zend/zend_language_scanner.c" yy682: YYDEBUG(682, *YYCURSOR); ++YYCURSOR; @@ -6458,7 +6462,7 @@ yy682: { return T_CASE; } -#line 6462 "Zend/zend_language_scanner.c" +#line 6466 "Zend/zend_language_scanner.c" yy684: YYDEBUG(684, *YYCURSOR); yych = *++YYCURSOR; @@ -6476,7 +6480,7 @@ yy685: { return T_CATCH; } -#line 6480 "Zend/zend_language_scanner.c" +#line 6484 "Zend/zend_language_scanner.c" yy687: YYDEBUG(687, *YYCURSOR); yych = *++YYCURSOR; @@ -6531,7 +6535,7 @@ yy695: { return T_FUNCTION; } -#line 6535 "Zend/zend_language_scanner.c" +#line 6539 "Zend/zend_language_scanner.c" yy697: YYDEBUG(697, *YYCURSOR); ++YYCURSOR; @@ -6559,7 +6563,7 @@ yy698: { return T_FOR; } -#line 6563 "Zend/zend_language_scanner.c" +#line 6567 "Zend/zend_language_scanner.c" yy699: YYDEBUG(699, *YYCURSOR); yych = *++YYCURSOR; @@ -6587,7 +6591,7 @@ yy702: { return T_FOREACH; } -#line 6591 "Zend/zend_language_scanner.c" +#line 6595 "Zend/zend_language_scanner.c" yy704: YYDEBUG(704, *YYCURSOR); yych = *++YYCURSOR; @@ -6610,7 +6614,7 @@ yy706: { return T_FINAL; } -#line 6614 "Zend/zend_language_scanner.c" +#line 6618 "Zend/zend_language_scanner.c" yy708: YYDEBUG(708, *YYCURSOR); yych = *++YYCURSOR; @@ -6645,7 +6649,7 @@ yy710: { return T_DO; } -#line 6649 "Zend/zend_language_scanner.c" +#line 6653 "Zend/zend_language_scanner.c" yy712: YYDEBUG(712, *YYCURSOR); ++YYCURSOR; @@ -6658,7 +6662,7 @@ yy712: { return T_EXIT; } -#line 6662 "Zend/zend_language_scanner.c" +#line 6666 "Zend/zend_language_scanner.c" yy714: YYDEBUG(714, *YYCURSOR); yych = *++YYCURSOR; @@ -6697,7 +6701,7 @@ yy719: { return T_DEFAULT; } -#line 6701 "Zend/zend_language_scanner.c" +#line 6705 "Zend/zend_language_scanner.c" yy721: YYDEBUG(721, *YYCURSOR); yych = *++YYCURSOR; @@ -6725,7 +6729,7 @@ yy724: { return T_DECLARE; } -#line 6729 "Zend/zend_language_scanner.c" +#line 6733 "Zend/zend_language_scanner.c" yy726: YYDEBUG(726, *YYCURSOR); yych = *++YYCURSOR; @@ -6809,7 +6813,7 @@ yy737: { return T_EXTENDS; } -#line 6813 "Zend/zend_language_scanner.c" +#line 6817 "Zend/zend_language_scanner.c" yy739: YYDEBUG(739, *YYCURSOR); ++YYCURSOR; @@ -6822,7 +6826,7 @@ yy739: { return T_EXIT; } -#line 6826 "Zend/zend_language_scanner.c" +#line 6830 "Zend/zend_language_scanner.c" yy741: YYDEBUG(741, *YYCURSOR); yych = *++YYCURSOR; @@ -6840,7 +6844,7 @@ yy742: { return T_EVAL; } -#line 6844 "Zend/zend_language_scanner.c" +#line 6848 "Zend/zend_language_scanner.c" yy744: YYDEBUG(744, *YYCURSOR); yych = *++YYCURSOR; @@ -6914,7 +6918,7 @@ yy753: { return T_ENDWHILE; } -#line 6918 "Zend/zend_language_scanner.c" +#line 6922 "Zend/zend_language_scanner.c" yy755: YYDEBUG(755, *YYCURSOR); yych = *++YYCURSOR; @@ -6947,7 +6951,7 @@ yy759: { return T_ENDSWITCH; } -#line 6951 "Zend/zend_language_scanner.c" +#line 6955 "Zend/zend_language_scanner.c" yy761: YYDEBUG(761, *YYCURSOR); ++YYCURSOR; @@ -6960,7 +6964,7 @@ yy761: { return T_ENDIF; } -#line 6964 "Zend/zend_language_scanner.c" +#line 6968 "Zend/zend_language_scanner.c" yy763: YYDEBUG(763, *YYCURSOR); yych = *++YYCURSOR; @@ -6993,7 +6997,7 @@ yy765: { return T_ENDFOR; } -#line 6997 "Zend/zend_language_scanner.c" +#line 7001 "Zend/zend_language_scanner.c" yy766: YYDEBUG(766, *YYCURSOR); yych = *++YYCURSOR; @@ -7021,7 +7025,7 @@ yy769: { return T_ENDFOREACH; } -#line 7025 "Zend/zend_language_scanner.c" +#line 7029 "Zend/zend_language_scanner.c" yy771: YYDEBUG(771, *YYCURSOR); yych = *++YYCURSOR; @@ -7059,7 +7063,7 @@ yy776: { return T_ENDDECLARE; } -#line 7063 "Zend/zend_language_scanner.c" +#line 7067 "Zend/zend_language_scanner.c" yy778: YYDEBUG(778, *YYCURSOR); yych = *++YYCURSOR; @@ -7082,7 +7086,7 @@ yy780: { return T_EMPTY; } -#line 7086 "Zend/zend_language_scanner.c" +#line 7090 "Zend/zend_language_scanner.c" yy782: YYDEBUG(782, *YYCURSOR); yych = *++YYCURSOR; @@ -7115,7 +7119,7 @@ yy784: { return T_ELSE; } -#line 7119 "Zend/zend_language_scanner.c" +#line 7123 "Zend/zend_language_scanner.c" yy785: YYDEBUG(785, *YYCURSOR); yych = *++YYCURSOR; @@ -7133,7 +7137,7 @@ yy786: { return T_ELSEIF; } -#line 7137 "Zend/zend_language_scanner.c" +#line 7141 "Zend/zend_language_scanner.c" yy788: YYDEBUG(788, *YYCURSOR); yych = *++YYCURSOR; @@ -7151,7 +7155,7 @@ yy789: { return T_ECHO; } -#line 7155 "Zend/zend_language_scanner.c" +#line 7159 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -7232,7 +7236,7 @@ yy794: HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 7236 "Zend/zend_language_scanner.c" +#line 7240 "Zend/zend_language_scanner.c" yy795: YYDEBUG(795, *YYCURSOR); ++YYCURSOR; @@ -7246,7 +7250,7 @@ yy796: yy_pop_state(TSRMLS_C); goto restart; } -#line 7250 "Zend/zend_language_scanner.c" +#line 7254 "Zend/zend_language_scanner.c" yy797: YYDEBUG(797, *YYCURSOR); ++YYCURSOR; @@ -7262,7 +7266,7 @@ yy798: zendlval->type = IS_STRING; return T_STRING; } -#line 7266 "Zend/zend_language_scanner.c" +#line 7270 "Zend/zend_language_scanner.c" yy799: YYDEBUG(799, *YYCURSOR); yych = *++YYCURSOR; @@ -7287,7 +7291,7 @@ yy802: { return T_OBJECT_OPERATOR; } -#line 7291 "Zend/zend_language_scanner.c" +#line 7295 "Zend/zend_language_scanner.c" yy804: YYDEBUG(804, *YYCURSOR); ++YYCURSOR; @@ -7365,7 +7369,7 @@ yy809: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_STRING_VARNAME; } -#line 7369 "Zend/zend_language_scanner.c" +#line 7373 "Zend/zend_language_scanner.c" yy810: YYDEBUG(810, *YYCURSOR); ++YYCURSOR; @@ -7378,7 +7382,7 @@ yy810: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); goto restart; } -#line 7382 "Zend/zend_language_scanner.c" +#line 7386 "Zend/zend_language_scanner.c" yy812: YYDEBUG(812, *YYCURSOR); ++YYCURSOR; @@ -7400,7 +7404,7 @@ yyc_ST_NOWDOC: ++YYCURSOR; YYDEBUG(817, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2340 "Zend/zend_language_scanner.l" +#line 2344 "Zend/zend_language_scanner.l" { int newline = 0; @@ -7455,7 +7459,7 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); return T_ENCAPSED_AND_WHITESPACE; } -#line 7459 "Zend/zend_language_scanner.c" +#line 7463 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7562,7 +7566,7 @@ yy820: yy821: YYDEBUG(821, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1536 "Zend/zend_language_scanner.l" +#line 1540 "Zend/zend_language_scanner.l" { /* Offset could be treated as a long */ if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) { zendlval->value.lval = strtol(yytext, NULL, 10); @@ -7574,7 +7578,7 @@ yy821: } return T_NUM_STRING; } -#line 7578 "Zend/zend_language_scanner.c" +#line 7582 "Zend/zend_language_scanner.c" yy822: YYDEBUG(822, *YYCURSOR); yych = *++YYCURSOR; @@ -7594,23 +7598,23 @@ yy823: yy824: YYDEBUG(824, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1868 "Zend/zend_language_scanner.l" +#line 1872 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ return yytext[0]; } -#line 7603 "Zend/zend_language_scanner.c" +#line 7607 "Zend/zend_language_scanner.c" yy825: YYDEBUG(825, *YYCURSOR); ++YYCURSOR; YYDEBUG(826, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1863 "Zend/zend_language_scanner.l" +#line 1867 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); return ']'; } -#line 7614 "Zend/zend_language_scanner.c" +#line 7618 "Zend/zend_language_scanner.c" yy827: YYDEBUG(827, *YYCURSOR); yych = *++YYCURSOR; @@ -7620,14 +7624,14 @@ yy828: ++YYCURSOR; YYDEBUG(829, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1873 "Zend/zend_language_scanner.l" +#line 1877 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); yy_pop_state(TSRMLS_C); return T_ENCAPSED_AND_WHITESPACE; } -#line 7631 "Zend/zend_language_scanner.c" +#line 7635 "Zend/zend_language_scanner.c" yy830: YYDEBUG(830, *YYCURSOR); ++YYCURSOR; @@ -7636,19 +7640,19 @@ yy830: yy831: YYDEBUG(831, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1880 "Zend/zend_language_scanner.l" +#line 1884 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } -#line 7646 "Zend/zend_language_scanner.c" +#line 7650 "Zend/zend_language_scanner.c" yy832: YYDEBUG(832, *YYCURSOR); ++YYCURSOR; YYDEBUG(833, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2396 "Zend/zend_language_scanner.l" +#line 2400 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -7657,7 +7661,7 @@ yy832: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7661 "Zend/zend_language_scanner.c" +#line 7665 "Zend/zend_language_scanner.c" yy834: YYDEBUG(834, *YYCURSOR); ++YYCURSOR; @@ -7693,13 +7697,13 @@ yy836: yy838: YYDEBUG(838, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1857 "Zend/zend_language_scanner.l" +#line 1861 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 7703 "Zend/zend_language_scanner.c" +#line 7707 "Zend/zend_language_scanner.c" yy839: YYDEBUG(839, *YYCURSOR); ++YYCURSOR; @@ -7739,14 +7743,14 @@ yy844: yy846: YYDEBUG(846, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1548 "Zend/zend_language_scanner.l" +#line 1552 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ zendlval->value.str.val = (char *)estrndup(yytext, yyleng); zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; return T_NUM_STRING; } -#line 7750 "Zend/zend_language_scanner.c" +#line 7754 "Zend/zend_language_scanner.c" yy847: YYDEBUG(847, *YYCURSOR); ++YYCURSOR; @@ -7769,6 +7773,6 @@ yy849: goto yy846; } } -#line 2405 "Zend/zend_language_scanner.l" +#line 2409 "Zend/zend_language_scanner.l" } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index ca6281fa2..dc6cc5bc9 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_language_scanner.l 322378 2012-01-17 08:09:13Z dmitry $ */ +/* $Id: zend_language_scanner.l 323394 2012-02-20 18:28:57Z colder $ */ #if 0 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c) @@ -1523,7 +1523,11 @@ NEWLINE ("\r"|"\n"|"\r\n") } if (len < SIZEOF_LONG * 2 || (len == SIZEOF_LONG * 2 && *hex <= '7')) { - zendlval->value.lval = strtol(hex, NULL, 16); + if (len == 0) { + zendlval->value.lval = 0; + } else { + zendlval->value.lval = strtol(hex, NULL, 16); + } zendlval->type = IS_LONG; return T_LNUMBER; } else { diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index 0a72f090a..d05939b9c 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Mon Jan 16 14:45:55 2012 */ +/* Generated by re2c 0.13.5 on Wed Feb 15 17:48:20 2012 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE { |