mirror of
https://github.com/php/php-src.git
synced 2026-04-13 11:02:55 +02:00
Merge branch 'PHP-7.3'
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* Generated by re2c 1.0.3 */
|
||||
/* Generated by re2c 1.0.1 */
|
||||
#line 1 "Zend/zend_language_scanner.l"
|
||||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
@@ -1454,7 +1454,7 @@ yy3:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(4, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 2747 "Zend/zend_language_scanner.l"
|
||||
#line 2749 "Zend/zend_language_scanner.l"
|
||||
{
|
||||
if (YYCURSOR > YYLIMIT) {
|
||||
RETURN_TOKEN(END);
|
||||
@@ -2266,7 +2266,7 @@ yy62:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(63, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 2400 "Zend/zend_language_scanner.l"
|
||||
#line 2402 "Zend/zend_language_scanner.l"
|
||||
{
|
||||
BEGIN(ST_BACKQUOTE);
|
||||
RETURN_TOKEN('`');
|
||||
@@ -4736,6 +4736,7 @@ yy397:
|
||||
|
||||
zend_ptr_stack_reverse_apply(¤t_state.heredoc_label_stack, copy_heredoc_label_stack);
|
||||
|
||||
zend_exception_save();
|
||||
while (heredoc_nesting_level) {
|
||||
zval zv;
|
||||
int retval;
|
||||
@@ -4764,6 +4765,7 @@ yy397:
|
||||
heredoc_nesting_level = 0;
|
||||
}
|
||||
}
|
||||
zend_exception_restore();
|
||||
|
||||
if (
|
||||
(first_token == T_VARIABLE
|
||||
@@ -4783,7 +4785,7 @@ yy397:
|
||||
|
||||
RETURN_TOKEN(T_START_HEREDOC);
|
||||
}
|
||||
#line 4787 "Zend/zend_language_scanner.c"
|
||||
#line 4789 "Zend/zend_language_scanner.c"
|
||||
yy398:
|
||||
YYDEBUG(398, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -4807,7 +4809,7 @@ yy400:
|
||||
{
|
||||
RETURN_TOKEN(T_ARRAY);
|
||||
}
|
||||
#line 4811 "Zend/zend_language_scanner.c"
|
||||
#line 4813 "Zend/zend_language_scanner.c"
|
||||
yy402:
|
||||
YYDEBUG(402, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -4820,7 +4822,7 @@ yy402:
|
||||
{
|
||||
RETURN_TOKEN(T_BREAK);
|
||||
}
|
||||
#line 4824 "Zend/zend_language_scanner.c"
|
||||
#line 4826 "Zend/zend_language_scanner.c"
|
||||
yy404:
|
||||
YYDEBUG(404, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -4839,7 +4841,7 @@ yy405:
|
||||
{
|
||||
RETURN_TOKEN(T_CATCH);
|
||||
}
|
||||
#line 4843 "Zend/zend_language_scanner.c"
|
||||
#line 4845 "Zend/zend_language_scanner.c"
|
||||
yy407:
|
||||
YYDEBUG(407, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -4852,7 +4854,7 @@ yy407:
|
||||
{
|
||||
RETURN_TOKEN(T_CLASS);
|
||||
}
|
||||
#line 4856 "Zend/zend_language_scanner.c"
|
||||
#line 4858 "Zend/zend_language_scanner.c"
|
||||
yy409:
|
||||
YYDEBUG(409, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -4865,7 +4867,7 @@ yy409:
|
||||
{
|
||||
RETURN_TOKEN(T_CLONE);
|
||||
}
|
||||
#line 4869 "Zend/zend_language_scanner.c"
|
||||
#line 4871 "Zend/zend_language_scanner.c"
|
||||
yy411:
|
||||
YYDEBUG(411, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -4878,7 +4880,7 @@ yy411:
|
||||
{
|
||||
RETURN_TOKEN(T_CONST);
|
||||
}
|
||||
#line 4882 "Zend/zend_language_scanner.c"
|
||||
#line 4884 "Zend/zend_language_scanner.c"
|
||||
yy413:
|
||||
YYDEBUG(413, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -4915,7 +4917,7 @@ yy417:
|
||||
{
|
||||
RETURN_TOKEN(T_EMPTY);
|
||||
}
|
||||
#line 4919 "Zend/zend_language_scanner.c"
|
||||
#line 4921 "Zend/zend_language_scanner.c"
|
||||
yy419:
|
||||
YYDEBUG(419, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -4940,7 +4942,7 @@ yy421:
|
||||
{
|
||||
RETURN_TOKEN(T_ENDIF);
|
||||
}
|
||||
#line 4944 "Zend/zend_language_scanner.c"
|
||||
#line 4946 "Zend/zend_language_scanner.c"
|
||||
yy423:
|
||||
YYDEBUG(423, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -4986,7 +4988,7 @@ yy427:
|
||||
{
|
||||
RETURN_TOKEN(T_FINAL);
|
||||
}
|
||||
#line 4990 "Zend/zend_language_scanner.c"
|
||||
#line 4992 "Zend/zend_language_scanner.c"
|
||||
yy428:
|
||||
YYDEBUG(428, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5047,7 +5049,7 @@ yy436:
|
||||
{
|
||||
RETURN_TOKEN(T_ISSET);
|
||||
}
|
||||
#line 5051 "Zend/zend_language_scanner.c"
|
||||
#line 5053 "Zend/zend_language_scanner.c"
|
||||
yy438:
|
||||
YYDEBUG(438, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5066,7 +5068,7 @@ yy439:
|
||||
{
|
||||
RETURN_TOKEN(T_PRINT);
|
||||
}
|
||||
#line 5070 "Zend/zend_language_scanner.c"
|
||||
#line 5072 "Zend/zend_language_scanner.c"
|
||||
yy441:
|
||||
YYDEBUG(441, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5121,7 +5123,7 @@ yy448:
|
||||
{
|
||||
RETURN_TOKEN(T_THROW);
|
||||
}
|
||||
#line 5125 "Zend/zend_language_scanner.c"
|
||||
#line 5127 "Zend/zend_language_scanner.c"
|
||||
yy450:
|
||||
YYDEBUG(450, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5134,7 +5136,7 @@ yy450:
|
||||
{
|
||||
RETURN_TOKEN(T_TRAIT);
|
||||
}
|
||||
#line 5138 "Zend/zend_language_scanner.c"
|
||||
#line 5140 "Zend/zend_language_scanner.c"
|
||||
yy452:
|
||||
YYDEBUG(452, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5147,7 +5149,7 @@ yy452:
|
||||
{
|
||||
RETURN_TOKEN(T_UNSET);
|
||||
}
|
||||
#line 5151 "Zend/zend_language_scanner.c"
|
||||
#line 5153 "Zend/zend_language_scanner.c"
|
||||
yy454:
|
||||
YYDEBUG(454, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5160,7 +5162,7 @@ yy454:
|
||||
{
|
||||
RETURN_TOKEN(T_WHILE);
|
||||
}
|
||||
#line 5164 "Zend/zend_language_scanner.c"
|
||||
#line 5166 "Zend/zend_language_scanner.c"
|
||||
yy456:
|
||||
YYDEBUG(456, *YYCURSOR);
|
||||
yyaccept = 6;
|
||||
@@ -5182,7 +5184,7 @@ yy457:
|
||||
{
|
||||
RETURN_TOKEN(T_YIELD);
|
||||
}
|
||||
#line 5186 "Zend/zend_language_scanner.c"
|
||||
#line 5188 "Zend/zend_language_scanner.c"
|
||||
yy458:
|
||||
YYDEBUG(458, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5278,7 +5280,7 @@ yy471:
|
||||
{
|
||||
RETURN_TOKEN(T_BOOL_CAST);
|
||||
}
|
||||
#line 5282 "Zend/zend_language_scanner.c"
|
||||
#line 5284 "Zend/zend_language_scanner.c"
|
||||
yy474:
|
||||
YYDEBUG(474, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5312,7 +5314,7 @@ yy478:
|
||||
{
|
||||
RETURN_TOKEN(T_DOUBLE_CAST);
|
||||
}
|
||||
#line 5316 "Zend/zend_language_scanner.c"
|
||||
#line 5318 "Zend/zend_language_scanner.c"
|
||||
yy480:
|
||||
YYDEBUG(480, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5381,7 +5383,7 @@ yy489:
|
||||
{
|
||||
RETURN_TOKEN(T_ELSEIF);
|
||||
}
|
||||
#line 5385 "Zend/zend_language_scanner.c"
|
||||
#line 5387 "Zend/zend_language_scanner.c"
|
||||
yy491:
|
||||
YYDEBUG(491, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5415,7 +5417,7 @@ yy493:
|
||||
{
|
||||
RETURN_TOKEN(T_ENDFOR);
|
||||
}
|
||||
#line 5419 "Zend/zend_language_scanner.c"
|
||||
#line 5421 "Zend/zend_language_scanner.c"
|
||||
yy494:
|
||||
YYDEBUG(494, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5464,7 +5466,7 @@ yy500:
|
||||
{
|
||||
RETURN_TOKEN(T_GLOBAL);
|
||||
}
|
||||
#line 5468 "Zend/zend_language_scanner.c"
|
||||
#line 5470 "Zend/zend_language_scanner.c"
|
||||
yy502:
|
||||
YYDEBUG(502, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5525,7 +5527,7 @@ yy510:
|
||||
{
|
||||
RETURN_TOKEN(T_PUBLIC);
|
||||
}
|
||||
#line 5529 "Zend/zend_language_scanner.c"
|
||||
#line 5531 "Zend/zend_language_scanner.c"
|
||||
yy512:
|
||||
YYDEBUG(512, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5544,7 +5546,7 @@ yy513:
|
||||
{
|
||||
RETURN_TOKEN(T_RETURN);
|
||||
}
|
||||
#line 5548 "Zend/zend_language_scanner.c"
|
||||
#line 5550 "Zend/zend_language_scanner.c"
|
||||
yy515:
|
||||
YYDEBUG(515, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5557,7 +5559,7 @@ yy515:
|
||||
{
|
||||
RETURN_TOKEN(T_STATIC);
|
||||
}
|
||||
#line 5561 "Zend/zend_language_scanner.c"
|
||||
#line 5563 "Zend/zend_language_scanner.c"
|
||||
yy517:
|
||||
YYDEBUG(517, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5570,7 +5572,7 @@ yy517:
|
||||
{
|
||||
RETURN_TOKEN(T_SWITCH);
|
||||
}
|
||||
#line 5574 "Zend/zend_language_scanner.c"
|
||||
#line 5576 "Zend/zend_language_scanner.c"
|
||||
yy519:
|
||||
YYDEBUG(519, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -5654,7 +5656,7 @@ yy530:
|
||||
{
|
||||
RETURN_TOKEN(T_ARRAY_CAST);
|
||||
}
|
||||
#line 5658 "Zend/zend_language_scanner.c"
|
||||
#line 5660 "Zend/zend_language_scanner.c"
|
||||
yy532:
|
||||
YYDEBUG(532, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -5704,7 +5706,7 @@ yy538:
|
||||
{
|
||||
RETURN_TOKEN(T_UNSET_CAST);
|
||||
}
|
||||
#line 5708 "Zend/zend_language_scanner.c"
|
||||
#line 5710 "Zend/zend_language_scanner.c"
|
||||
yy540:
|
||||
YYDEBUG(540, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5735,7 +5737,7 @@ yy543:
|
||||
{
|
||||
RETURN_TOKEN(T_DECLARE);
|
||||
}
|
||||
#line 5739 "Zend/zend_language_scanner.c"
|
||||
#line 5741 "Zend/zend_language_scanner.c"
|
||||
yy545:
|
||||
YYDEBUG(545, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5748,7 +5750,7 @@ yy545:
|
||||
{
|
||||
RETURN_TOKEN(T_DEFAULT);
|
||||
}
|
||||
#line 5752 "Zend/zend_language_scanner.c"
|
||||
#line 5754 "Zend/zend_language_scanner.c"
|
||||
yy547:
|
||||
YYDEBUG(547, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5785,7 +5787,7 @@ yy551:
|
||||
{
|
||||
RETURN_TOKEN(T_EXTENDS);
|
||||
}
|
||||
#line 5789 "Zend/zend_language_scanner.c"
|
||||
#line 5791 "Zend/zend_language_scanner.c"
|
||||
yy553:
|
||||
YYDEBUG(553, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5798,7 +5800,7 @@ yy553:
|
||||
{
|
||||
RETURN_TOKEN(T_FINALLY);
|
||||
}
|
||||
#line 5802 "Zend/zend_language_scanner.c"
|
||||
#line 5804 "Zend/zend_language_scanner.c"
|
||||
yy555:
|
||||
YYDEBUG(555, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5811,7 +5813,7 @@ yy555:
|
||||
{
|
||||
RETURN_TOKEN(T_FOREACH);
|
||||
}
|
||||
#line 5815 "Zend/zend_language_scanner.c"
|
||||
#line 5817 "Zend/zend_language_scanner.c"
|
||||
yy557:
|
||||
YYDEBUG(557, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5849,7 +5851,7 @@ yy560:
|
||||
{
|
||||
RETURN_TOKEN(T_INCLUDE);
|
||||
}
|
||||
#line 5853 "Zend/zend_language_scanner.c"
|
||||
#line 5855 "Zend/zend_language_scanner.c"
|
||||
yy561:
|
||||
YYDEBUG(561, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5886,7 +5888,7 @@ yy565:
|
||||
{
|
||||
RETURN_TOKEN(T_PRIVATE);
|
||||
}
|
||||
#line 5890 "Zend/zend_language_scanner.c"
|
||||
#line 5892 "Zend/zend_language_scanner.c"
|
||||
yy567:
|
||||
YYDEBUG(567, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5918,7 +5920,7 @@ yy569:
|
||||
{
|
||||
RETURN_TOKEN(T_REQUIRE);
|
||||
}
|
||||
#line 5922 "Zend/zend_language_scanner.c"
|
||||
#line 5924 "Zend/zend_language_scanner.c"
|
||||
yy570:
|
||||
YYDEBUG(570, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5942,7 +5944,7 @@ yy572:
|
||||
{
|
||||
RETURN_TOKEN(T_DIR);
|
||||
}
|
||||
#line 5946 "Zend/zend_language_scanner.c"
|
||||
#line 5948 "Zend/zend_language_scanner.c"
|
||||
yy574:
|
||||
YYDEBUG(574, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -5991,7 +5993,7 @@ yy581:
|
||||
{
|
||||
RETURN_TOKEN(T_STRING_CAST);
|
||||
}
|
||||
#line 5995 "Zend/zend_language_scanner.c"
|
||||
#line 5997 "Zend/zend_language_scanner.c"
|
||||
yy583:
|
||||
YYDEBUG(583, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -6001,7 +6003,7 @@ yy583:
|
||||
{
|
||||
RETURN_TOKEN(T_OBJECT_CAST);
|
||||
}
|
||||
#line 6005 "Zend/zend_language_scanner.c"
|
||||
#line 6007 "Zend/zend_language_scanner.c"
|
||||
yy585:
|
||||
YYDEBUG(585, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6014,7 +6016,7 @@ yy585:
|
||||
{
|
||||
RETURN_TOKEN(T_ABSTRACT);
|
||||
}
|
||||
#line 6018 "Zend/zend_language_scanner.c"
|
||||
#line 6020 "Zend/zend_language_scanner.c"
|
||||
yy587:
|
||||
YYDEBUG(587, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6027,7 +6029,7 @@ yy587:
|
||||
{
|
||||
RETURN_TOKEN(T_CALLABLE);
|
||||
}
|
||||
#line 6031 "Zend/zend_language_scanner.c"
|
||||
#line 6033 "Zend/zend_language_scanner.c"
|
||||
yy589:
|
||||
YYDEBUG(589, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6040,7 +6042,7 @@ yy589:
|
||||
{
|
||||
RETURN_TOKEN(T_CONTINUE);
|
||||
}
|
||||
#line 6044 "Zend/zend_language_scanner.c"
|
||||
#line 6046 "Zend/zend_language_scanner.c"
|
||||
yy591:
|
||||
YYDEBUG(591, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6071,7 +6073,7 @@ yy594:
|
||||
{
|
||||
RETURN_TOKEN(T_ENDWHILE);
|
||||
}
|
||||
#line 6075 "Zend/zend_language_scanner.c"
|
||||
#line 6077 "Zend/zend_language_scanner.c"
|
||||
yy596:
|
||||
YYDEBUG(596, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6084,7 +6086,7 @@ yy596:
|
||||
{
|
||||
RETURN_TOKEN(T_FUNCTION);
|
||||
}
|
||||
#line 6088 "Zend/zend_language_scanner.c"
|
||||
#line 6090 "Zend/zend_language_scanner.c"
|
||||
yy598:
|
||||
YYDEBUG(598, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6156,7 +6158,7 @@ yy608:
|
||||
{
|
||||
RETURN_TOKEN(T_FILE);
|
||||
}
|
||||
#line 6160 "Zend/zend_language_scanner.c"
|
||||
#line 6162 "Zend/zend_language_scanner.c"
|
||||
yy610:
|
||||
YYDEBUG(610, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6181,7 +6183,7 @@ yy612:
|
||||
{
|
||||
RETURN_TOKEN(T_LINE);
|
||||
}
|
||||
#line 6185 "Zend/zend_language_scanner.c"
|
||||
#line 6187 "Zend/zend_language_scanner.c"
|
||||
yy614:
|
||||
YYDEBUG(614, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6222,7 +6224,7 @@ yy619:
|
||||
{
|
||||
RETURN_TOKEN(T_ENDSWITCH);
|
||||
}
|
||||
#line 6226 "Zend/zend_language_scanner.c"
|
||||
#line 6228 "Zend/zend_language_scanner.c"
|
||||
yy621:
|
||||
YYDEBUG(621, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6253,7 +6255,7 @@ yy624:
|
||||
{
|
||||
RETURN_TOKEN(T_INSTEADOF);
|
||||
}
|
||||
#line 6257 "Zend/zend_language_scanner.c"
|
||||
#line 6259 "Zend/zend_language_scanner.c"
|
||||
yy626:
|
||||
YYDEBUG(626, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6266,7 +6268,7 @@ yy626:
|
||||
{
|
||||
RETURN_TOKEN(T_INTERFACE);
|
||||
}
|
||||
#line 6270 "Zend/zend_language_scanner.c"
|
||||
#line 6272 "Zend/zend_language_scanner.c"
|
||||
yy628:
|
||||
YYDEBUG(628, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6279,7 +6281,7 @@ yy628:
|
||||
{
|
||||
RETURN_TOKEN(T_NAMESPACE);
|
||||
}
|
||||
#line 6283 "Zend/zend_language_scanner.c"
|
||||
#line 6285 "Zend/zend_language_scanner.c"
|
||||
yy630:
|
||||
YYDEBUG(630, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6292,7 +6294,7 @@ yy630:
|
||||
{
|
||||
RETURN_TOKEN(T_PROTECTED);
|
||||
}
|
||||
#line 6296 "Zend/zend_language_scanner.c"
|
||||
#line 6298 "Zend/zend_language_scanner.c"
|
||||
yy632:
|
||||
YYDEBUG(632, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6317,7 +6319,7 @@ yy634:
|
||||
{
|
||||
RETURN_TOKEN(T_CLASS_C);
|
||||
}
|
||||
#line 6321 "Zend/zend_language_scanner.c"
|
||||
#line 6323 "Zend/zend_language_scanner.c"
|
||||
yy636:
|
||||
YYDEBUG(636, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6353,7 +6355,7 @@ yy640:
|
||||
{
|
||||
RETURN_TOKEN(T_TRAIT_C);
|
||||
}
|
||||
#line 6357 "Zend/zend_language_scanner.c"
|
||||
#line 6359 "Zend/zend_language_scanner.c"
|
||||
yy642:
|
||||
YYDEBUG(642, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6366,7 +6368,7 @@ yy642:
|
||||
{
|
||||
RETURN_TOKEN(T_ENDDECLARE);
|
||||
}
|
||||
#line 6370 "Zend/zend_language_scanner.c"
|
||||
#line 6372 "Zend/zend_language_scanner.c"
|
||||
yy644:
|
||||
YYDEBUG(644, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6379,7 +6381,7 @@ yy644:
|
||||
{
|
||||
RETURN_TOKEN(T_ENDFOREACH);
|
||||
}
|
||||
#line 6383 "Zend/zend_language_scanner.c"
|
||||
#line 6385 "Zend/zend_language_scanner.c"
|
||||
yy646:
|
||||
YYDEBUG(646, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6392,7 +6394,7 @@ yy646:
|
||||
{
|
||||
RETURN_TOKEN(T_IMPLEMENTS);
|
||||
}
|
||||
#line 6396 "Zend/zend_language_scanner.c"
|
||||
#line 6398 "Zend/zend_language_scanner.c"
|
||||
yy648:
|
||||
YYDEBUG(648, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6411,7 +6413,7 @@ yy649:
|
||||
{
|
||||
RETURN_TOKEN(T_INSTANCEOF);
|
||||
}
|
||||
#line 6415 "Zend/zend_language_scanner.c"
|
||||
#line 6417 "Zend/zend_language_scanner.c"
|
||||
yy651:
|
||||
YYDEBUG(651, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6463,7 +6465,7 @@ yy655:
|
||||
{
|
||||
RETURN_TOKEN(T_METHOD_C);
|
||||
}
|
||||
#line 6467 "Zend/zend_language_scanner.c"
|
||||
#line 6469 "Zend/zend_language_scanner.c"
|
||||
yy657:
|
||||
YYDEBUG(657, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6493,7 +6495,7 @@ yy660:
|
||||
HANDLE_NEWLINES(yytext, yyleng);
|
||||
RETURN_TOKEN(T_YIELD_FROM);
|
||||
}
|
||||
#line 6497 "Zend/zend_language_scanner.c"
|
||||
#line 6499 "Zend/zend_language_scanner.c"
|
||||
yy662:
|
||||
YYDEBUG(662, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6522,7 +6524,7 @@ yy665:
|
||||
{
|
||||
RETURN_TOKEN(T_INCLUDE_ONCE);
|
||||
}
|
||||
#line 6526 "Zend/zend_language_scanner.c"
|
||||
#line 6528 "Zend/zend_language_scanner.c"
|
||||
yy667:
|
||||
YYDEBUG(667, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6535,7 +6537,7 @@ yy667:
|
||||
{
|
||||
RETURN_TOKEN(T_REQUIRE_ONCE);
|
||||
}
|
||||
#line 6539 "Zend/zend_language_scanner.c"
|
||||
#line 6541 "Zend/zend_language_scanner.c"
|
||||
yy669:
|
||||
YYDEBUG(669, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6548,7 +6550,7 @@ yy669:
|
||||
{
|
||||
RETURN_TOKEN(T_FUNC_C);
|
||||
}
|
||||
#line 6552 "Zend/zend_language_scanner.c"
|
||||
#line 6554 "Zend/zend_language_scanner.c"
|
||||
yy671:
|
||||
YYDEBUG(671, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6578,7 +6580,7 @@ yy674:
|
||||
{
|
||||
RETURN_TOKEN(T_NS_C);
|
||||
}
|
||||
#line 6582 "Zend/zend_language_scanner.c"
|
||||
#line 6584 "Zend/zend_language_scanner.c"
|
||||
yy676:
|
||||
YYDEBUG(676, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6596,7 +6598,7 @@ yy677:
|
||||
{
|
||||
RETURN_TOKEN(T_HALT_COMPILER);
|
||||
}
|
||||
#line 6600 "Zend/zend_language_scanner.c"
|
||||
#line 6602 "Zend/zend_language_scanner.c"
|
||||
}
|
||||
/* *********************************** */
|
||||
yyc_ST_LOOKING_FOR_PROPERTY:
|
||||
@@ -6668,7 +6670,7 @@ yy682:
|
||||
yy_pop_state();
|
||||
goto restart;
|
||||
}
|
||||
#line 6672 "Zend/zend_language_scanner.c"
|
||||
#line 6674 "Zend/zend_language_scanner.c"
|
||||
yy683:
|
||||
YYDEBUG(683, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -6684,7 +6686,7 @@ yy683:
|
||||
{
|
||||
goto return_whitespace;
|
||||
}
|
||||
#line 6688 "Zend/zend_language_scanner.c"
|
||||
#line 6690 "Zend/zend_language_scanner.c"
|
||||
yy686:
|
||||
YYDEBUG(686, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6706,7 +6708,7 @@ yy687:
|
||||
yy_pop_state();
|
||||
RETURN_TOKEN_WITH_STR(T_STRING, 0);
|
||||
}
|
||||
#line 6710 "Zend/zend_language_scanner.c"
|
||||
#line 6712 "Zend/zend_language_scanner.c"
|
||||
yy690:
|
||||
YYDEBUG(690, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -6716,7 +6718,7 @@ yy690:
|
||||
{
|
||||
RETURN_TOKEN(T_OBJECT_OPERATOR);
|
||||
}
|
||||
#line 6720 "Zend/zend_language_scanner.c"
|
||||
#line 6722 "Zend/zend_language_scanner.c"
|
||||
}
|
||||
/* *********************************** */
|
||||
yyc_ST_BACKQUOTE:
|
||||
@@ -6769,7 +6771,7 @@ yyc_ST_BACKQUOTE:
|
||||
yy695:
|
||||
YYDEBUG(695, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 2492 "Zend/zend_language_scanner.l"
|
||||
#line 2494 "Zend/zend_language_scanner.l"
|
||||
{
|
||||
if (YYCURSOR > YYLIMIT) {
|
||||
RETURN_TOKEN(END);
|
||||
@@ -6814,7 +6816,7 @@ yy695:
|
||||
RETURN_TOKEN(T_ERROR);
|
||||
}
|
||||
}
|
||||
#line 6818 "Zend/zend_language_scanner.c"
|
||||
#line 6820 "Zend/zend_language_scanner.c"
|
||||
yy696:
|
||||
YYDEBUG(696, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6838,12 +6840,12 @@ yy697:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(698, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 2432 "Zend/zend_language_scanner.l"
|
||||
#line 2434 "Zend/zend_language_scanner.l"
|
||||
{
|
||||
BEGIN(ST_IN_SCRIPTING);
|
||||
RETURN_TOKEN('`');
|
||||
}
|
||||
#line 6847 "Zend/zend_language_scanner.c"
|
||||
#line 6849 "Zend/zend_language_scanner.c"
|
||||
yy699:
|
||||
YYDEBUG(699, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6868,7 +6870,7 @@ yy702:
|
||||
{
|
||||
RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
|
||||
}
|
||||
#line 6872 "Zend/zend_language_scanner.c"
|
||||
#line 6874 "Zend/zend_language_scanner.c"
|
||||
yy703:
|
||||
YYDEBUG(703, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -6879,19 +6881,19 @@ yy703:
|
||||
yy_push_state(ST_LOOKING_FOR_VARNAME);
|
||||
RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
|
||||
}
|
||||
#line 6883 "Zend/zend_language_scanner.c"
|
||||
#line 6885 "Zend/zend_language_scanner.c"
|
||||
yy705:
|
||||
YYDEBUG(705, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
YYDEBUG(706, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 2420 "Zend/zend_language_scanner.l"
|
||||
#line 2422 "Zend/zend_language_scanner.l"
|
||||
{
|
||||
yy_push_state(ST_IN_SCRIPTING);
|
||||
yyless(1);
|
||||
RETURN_TOKEN(T_CURLY_OPEN);
|
||||
}
|
||||
#line 6895 "Zend/zend_language_scanner.c"
|
||||
#line 6897 "Zend/zend_language_scanner.c"
|
||||
yy707:
|
||||
YYDEBUG(707, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6911,7 +6913,7 @@ yy709:
|
||||
yy_push_state(ST_VAR_OFFSET);
|
||||
RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
|
||||
}
|
||||
#line 6915 "Zend/zend_language_scanner.c"
|
||||
#line 6917 "Zend/zend_language_scanner.c"
|
||||
yy711:
|
||||
YYDEBUG(711, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -6935,7 +6937,7 @@ yy712:
|
||||
yy_push_state(ST_LOOKING_FOR_PROPERTY);
|
||||
RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
|
||||
}
|
||||
#line 6939 "Zend/zend_language_scanner.c"
|
||||
#line 6941 "Zend/zend_language_scanner.c"
|
||||
}
|
||||
/* *********************************** */
|
||||
yyc_ST_DOUBLE_QUOTES:
|
||||
@@ -6988,7 +6990,7 @@ yyc_ST_DOUBLE_QUOTES:
|
||||
yy717:
|
||||
YYDEBUG(717, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 2438 "Zend/zend_language_scanner.l"
|
||||
#line 2440 "Zend/zend_language_scanner.l"
|
||||
{
|
||||
if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
|
||||
YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
|
||||
@@ -7041,18 +7043,18 @@ double_quotes_scan_done:
|
||||
RETURN_TOKEN(T_ERROR);
|
||||
}
|
||||
}
|
||||
#line 7045 "Zend/zend_language_scanner.c"
|
||||
#line 7047 "Zend/zend_language_scanner.c"
|
||||
yy718:
|
||||
YYDEBUG(718, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
YYDEBUG(719, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 2427 "Zend/zend_language_scanner.l"
|
||||
#line 2429 "Zend/zend_language_scanner.l"
|
||||
{
|
||||
BEGIN(ST_IN_SCRIPTING);
|
||||
RETURN_TOKEN('"');
|
||||
}
|
||||
#line 7056 "Zend/zend_language_scanner.c"
|
||||
#line 7058 "Zend/zend_language_scanner.c"
|
||||
yy720:
|
||||
YYDEBUG(720, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -7095,7 +7097,7 @@ yy724:
|
||||
{
|
||||
RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
|
||||
}
|
||||
#line 7099 "Zend/zend_language_scanner.c"
|
||||
#line 7101 "Zend/zend_language_scanner.c"
|
||||
yy725:
|
||||
YYDEBUG(725, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -7106,19 +7108,19 @@ yy725:
|
||||
yy_push_state(ST_LOOKING_FOR_VARNAME);
|
||||
RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
|
||||
}
|
||||
#line 7110 "Zend/zend_language_scanner.c"
|
||||
#line 7112 "Zend/zend_language_scanner.c"
|
||||
yy727:
|
||||
YYDEBUG(727, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
YYDEBUG(728, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 2420 "Zend/zend_language_scanner.l"
|
||||
#line 2422 "Zend/zend_language_scanner.l"
|
||||
{
|
||||
yy_push_state(ST_IN_SCRIPTING);
|
||||
yyless(1);
|
||||
RETURN_TOKEN(T_CURLY_OPEN);
|
||||
}
|
||||
#line 7122 "Zend/zend_language_scanner.c"
|
||||
#line 7124 "Zend/zend_language_scanner.c"
|
||||
yy729:
|
||||
YYDEBUG(729, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -7138,7 +7140,7 @@ yy731:
|
||||
yy_push_state(ST_VAR_OFFSET);
|
||||
RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
|
||||
}
|
||||
#line 7142 "Zend/zend_language_scanner.c"
|
||||
#line 7144 "Zend/zend_language_scanner.c"
|
||||
yy733:
|
||||
YYDEBUG(733, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -7162,7 +7164,7 @@ yy734:
|
||||
yy_push_state(ST_LOOKING_FOR_PROPERTY);
|
||||
RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
|
||||
}
|
||||
#line 7166 "Zend/zend_language_scanner.c"
|
||||
#line 7168 "Zend/zend_language_scanner.c"
|
||||
}
|
||||
/* *********************************** */
|
||||
yyc_ST_HEREDOC:
|
||||
@@ -7211,7 +7213,7 @@ yyc_ST_HEREDOC:
|
||||
yy739:
|
||||
YYDEBUG(739, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 2538 "Zend/zend_language_scanner.l"
|
||||
#line 2540 "Zend/zend_language_scanner.l"
|
||||
{
|
||||
zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
|
||||
int newline = 0, indentation = 0, spacing = 0;
|
||||
@@ -7331,7 +7333,7 @@ heredoc_scan_done:
|
||||
|
||||
RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
|
||||
}
|
||||
#line 7335 "Zend/zend_language_scanner.c"
|
||||
#line 7337 "Zend/zend_language_scanner.c"
|
||||
yy740:
|
||||
YYDEBUG(740, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -7374,7 +7376,7 @@ yy744:
|
||||
{
|
||||
RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
|
||||
}
|
||||
#line 7378 "Zend/zend_language_scanner.c"
|
||||
#line 7380 "Zend/zend_language_scanner.c"
|
||||
yy745:
|
||||
YYDEBUG(745, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -7385,19 +7387,19 @@ yy745:
|
||||
yy_push_state(ST_LOOKING_FOR_VARNAME);
|
||||
RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
|
||||
}
|
||||
#line 7389 "Zend/zend_language_scanner.c"
|
||||
#line 7391 "Zend/zend_language_scanner.c"
|
||||
yy747:
|
||||
YYDEBUG(747, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
YYDEBUG(748, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 2420 "Zend/zend_language_scanner.l"
|
||||
#line 2422 "Zend/zend_language_scanner.l"
|
||||
{
|
||||
yy_push_state(ST_IN_SCRIPTING);
|
||||
yyless(1);
|
||||
RETURN_TOKEN(T_CURLY_OPEN);
|
||||
}
|
||||
#line 7401 "Zend/zend_language_scanner.c"
|
||||
#line 7403 "Zend/zend_language_scanner.c"
|
||||
yy749:
|
||||
YYDEBUG(749, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -7417,7 +7419,7 @@ yy751:
|
||||
yy_push_state(ST_VAR_OFFSET);
|
||||
RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
|
||||
}
|
||||
#line 7421 "Zend/zend_language_scanner.c"
|
||||
#line 7423 "Zend/zend_language_scanner.c"
|
||||
yy753:
|
||||
YYDEBUG(753, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -7441,7 +7443,7 @@ yy754:
|
||||
yy_push_state(ST_LOOKING_FOR_PROPERTY);
|
||||
RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
|
||||
}
|
||||
#line 7445 "Zend/zend_language_scanner.c"
|
||||
#line 7447 "Zend/zend_language_scanner.c"
|
||||
}
|
||||
/* *********************************** */
|
||||
yyc_ST_LOOKING_FOR_VARNAME:
|
||||
@@ -7505,7 +7507,7 @@ yy759:
|
||||
yy_push_state(ST_IN_SCRIPTING);
|
||||
goto restart;
|
||||
}
|
||||
#line 7509 "Zend/zend_language_scanner.c"
|
||||
#line 7511 "Zend/zend_language_scanner.c"
|
||||
yy760:
|
||||
YYDEBUG(760, *YYCURSOR);
|
||||
yych = *(YYMARKER = ++YYCURSOR);
|
||||
@@ -7559,7 +7561,7 @@ yy764:
|
||||
yy_push_state(ST_IN_SCRIPTING);
|
||||
RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
|
||||
}
|
||||
#line 7563 "Zend/zend_language_scanner.c"
|
||||
#line 7565 "Zend/zend_language_scanner.c"
|
||||
}
|
||||
/* *********************************** */
|
||||
yyc_ST_VAR_OFFSET:
|
||||
@@ -7648,7 +7650,7 @@ yy768:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(769, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 2747 "Zend/zend_language_scanner.l"
|
||||
#line 2749 "Zend/zend_language_scanner.l"
|
||||
{
|
||||
if (YYCURSOR > YYLIMIT) {
|
||||
RETURN_TOKEN(END);
|
||||
@@ -7657,7 +7659,7 @@ yy768:
|
||||
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 7663 "Zend/zend_language_scanner.c"
|
||||
yy770:
|
||||
YYDEBUG(770, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -7671,7 +7673,7 @@ yy770:
|
||||
ZVAL_NULL(zendlval);
|
||||
RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
|
||||
}
|
||||
#line 7675 "Zend/zend_language_scanner.c"
|
||||
#line 7677 "Zend/zend_language_scanner.c"
|
||||
yy772:
|
||||
YYDEBUG(772, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -7683,7 +7685,7 @@ yy773:
|
||||
/* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
|
||||
RETURN_TOKEN(yytext[0]);
|
||||
}
|
||||
#line 7687 "Zend/zend_language_scanner.c"
|
||||
#line 7689 "Zend/zend_language_scanner.c"
|
||||
yy774:
|
||||
YYDEBUG(774, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -7734,7 +7736,7 @@ string:
|
||||
}
|
||||
RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
|
||||
}
|
||||
#line 7738 "Zend/zend_language_scanner.c"
|
||||
#line 7740 "Zend/zend_language_scanner.c"
|
||||
yy777:
|
||||
YYDEBUG(777, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -7760,7 +7762,7 @@ yy779:
|
||||
{
|
||||
RETURN_TOKEN_WITH_STR(T_STRING, 0);
|
||||
}
|
||||
#line 7764 "Zend/zend_language_scanner.c"
|
||||
#line 7766 "Zend/zend_language_scanner.c"
|
||||
yy782:
|
||||
YYDEBUG(782, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -7771,7 +7773,7 @@ yy782:
|
||||
yy_pop_state();
|
||||
RETURN_TOKEN(']');
|
||||
}
|
||||
#line 7775 "Zend/zend_language_scanner.c"
|
||||
#line 7777 "Zend/zend_language_scanner.c"
|
||||
yy784:
|
||||
YYDEBUG(784, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -7800,7 +7802,7 @@ yy786:
|
||||
{
|
||||
RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
|
||||
}
|
||||
#line 7804 "Zend/zend_language_scanner.c"
|
||||
#line 7806 "Zend/zend_language_scanner.c"
|
||||
yy787:
|
||||
YYDEBUG(787, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -7821,7 +7823,7 @@ yy789:
|
||||
}
|
||||
RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
|
||||
}
|
||||
#line 7825 "Zend/zend_language_scanner.c"
|
||||
#line 7827 "Zend/zend_language_scanner.c"
|
||||
yy790:
|
||||
YYDEBUG(790, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -7918,7 +7920,7 @@ inline_char_handler:
|
||||
HANDLE_NEWLINES(yytext, yyleng);
|
||||
RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
|
||||
}
|
||||
#line 7922 "Zend/zend_language_scanner.c"
|
||||
#line 7924 "Zend/zend_language_scanner.c"
|
||||
yy801:
|
||||
YYDEBUG(801, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -7946,7 +7948,7 @@ yy803:
|
||||
goto inline_char_handler;
|
||||
}
|
||||
}
|
||||
#line 7950 "Zend/zend_language_scanner.c"
|
||||
#line 7952 "Zend/zend_language_scanner.c"
|
||||
yy804:
|
||||
YYDEBUG(804, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -7960,7 +7962,7 @@ yy804:
|
||||
}
|
||||
RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
|
||||
}
|
||||
#line 7964 "Zend/zend_language_scanner.c"
|
||||
#line 7966 "Zend/zend_language_scanner.c"
|
||||
yy806:
|
||||
YYDEBUG(806, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -8000,7 +8002,7 @@ yy811:
|
||||
}
|
||||
RETURN_TOKEN(T_OPEN_TAG);
|
||||
}
|
||||
#line 8004 "Zend/zend_language_scanner.c"
|
||||
#line 8006 "Zend/zend_language_scanner.c"
|
||||
yy812:
|
||||
YYDEBUG(812, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -8015,7 +8017,7 @@ yyc_ST_END_HEREDOC:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(816, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 2406 "Zend/zend_language_scanner.l"
|
||||
#line 2408 "Zend/zend_language_scanner.l"
|
||||
{
|
||||
zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
|
||||
|
||||
@@ -8028,7 +8030,7 @@ yyc_ST_END_HEREDOC:
|
||||
BEGIN(ST_IN_SCRIPTING);
|
||||
RETURN_TOKEN(T_END_HEREDOC);
|
||||
}
|
||||
#line 8032 "Zend/zend_language_scanner.c"
|
||||
#line 8034 "Zend/zend_language_scanner.c"
|
||||
/* *********************************** */
|
||||
yyc_ST_NOWDOC:
|
||||
YYDEBUG(817, *YYCURSOR);
|
||||
@@ -8038,7 +8040,7 @@ yyc_ST_NOWDOC:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(820, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 2659 "Zend/zend_language_scanner.l"
|
||||
#line 2661 "Zend/zend_language_scanner.l"
|
||||
{
|
||||
zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
|
||||
int newline = 0, indentation = 0, spacing = -1;
|
||||
@@ -8125,9 +8127,9 @@ nowdoc_scan_done:
|
||||
HANDLE_NEWLINES(yytext, yyleng - newline);
|
||||
RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
|
||||
}
|
||||
#line 8129 "Zend/zend_language_scanner.c"
|
||||
#line 8131 "Zend/zend_language_scanner.c"
|
||||
}
|
||||
#line 2756 "Zend/zend_language_scanner.l"
|
||||
#line 2758 "Zend/zend_language_scanner.l"
|
||||
|
||||
|
||||
emit_token_with_str:
|
||||
|
||||
@@ -2348,6 +2348,7 @@ skip_escape_conversion:
|
||||
|
||||
zend_ptr_stack_reverse_apply(¤t_state.heredoc_label_stack, copy_heredoc_label_stack);
|
||||
|
||||
zend_exception_save();
|
||||
while (heredoc_nesting_level) {
|
||||
zval zv;
|
||||
int retval;
|
||||
@@ -2376,6 +2377,7 @@ skip_escape_conversion:
|
||||
heredoc_nesting_level = 0;
|
||||
}
|
||||
}
|
||||
zend_exception_restore();
|
||||
|
||||
if (
|
||||
(first_token == T_VARIABLE
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Generated by re2c 1.0.3 */
|
||||
/* Generated by re2c 1.0.1 */
|
||||
#line 3 "Zend/zend_language_scanner_defs.h"
|
||||
|
||||
enum YYCONDTYPE {
|
||||
|
||||
38
ext/tokenizer/tests/bug76991.phpt
Normal file
38
ext/tokenizer/tests/bug76991.phpt
Normal file
@@ -0,0 +1,38 @@
|
||||
--TEST--
|
||||
Bug #76991: Incorrect tokenization of multiple invalid flexible heredoc strings
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$code = <<<CODE
|
||||
<?php
|
||||
<<<TEST
|
||||
\$a
|
||||
TEST;
|
||||
|
||||
<<<END
|
||||
\$a
|
||||
END;
|
||||
CODE;
|
||||
foreach (token_get_all($code) as $token) {
|
||||
if (is_array($token)) {
|
||||
echo token_name($token[0]) . ": " .str_replace("\n", '\n', $token[1]);
|
||||
} else {
|
||||
echo $token;
|
||||
}
|
||||
echo "\n";
|
||||
}
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
T_OPEN_TAG: <?php\n
|
||||
T_START_HEREDOC: <<<TEST\n
|
||||
T_VARIABLE: $a
|
||||
T_ENCAPSED_AND_WHITESPACE: \n
|
||||
T_END_HEREDOC: TEST
|
||||
;
|
||||
T_WHITESPACE: \n\n
|
||||
T_START_HEREDOC: <<<END\n
|
||||
T_VARIABLE: $a
|
||||
T_ENCAPSED_AND_WHITESPACE: \n
|
||||
T_END_HEREDOC: END
|
||||
;
|
||||
Reference in New Issue
Block a user