Fix #741 incorrect varvar positions

This commit is contained in:
Nikita Popov 2020-12-19 22:03:43 +01:00
parent bec74aceda
commit 893a5bce3f
3 changed files with 352 additions and 345 deletions

View File

@ -601,7 +601,7 @@ non_empty_global_var_list:
;
global_var:
simple_variable { $$ = Expr\Variable[$1]; }
simple_variable { $$ = $1; }
;
static_var_list:
@ -1007,7 +1007,7 @@ callable_expr:
;
callable_variable:
simple_variable { $$ = Expr\Variable[$1]; }
simple_variable { $$ = $1; }
| array_object_dereferencable '[' optional_expr ']' { $$ = Expr\ArrayDimFetch[$1, $3]; }
| array_object_dereferencable '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; }
| function_call { $$ = $1; }
@ -1032,15 +1032,15 @@ variable:
;
simple_variable:
T_VARIABLE { $$ = parseVar($1); }
| '$' '{' expr '}' { $$ = $3; }
plain_variable { $$ = $1; }
| '$' '{' expr '}' { $$ = Expr\Variable[$3]; }
| '$' simple_variable { $$ = Expr\Variable[$2]; }
| '$' error { $$ = Expr\Error[]; $this->errorState = 2; }
| '$' error { $$ = Expr\Variable[Expr\Error[]]; $this->errorState = 2; }
;
static_member_prop_name:
simple_variable
{ $var = $1; $$ = \is_string($var) ? Node\VarLikeIdentifier[$var] : $var; }
{ $var = $1->name; $$ = \is_string($var) ? Node\VarLikeIdentifier[$var] : $var; }
;
static_member:
@ -1049,7 +1049,7 @@ static_member:
;
new_variable:
simple_variable { $$ = Expr\Variable[$1]; }
simple_variable { $$ = $1; }
| new_variable '[' optional_expr ']' { $$ = Expr\ArrayDimFetch[$1, $3]; }
| new_variable '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; }
| new_variable T_OBJECT_OPERATOR property_name { $$ = Expr\PropertyFetch[$1, $3]; }
@ -1063,13 +1063,13 @@ new_variable:
member_name:
identifier_ex { $$ = $1; }
| '{' expr '}' { $$ = $2; }
| simple_variable { $$ = Expr\Variable[$1]; }
| simple_variable { $$ = $1; }
;
property_name:
identifier { $$ = $1; }
| '{' expr '}' { $$ = $2; }
| simple_variable { $$ = Expr\Variable[$1]; }
| simple_variable { $$ = $1; }
| error { $$ = Expr\Error[]; $this->errorState = 2; }
;

View File

@ -18,8 +18,8 @@ use PhpParser\Node\Stmt;
class Php7 extends \PhpParser\ParserAbstract
{
protected $tokenToSymbolMapSize = 392;
protected $actionTableSize = 1162;
protected $gotoTableSize = 611;
protected $actionTableSize = 1165;
protected $gotoTableSize = 565;
protected $invalidSymbol = 165;
protected $errorSymbol = 1;
@ -242,12 +242,12 @@ class Php7 extends \PhpParser\ParserAbstract
protected $action = array(
130, 131, 132, 555, 133, 134,-32766, 704, 705, 706,
135, 36, -543, -552, 455,-32766, -543,-32766,-32766,-32766,
-552, 1152, 778, 927, -549, 969, 970, 0,-32766,-32766,
-32766, -549,-32766, 1219,-32766, 245,-32766, 962,-32766,-32766,
135, 36, -543, -552, 0,-32766, -543,-32766,-32766,-32766,
-552, 1152, 778, 927, -549, 969, 970, 962,-32766,-32766,
-32766, -549,-32766, 889,-32766, 245,-32766, 2,-32766,-32766,
-32766,-32766,-32766, 461,-32766,-32766,-32766,-32766,-32766,-32766,
-32766,-32766, 124, -331, 707, -331,-32766, 388, 1031, 1032,
1033, 1030, 1029, 1028,-32766, 435, 430, 2, 261, 136,
-32766,-32766, 124, 235, 707, 19,-32766, 388, 1031, 1032,
1033, 1030, 1029, 1028,-32766, 435, 430, 31, 261, 136,
371, 711, 712, 713, 714, 391, 789, 397, 1031, 1032,
1033, 1030, 1029, 1028, 715, 716, 717, 718, 719, 720,
721, 722, 723, 724, 725, 745, 556, 746, 747, 748,
@ -255,118 +255,118 @@ class Php7 extends \PhpParser\ParserAbstract
730, 731, 732, 332, 771, 772, 773, 774, 775, 733,
734, 557, 558, 766, 757, 755, 756, 752, 753, -294,
-189, 559, 560, 751, 561, 562, 563, 564, 565, 566,
1235, 456, 783, -503, 889, 754, 567, 568, 928, 137,
-32766,-32766,-32766, 130, 131, 132, 555, 133, 134, 983,
-32766,-32766,-32766, -503, -188, 754, 567, 568, 928, 137,
101, 102, 103, 130, 131, 132, 555, 133, 134, 983,
704, 705, 706, 135, 36,-32766,-32766,-32766,-32766, -552,
-32766,-32766,-32766, -552, 1152, 547, 101, 102, 103, 583,
-32766,-32766,-32766, -552, 1152, 547, 959, 958, 957, 583,
-549,-32766,-32766,-32766, -549,-32766,-32766,-32766, 245,-32766,
80,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
959, 958, 957,-32766,-32766, -503, -503, 707, 1264,-32766,
388, 1265,-32766,-32766,-32766, 235, 784,-32766, 778, 19,
-503, 261, 136, 371, 711, 712, 713, 714,-32766,-32766,
681,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
-254,-32766,-32766,-32766,-32766, -503, -503, 707, 1264,-32766,
388, 1265,-32766,-32766,-32766, 126, -331,-32766, -331, 142,
-503, 261, 136, 371, 711, 712, 713, 714, 624, 24,
397, 788, -503,-32766, -509,-32766,-32766, 715, 716, 717,
718, 719, 720, 721, 722, 723, 724, 725, 745, 556,
746, 747, 748, 749, 737, 738, 372, 373, 740, 741,
726, 727, 728, 730, 731, 732, 332, 771, 772, 773,
774, 775, 733, 734, 557, 558, 766, 757, 755, 756,
752, 753, -294, -189, 559, 560, 751, 561, 562, 563,
564, 565, 566, 309, 81, 82, 83, 139, 754, 567,
568, 681, 137, 729, 699, 700, 701, 702, 703, 1239,
564, 565, 566, 310, 81, 82, 83, -188, 754, 567,
568,-32766, 137, 729, 699, 700, 701, 702, 703, 1239,
704, 705, 706, 742, 743, 33, 1238, 84, 85, 86,
87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
31, 263,-32766,-32766,-32766, 104, 105, 106, 577, 263,
1216, 126, -188, 107, 142, 440, 441, 707,-32766,-32766,
-32766, 107, -254,-32766, 247,-32766,-32766,-32766,-32766,-32766,
-32766, 708, 709, 710, 711, 712, 713, 714, 293,-32766,
776,-32766,-32766,-32766,-32766,-32766, 295, 715, 716, 717,
247, 263,-32766,-32766,-32766, 104, 105, 106, 577, 263,
481, 455, 18, 107, 293, 440, 441, 707,-32766,-32766,
-32766, 107, 814,-32766, 815,-32766,-32766,-32766,-32766,-32766,
-32766, 708, 709, 710, 711, 712, 713, 714, 295,-32766,
776,-32766,-32766,-32766,-32766,-32766, 783, 715, 716, 717,
718, 719, 720, 721, 722, 723, 724, 725, 745, 768,
746, 747, 748, 749, 737, 738, 739, 767, 740, 741,
726, 727, 728, 730, 731, 732, 770, 771, 772, 773,
774, 775, 733, 734, 735, 736, 766, 757, 755, 756,
752, 753, 529, 311, 744, 750, 751, 758, 759, 761,
760, 762, 763, 234,-32766,-32766,-32766, 307, 754, 765,
764, 48, 49, 50, 486, 51, 52, 481, 397, 18,
321, 53, 54, 345, 55,-32766, 982,-32766,-32766,-32766,
-32766,-32766,-32766,-32767,-32767,-32767,-32767,-32767, 349,-32767,
-32767,-32767,-32767, 99, 100, 101, 102, 103, 814, 354,
815, 1191, 356, 1152, 871, 271, 408, 871, 56, 57,
409, 814, 410, 815, 58, -188, 59, 240, 241, 60,
61, 62, 63, 64, 65, 66, 67,-32766, 26, 262,
68, 412, 487, 411, 672, 967, 1185, 1186, 488, 1150,
1216, 1154, 1153, 1155, 1183, 40, 23, 489, 1009, 490,
-82, 491, 147, 492, 969, 970, 493, 494, 786, 429,
752, 753, 529, 307, 744, 750, 751, 758, 759, 761,
760, 762, 763, 234,-32766,-32766,-32766, 321, 754, 765,
764, 48, 49, 50, 486, 51, 52, 147, 397, 345,
784, 53, 54, 349, 55,-32766, 982,-32766,-32766,-32766,
-32766,-32766,-32766,-32767,-32767,-32767,-32767,-32767, 456,-32767,
-32767,-32767,-32767, 99, 100, 101, 102, 103, 146, 376,
1219, 1191, 354, 1152, 871, 271, 356, 871, 56, 57,
1008, 814, 692, 815, 58, 148, 59, 240, 241, 60,
61, 62, 63, 64, 65, 66, 67, 150, 26, 262,
68, 412, 487, 408, 672, 967, 1185, 1186, 488, 1150,
787, 1154, 1153, 1155, 1183, 40, 23, 489, 1009, 490,
-82, 491, 409, 492, 969, 970, 493, 494, 786, 429,
430, 42, 43, 413, 418, 415, 871, 44, 495, 391,
496, 497, 248, 344, 320, 1159, 1154, 1153, 1155, 793,
896, 498, 499, 500, 148, 1008, 861, 692, 787, 861,
967, 1254, 501, 502, 150, 1173, 1174, 1175, 1176, 1170,
1171, 281, 624, 24, 26, -14, 151, 1177, 1172, 969,
970, 1154, 1153, 1155, 282, -82, 1216, -502, 152, 69,
1183, 305, 306, 311, 34, 108, 109, 110, 111, 112,
496, 497, 248, 344, 320, 1159, 1154, 1153, 1155, 410,
896, 498, 499, 500, 639, 640, 861, 411, 787, 861,
967, 1254, 501, 502, 793, 1173, 1174, 1175, 1176, 1170,
1171, 281, 424, 425, 26, -14, 151, 1177, 1172, 969,
970, 1154, 1153, 1155, 282, -82, 787, -502, 152, 69,
1183, 305, 306, 309, 34, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, 120, 154, -149,
-149, -149, 639, 640, 146, 376, 1159, 1159, 861, 615,
616, 32, 243, 35, -149, 1216, -149, 121, -149, 873,
-149, 667, 873, 122, 667, 242, 1067, 1069, 501, 502,
414, 1173, 1174, 1175, 1176, 1170, 1171, -501, 127, -502,
-502, 496, 497, 1177, 1172, -504, 128, 871, 424, 425,
847, 896, -107, -107, -502, 71, 442, 443, 306, 311,
-107,-32766, 432, 433, -49, 141, -502, 1152, -508, 155,
156, 780, 157, -84,-32766,-32766,-32766, 673,-32766, -76,
-32766, 873,-32766, 667, -149,-32766, 1216, 1216, 1179, 282,
-32766,-32766,-32766, -73, 73, -71,-32766,-32766, 311, -501,
-501, 129,-32766, 388, -70, -69,-32766, -504, -504, -68,
-32766, -67, 1152, -66, -501, -65, 871, -64, 275,-32766,
-32766,-32766, -504,-32766, -45,-32766, -501,-32766, -16, 861,
-32766, 145, -107, 264, -504,-32766,-32766,-32766, 682, 72,
244,-32766,-32766,-32766, 685, 782, 674,-32766, 388, 1152,
669, 871, -501, 870, 144,-32766,-32766,-32766,-32766, 272,
-32766, 282,-32766, 273,-32766, 73, 73,-32766, 1216, 311,
311, 276,-32766,-32766,-32766, 885,-32766, 246,-32766,-32766,
-149, -149, 442, 443, 615, 616, 1159, 1159, 861, 432,
433, 32, 243, 35, -149, 787, -149, 80, -149, 873,
-149, 667, 873, 309, 667, 242, 1067, 1069, 501, 502,
414, 1173, 1174, 1175, 1176, 1170, 1171, -501, 121, -502,
-502, 496, 497, 1177, 1172, -504, 1235, 871, 122, -84,
847, 896, -107, -107, -502, 71, 127, 128, 306, 309,
-107,-32766, -76, 141, -49, 155, -502, 1152, -508, 156,
157, 780, 272, -73,-32766,-32766,-32766, 673,-32766, -71,
-32766, 873,-32766, 667, -149,-32766, 787, 787, 1179, 282,
-32766,-32766,-32766, -70, 73, -69,-32766,-32766, 309, -501,
-501, 129,-32766, 388, -68, -67,-32766, -504, -504, -66,
-32766, -65, 1152, -64, -501, -45, 871, -16, 885,-32766,
-32766,-32766, -504,-32766, 778,-32766, -501,-32766, 145, 861,
-32766, 264, -107, 682, -504,-32766,-32766,-32766, 685, 72,
244,-32766,-32766,-32766, 870, 782, 674,-32766, 388, 1152,
669, 871, -501, 275, 273,-32766,-32766,-32766,-32766, 144,
-32766, 282,-32766, 107,-32766, 73, 73,-32766, 787, 309,
309, 276,-32766,-32766,-32766, 143,-32766, 246,-32766,-32766,
277, 677, 1152, 314,-32766, 388, -4, 871, 263,-32766,
-32766,-32766,-32766,-32766, 107,-32766, 143,-32766, 861, 778,
-32766, 871, 873,-32766, 667,-32766,-32766,-32766, 625, 647,
871,-32766,-32766,-32766, -501, -501, 787,-32766, 388, 1152,
1037,-32766, 969, 970, 1266,-32766,-32766,-32766,-32766, -501,
-32766, 531,-32766, 861,-32766, 660, 871,-32766, 630, 535,
683, -501,-32766,-32766,-32766, 138,-32766, 642,-32766,-32766,
1023, 311, 1152, 20,-32766, 388, 437, 466, 631,-32766,
-32766,-32766,-32766,-32766, 643,-32766, 286,-32766, -506, 861,
-32766, 913, 407, 667, 613,-32766,-32766,-32766,-32766, 284,
-467,-32766,-32766, 861, 46, 283, 282,-32766, 388, 686,
897, 414, 861, 402, 898,-32766, 294, 38, 280, -232,
-232, -232, 496, 497, 1007, 414, 873, 26, 667, 1190,
786, 806, 896, -107, -107, 1192, 496, 497, 861, 1216,
47, -457, 8, 1183, 22, 847, 896, -107, -107, 347,
-506, -506, 541, 9, -231, -231, -231, 581, 1180, 887,
414, 39, 873, 848, 667, -4, 289, 290, 689, 690,
852, 496, 497, 937, 914, 1261, 873, -506, 667, -232,
847, 896, -107, -107, 921, 873, 911, 667, 922, 850,
909, -537, 502, 123, 1173, 1174, 1175, 1176, 1170, 1171,
1012, 1015, 291, 292, 1016, 1013, 1177, 1172, 1014, 1020,
1263, 873, 30, 667, -231, 304, 798, 348, 71, 1205,
1223, 306, 311, 1257, 618, -535, 346, 668, -107, 125,
-107, 671, 675, 676, 678, 285, 679, 680, -107, -107,
-107, -107, -107, -107, -107, 684, 670, -257, 809, 808,
817, 895, 929, 816, 1262, 894, 892, 893, 1138, 880,
888, 878, 919, 920, 1260, 1217, 1206, 1224, 1230, 1233,
0, -509, -508, -507, 1, 27, 28, 37, 41, 45,
70, 74, -308, -255, 75, 76, 77, 78, 79, 140,
149, 153, 239, 310, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 403, 404, 0, -254, 12,
13, 14, 15, 17, 375, 457, 458, 465, 468, 469,
470, 471, 475, 476, 477, 484, 654, 1163, 1106, 1181,
984, 1142, -259, -99, 11, 16, 25, 279, 374, 574,
578, 605, 659, 1110, 1158, 1107, 1236, 0, -471, 1123,
0, 1184
-32766,-32766,-32766,-32766, 647,-32766, 778,-32766, 861, 535,
-32766, 871, 873, 139, 667,-32766,-32766,-32766, 787, 309,
871,-32766,-32766,-32766, -501, -501, 1037,-32766, 388, 1152,
1266,-32766, 625, 531, 642,-32766,-32766,-32766,-32766, -501,
-32766,-32766,-32766, 861,-32766, 660, 871,-32766,-32766, 20,
683, -501,-32766,-32766,-32766, 138,-32766, 630,-32766,-32766,
437, 309, 1152, 466,-32766, 388, 407, 969, 970,-32766,
-32766,-32766,-32766,-32766, 631,-32766, 643,-32766, -506, 861,
-32766, 913, 613, 667, 290,-32766,-32766,-32766, 287, 1023,
294,-32766,-32766, 861, 46, 897, 288,-32766, 388, 898,
1190, 414, 861, 402, 786,-32766, 1192, 887, 280, -232,
-232, -232, 496, 497, 1007, 414, 873, 26, 667, 0,
-467, 806, 896, -107, -107, -457, 496, 497, 861, 787,
47, 7, 22, 1183, 347, 847, 896, -107, -107, 541,
-506, -506, 581, 9, -231, -231, -231, 38, 282, 686,
414, 39, 873, 689, 667, -4, 283, 284, 690, 852,
937, 496, 497, 914, 921, 848, 873, -506, 667, -232,
847, 896, -107, -107, 911, 873, 922, 667, 850, 909,
1012, -537, 502, 123, 1173, 1174, 1175, 1176, 1170, 1171,
1015, 1016, 285, 286, 1013, 1014, 1177, 1172, 1020, 30,
1180, 873, 304, 667, -231, 346, 798, 348, 71, 1205,
1223, 306, 309, 1257, 618, -535, 668, 671, -107, 125,
-107, 675, 676, 678, 679, 289, 680, 684, -107, -107,
-107, -107, -107, -107, -107, 670, -509, 1261, 1263, 809,
808, 817, 895, 929, 816, 1262, 894, 892, 893, 1138,
880, 888, 878, 919, 920, 1260, 1217, 1206, 1224, 1230,
1233, 0, -508, -507, 1, 27, 28, 37, 41, 45,
70, 74, -308, -257, 75, 76, 77, 78, 79, 140,
149, 153, 239, 311, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 403, 404, 0, -255, -254,
12, 13, 14, 15, 17, 375, 457, 458, 465, 468,
469, 470, 471, 475, 476, 477, 484, 654, 1163, 1106,
1181, 984, 1142, -259, -99, 11, 16, 25, 279, 374,
574, 578, 605, 659, 1110, 1158, 1107, 1236, 0, -471,
1123, 0, 1184, 0, 309
);
protected $actionCheck = array(
2, 3, 4, 5, 6, 7, 115, 9, 10, 11,
12, 13, 157, 1, 31, 73, 161, 9, 10, 11,
8, 79, 79, 31, 1, 134, 135, 0, 86, 87,
88, 8, 90, 1, 92, 37, 94, 1, 30, 97,
12, 13, 157, 1, 0, 73, 161, 9, 10, 11,
8, 79, 79, 31, 1, 134, 135, 1, 86, 87,
88, 8, 90, 1, 92, 37, 94, 8, 30, 97,
32, 33, 34, 101, 102, 103, 104, 9, 10, 11,
108, 109, 14, 105, 56, 107, 114, 115, 115, 116,
108, 109, 14, 14, 56, 8, 114, 115, 115, 116,
117, 118, 119, 120, 122, 105, 106, 8, 70, 71,
72, 73, 74, 75, 76, 115, 1, 79, 115, 116,
117, 118, 119, 120, 86, 87, 88, 89, 90, 91,
@ -375,114 +375,114 @@ class Php7 extends \PhpParser\ParserAbstract
112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, 124, 125, 126, 127, 128, 129, 130, 8,
8, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1, 158, 79, 69, 1, 147, 148, 149, 156, 151,
9, 10, 11, 2, 3, 4, 5, 6, 7, 161,
9, 10, 11, 69, 8, 147, 148, 149, 156, 151,
49, 50, 51, 2, 3, 4, 5, 6, 7, 161,
9, 10, 11, 12, 13, 9, 10, 11, 73, 157,
9, 10, 11, 161, 79, 80, 49, 50, 51, 50,
9, 10, 11, 161, 79, 80, 118, 119, 120, 50,
157, 86, 87, 88, 161, 90, 30, 92, 37, 94,
158, 30, 97, 32, 33, 34, 35, 102, 103, 104,
118, 119, 120, 108, 109, 131, 132, 56, 79, 114,
115, 82, 9, 10, 11, 14, 153, 122, 79, 8,
146, 70, 71, 72, 73, 74, 75, 76, 9, 10,
161, 9, 10, 108, 109, 131, 132, 56, 79, 114,
115, 82, 9, 10, 11, 8, 105, 122, 107, 8,
146, 70, 71, 72, 73, 74, 75, 76, 74, 75,
79, 156, 158, 30, 160, 32, 33, 86, 87, 88,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
129, 130, 161, 161, 133, 134, 135, 136, 137, 138,
139, 140, 141, 69, 9, 10, 11, 158, 147, 148,
149, 158, 151, 2, 3, 4, 5, 6, 7, 1,
139, 140, 141, 69, 9, 10, 11, 161, 147, 148,
149, 9, 151, 2, 3, 4, 5, 6, 7, 1,
9, 10, 11, 12, 13, 30, 8, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
8, 56, 9, 10, 11, 52, 53, 54, 1, 56,
81, 8, 8, 68, 8, 131, 132, 56, 9, 10,
11, 68, 161, 30, 8, 32, 33, 34, 35, 36,
105, 31, 107, 68, 8, 131, 132, 56, 9, 10,
11, 68, 105, 30, 107, 32, 33, 34, 35, 36,
37, 70, 71, 72, 73, 74, 75, 76, 8, 30,
79, 32, 33, 34, 35, 36, 8, 86, 87, 88,
79, 32, 33, 34, 35, 36, 79, 86, 87, 88,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
129, 130, 84, 164, 133, 134, 135, 136, 137, 138,
129, 130, 84, 8, 133, 134, 135, 136, 137, 138,
139, 140, 141, 96, 9, 10, 11, 8, 147, 148,
149, 2, 3, 4, 5, 6, 7, 105, 79, 107,
8, 12, 13, 8, 15, 30, 1, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 8, 43,
44, 45, 46, 47, 48, 49, 50, 51, 105, 8,
107, 143, 8, 79, 1, 30, 8, 1, 49, 50,
8, 105, 8, 107, 55, 161, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 9, 69, 70,
149, 2, 3, 4, 5, 6, 7, 14, 79, 8,
153, 12, 13, 8, 15, 30, 1, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 158, 43,
44, 45, 46, 47, 48, 49, 50, 51, 100, 101,
1, 143, 8, 79, 1, 30, 8, 1, 49, 50,
156, 105, 158, 107, 55, 14, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 14, 69, 70,
71, 72, 73, 8, 31, 115, 77, 78, 79, 115,
81, 152, 153, 154, 85, 86, 87, 88, 159, 90,
31, 92, 14, 94, 134, 135, 97, 98, 152, 105,
31, 92, 8, 94, 134, 135, 97, 98, 152, 105,
106, 102, 103, 104, 105, 106, 1, 108, 109, 115,
116, 117, 37, 114, 115, 1, 152, 153, 154, 8,
126, 122, 123, 124, 14, 156, 83, 158, 81, 83,
115, 84, 133, 134, 14, 136, 137, 138, 139, 140,
141, 142, 74, 75, 69, 31, 14, 148, 149, 134,
126, 122, 123, 124, 74, 75, 83, 8, 81, 83,
115, 84, 133, 134, 8, 136, 137, 138, 139, 140,
141, 142, 105, 106, 69, 31, 14, 148, 149, 134,
135, 152, 153, 154, 155, 96, 81, 69, 14, 160,
85, 162, 163, 164, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 14, 74,
75, 76, 74, 75, 100, 101, 1, 1, 83, 110,
111, 144, 145, 14, 89, 81, 91, 16, 93, 156,
95, 158, 156, 16, 158, 37, 58, 59, 133, 134,
75, 76, 105, 106, 110, 111, 1, 1, 83, 127,
128, 144, 145, 14, 89, 81, 91, 158, 93, 156,
95, 158, 156, 164, 158, 37, 58, 59, 133, 134,
105, 136, 137, 138, 139, 140, 141, 69, 16, 131,
132, 116, 117, 148, 149, 69, 16, 1, 105, 106,
125, 126, 127, 128, 146, 160, 105, 106, 163, 164,
126, 73, 127, 128, 31, 16, 158, 79, 160, 16,
16, 79, 16, 31, 86, 87, 88, 31, 90, 31,
132, 116, 117, 148, 149, 69, 1, 1, 16, 31,
125, 126, 127, 128, 146, 160, 16, 16, 163, 164,
126, 73, 31, 16, 31, 16, 158, 79, 160, 16,
16, 79, 35, 31, 86, 87, 88, 31, 90, 31,
92, 156, 94, 158, 159, 97, 81, 81, 1, 155,
102, 103, 104, 31, 160, 31, 108, 109, 164, 131,
132, 31, 114, 115, 31, 31, 73, 131, 132, 31,
122, 31, 79, 31, 146, 31, 1, 31, 30, 86,
87, 88, 146, 90, 31, 92, 158, 94, 31, 83,
122, 31, 79, 31, 146, 31, 1, 31, 37, 86,
87, 88, 146, 90, 79, 92, 158, 94, 31, 83,
97, 31, 126, 31, 158, 102, 103, 104, 31, 151,
37, 108, 109, 73, 31, 153, 31, 114, 115, 79,
158, 1, 69, 31, 31, 122, 86, 87, 88, 35,
90, 155, 92, 35, 94, 160, 160, 97, 81, 164,
164, 35, 102, 103, 104, 37, 73, 37, 108, 109,
158, 1, 69, 30, 35, 122, 86, 87, 88, 31,
90, 155, 92, 68, 94, 160, 160, 97, 81, 164,
164, 35, 102, 103, 104, 69, 73, 37, 108, 109,
35, 31, 79, 35, 114, 115, 0, 1, 56, 86,
87, 88, 122, 90, 68, 92, 69, 94, 83, 79,
97, 1, 156, 115, 158, 102, 103, 104, 89, 76,
87, 88, 122, 90, 76, 92, 79, 94, 83, 88,
97, 1, 156, 158, 158, 102, 103, 104, 81, 164,
1, 108, 109, 73, 131, 132, 81, 114, 115, 79,
81, 84, 134, 135, 82, 122, 86, 87, 88, 146,
90, 84, 92, 83, 94, 91, 1, 97, 95, 88,
31, 158, 102, 103, 104, 158, 73, 93, 108, 109,
121, 164, 79, 96, 114, 115, 96, 96, 99, 86,
87, 88, 122, 90, 99, 92, 113, 94, 69, 83,
97, 156, 126, 158, 112, 102, 103, 104, 115, 130,
146, 108, 109, 83, 69, 129, 155, 114, 115, 159,
126, 105, 83, 107, 126, 122, 129, 156, 112, 99,
100, 101, 116, 117, 1, 105, 156, 69, 158, 143,
152, 125, 126, 127, 128, 143, 116, 117, 83, 81,
69, 146, 146, 85, 146, 125, 126, 127, 128, 146,
131, 132, 150, 147, 99, 100, 101, 150, 157, 151,
105, 156, 156, 159, 158, 159, 131, 132, 156, 156,
82, 84, 89, 84, 93, 122, 86, 87, 88, 146,
90, 115, 92, 83, 94, 91, 1, 97, 115, 96,
31, 158, 102, 103, 104, 158, 73, 95, 108, 109,
96, 164, 79, 96, 114, 115, 126, 134, 135, 86,
87, 88, 122, 90, 99, 92, 99, 94, 69, 83,
97, 156, 112, 158, 113, 102, 103, 104, 129, 121,
129, 108, 109, 83, 69, 126, 130, 114, 115, 126,
143, 105, 83, 107, 152, 122, 143, 151, 112, 99,
100, 101, 116, 117, 1, 105, 156, 69, 158, -1,
146, 125, 126, 127, 128, 146, 116, 117, 83, 81,
69, 146, 146, 85, 146, 125, 126, 127, 128, 150,
131, 132, 150, 147, 99, 100, 101, 156, 155, 159,
105, 156, 156, 156, 158, 159, 131, 132, 156, 156,
156, 116, 117, 156, 156, 159, 156, 158, 158, 159,
125, 126, 127, 128, 156, 156, 156, 158, 156, 156,
156, 160, 134, 158, 136, 137, 138, 139, 140, 141,
156, 156, 131, 132, 156, 156, 148, 149, 156, 156,
159, 156, 158, 158, 159, 158, 157, 146, 160, 157,
156, 156, 131, 132, 156, 156, 148, 149, 156, 158,
157, 156, 158, 158, 159, 158, 157, 146, 160, 157,
157, 163, 164, 157, 157, 160, 158, 158, 105, 158,
107, 158, 158, 158, 158, 112, 158, 158, 115, 116,
117, 118, 119, 120, 121, 158, 158, 161, 159, 159,
117, 118, 119, 120, 121, 158, 160, 159, 159, 159,
159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
-1, 160, 160, 160, 160, 160, 160, 160, 160, 160,
159, -1, 160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 159, 161, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, -1, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, -1, 162, 162,
-1, 163
161, 161, 161, 161, 161, 161, 161, 161, -1, 162,
162, -1, 163, -1, 164
);
protected $actionBase = array(
0, -2, 151, 555, 816, 830, 865, 379, 717, 622,
862, 676, 780, 780, 839, 780, 493, 745, 301, 301,
0, -2, 151, 555, 816, 830, 865, 717, 379, 622,
859, 676, 780, 780, 839, 780, 493, 745, 301, 301,
-57, 301, 301, 496, 496, 496, 618, 618, 618, 618,
-58, -58, 95, 700, 733, 770, 663, 803, 803, 803,
803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
@ -497,57 +497,57 @@ class Php7 extends \PhpParser\ParserAbstract
803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
803, 803, 803, 803, 803, 803, 803, 803, 75, -8,
347, 629, 986, 992, 988, 993, 984, 983, 987, 989,
994, 915, 916, 753, 917, 918, 919, 920, 990, 877,
985, 991, 285, 285, 285, 285, 285, 285, 285, 285,
347, 629, 987, 993, 989, 994, 985, 984, 988, 990,
995, 916, 917, 758, 918, 919, 920, 921, 991, 877,
986, 992, 285, 285, 285, 285, 285, 285, 285, 285,
285, 285, 285, 285, 285, 285, 285, 285, 285, 285,
285, 285, 285, 508, 38, 219, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
285, 285, 285, 292, 38, 192, 131, 131, 131, 131,
131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
156, 156, 156, 203, 525, 525, 8, 598, 161, 868,
868, 868, 868, 868, 868, 868, 868, 868, 868, 349,
333, 435, 435, 435, 435, 435, 436, 436, 436, 436,
933, 564, 636, 635, 465, -52, 127, 127, 718, 718,
759, 410, 410, 410, 444, -109, -109, -109, 74, 538,
396, 348, 414, 414, 414, 414, 414, 802, 998, 139,
139, 139, 139, 414, 414, 414, 606, 713, 713, 881,
293, 293, 293, 713, 383, 777, 497, 383, 497, 129,
793, 32, -40, -145, 793, 829, 845, 23, 12, 788,
573, 788, 767, 863, 898, 995, 82, 789, 913, 795,
914, 224, 678, 981, 981, 981, 981, 981, 981, 981,
981, 981, 981, 981, 269, 982, 63, 269, 269, 269,
529, 63, 518, 558, 63, 778, 982, 75, 805, 75,
933, 564, 636, 635, 465, 111, 101, 101, 753, 753,
788, 410, 410, 410, 444, -109, -109, -109, 74, 538,
396, 348, 414, 675, 675, 675, 675, 414, 414, 414,
414, 783, 999, 414, 414, 414, 606, 713, 713, 881,
293, 293, 293, 713, 257, 769, 497, 257, 497, 489,
129, 746, -40, -145, 746, 829, 845, 23, 12, 772,
487, 772, 767, 862, 897, 996, 58, 795, 914, 797,
915, 224, 661, 982, 982, 982, 982, 982, 982, 982,
982, 982, 982, 982, 1000, 983, 307, 1000, 1000, 1000,
524, 307, 154, 500, 307, 778, 983, 75, 799, 75,
75, 75, 75, 944, 75, 75, 75, 75, 75, 75,
949, 727, 723, 692, -17, 75, -8, 143, 143, 419,
36, 143, 143, 143, 143, 75, 75, 565, 573, 762,
812, 581, 817, 344, 762, 762, 762, 509, 121, 201,
122, 352, 750, 750, 768, 769, 924, 924, 750, 765,
750, 769, 929, 750, 768, 768, 750, 924, 768, 761,
343, 488, 452, 470, 768, 768, 492, 924, 370, 768,
768, 750, 750, 750, 797, 768, 494, 750, 356, 346,
750, 750, 768, 768, 797, 786, 59, 779, 924, 924,
924, 797, 455, 779, 779, 822, 823, 792, 732, 439,
378, 561, 332, 768, 732, 732, 750, 481, 792, 732,
792, 732, 818, 732, 732, 732, 792, 732, 765, 484,
732, 768, 515, 211, 732, 27, 930, 931, 672, 934,
927, 935, 955, 936, 937, 879, 794, 798, 942, 928,
938, 926, 925, 752, 631, 637, 806, 764, 923, 756,
756, 756, 921, 756, 756, 756, 756, 756, 756, 756,
756, 631, 811, 813, 776, 781, 945, 652, 660, 796,
814, 996, 997, 944, 976, 939, 771, 679, 962, 946,
760, 867, 947, 948, 963, 977, 978, 826, 757, 861,
899, 869, 950, 883, 756, 930, 937, 928, 938, 926,
925, 716, 714, 710, 712, 708, 704, 694, 703, 730,
875, 841, 872, 949, 922, 631, 873, 958, 864, 964,
965, 878, 790, 772, 876, 900, 951, 952, 953, 884,
979, 885, 815, 959, 896, 966, 791, 901, 967, 968,
969, 970, 886, 902, 888, 824, 749, 932, 773, 903,
528, 766, 775, 956, 560, 943, 889, 904, 905, 971,
972, 973, 906, 907, 940, 827, 960, 784, 961, 957,
828, 838, 570, 754, 758, 582, 594, 908, 909, 941,
737, 763, 840, 842, 980, 910, 614, 843, 683, 911,
975, 684, 686, 774, 897, 808, 783, 787, 954, 743,
844, 912, 854, 855, 858, 974, 859, 0, 0, 0,
949, 716, 714, 672, 320, 75, -8, 32, 32, 344,
26, 32, 32, 32, 32, 75, 75, 512, 487, 762,
809, 527, 812, 136, 762, 762, 762, 509, 121, 39,
122, 245, 747, 747, 711, 765, 924, 924, 747, 757,
747, 765, 929, 747, 711, 711, 747, 924, 711, 813,
207, 515, 439, 455, 711, 711, 534, 924, 346, 711,
711, 747, 747, 747, 781, 711, 561, 747, 332, 211,
747, 747, 711, 711, 781, 779, 29, 786, 924, 924,
924, 781, 451, 786, 786, 817, 822, 790, 730, 425,
370, 576, 59, 711, 730, 730, 747, 484, 790, 730,
790, 730, 776, 730, 730, 730, 790, 730, 757, 488,
730, 711, 569, 47, 730, 14, 930, 931, 648, 934,
927, 935, 955, 936, 937, 878, 789, 793, 942, 928,
938, 926, 925, 743, 652, 662, 805, 794, 923, 725,
725, 725, 896, 725, 725, 725, 725, 725, 725, 725,
725, 652, 863, 808, 760, 741, 945, 670, 671, 777,
826, 997, 998, 944, 977, 939, 811, 677, 963, 946,
810, 864, 947, 948, 964, 978, 979, 898, 736, 899,
900, 869, 950, 879, 725, 930, 937, 928, 938, 926,
925, 712, 710, 704, 708, 703, 694, 678, 692, 727,
875, 841, 872, 949, 922, 652, 873, 959, 861, 965,
966, 867, 784, 768, 876, 901, 951, 952, 953, 883,
980, 884, 815, 960, 932, 967, 787, 902, 968, 969,
970, 971, 885, 903, 886, 823, 763, 957, 782, 904,
443, 766, 775, 956, 491, 943, 888, 905, 906, 972,
973, 974, 907, 908, 940, 824, 961, 761, 962, 958,
827, 828, 503, 667, 749, 582, 594, 909, 910, 941,
732, 748, 838, 840, 981, 911, 614, 842, 679, 912,
976, 683, 684, 774, 889, 806, 791, 773, 954, 737,
843, 913, 844, 854, 855, 975, 858, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 449, 449, 449, 449, 449,
@ -576,21 +576,21 @@ class Php7 extends \PhpParser\ParserAbstract
285, 285, 285, 285, 285, 285, 285, 285, 414, 414,
285, 0, 285, 414, 414, 414, 414, 414, 414, 414,
414, 414, 414, 285, 285, 285, 285, 285, 285, 285,
293, 293, 293, 293, 761, 414, 414, 414, 414, -37,
293, 293, 414, 414, -37, 414, 414, 414, 761, 414,
414, 414, 0, 0, 63, 497, 0, 0, 0, 0,
0, 497, 497, 269, 269, 269, 269, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 63, 497,
0, 63, 0, 765, 414, 269, 761, 308, 414, 0,
0, 0, 0, 63, 765, 63, 497, 143, 75, 308,
0, 534, 534, 534, 534, 0, 573, 761, 761, 761,
761, 761, 761, 761, 761, 761, 761, 761, 0, 761,
0, 0, 0, 0, 0, 0, 0, 0, 0, 765,
768, 0, 924, 0, 0, 0, 0, 750, 0, 0,
0, 0, 0, 0, 750, 929, 768, 768, 0, 0,
0, 0, 0, 0, 765, 0, 0, 0, 0, 0,
0, 0, 0, 756, 790, 0, 790, 0, 756, 756,
756
293, 293, 293, 293, 813, 414, 414, 414, 414, -37,
293, 293, 414, 414, -37, 414, 414, 414, 813, 414,
414, 414, 0, 0, 307, 497, 0, 757, 757, 757,
757, 0, 0, 0, 0, 497, 497, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 307, 497,
0, 307, 0, 757, 757, 414, 813, 308, 414, 0,
0, 0, 0, 307, 757, 307, 497, 32, 75, 308,
0, 388, 388, 388, 388, 0, 487, 813, 813, 813,
813, 813, 813, 813, 813, 813, 813, 813, 757, 813,
0, 757, 757, 757, 0, 0, 0, 0, 0, 757,
711, 0, 924, 0, 0, 0, 0, 747, 0, 0,
0, 0, 0, 0, 747, 929, 711, 711, 0, 0,
0, 0, 0, 0, 757, 0, 0, 0, 0, 0,
0, 0, 0, 725, 784, 0, 784, 0, 725, 725,
725
);
protected $actionDefault = array(
@ -667,9 +667,9 @@ class Php7 extends \PhpParser\ParserAbstract
);
protected $goto = array(
190, 190, 655, 781, 663, 399, 629, 964, 971, 972,
190, 190, 655, 1251, 1251, 399, 629, 308, 292, 663,
393, 297, 298, 317, 549, 303, 398, 318, 400, 607,
361, 365, 534, 572, 576, 161, 161, 161, 161, 187,
1251, 964, 971, 972, 571, 161, 161, 161, 161, 187,
187, 171, 173, 209, 191, 204, 187, 187, 187, 187,
187, 188, 188, 188, 188, 188, 188, 182, 183, 184,
185, 186, 206, 204, 207, 509, 510, 389, 511, 513,
@ -682,59 +682,54 @@ class Php7 extends \PhpParser\ParserAbstract
223, 224, 174, 225, 175, 192, 193, 194, 231, 182,
183, 184, 185, 186, 206, 1053, 195, 176, 177, 178,
196, 192, 179, 232, 197, 159, 198, 226, 180, 199,
227, 228, 181, 229, 200, 201, 202, 807, 611, 611,
804, 274, 274, 274, 274, 976, 973, 974, 592, 626,
1147, 594, 594, 571, 533, 526, 1182, 1182, 1182, 1182,
1182, 1182, 1182, 1182, 1182, 1182, 1250, 1250, 986, 328,
812, 1027, 860, 855, 856, 869, 1026, 813, 857, 810,
858, 859, 811, 803, 1251, 1251, 805, 1250, 863, 912,
936, 910, 910, 908, 910, 687, 363, 526, 1003, 1004,
533, 1253, 525, 945, 940, 1251, 542, 543, 820, 1148,
838, 370, 552, 832, 308, 288, 819, 573, 864, 795,
865, 1200, 1200, 785, 587, 588, 1200, 1200, 1200, 1200,
1200, 1200, 1200, 1200, 1200, 1200, 1151, 1151, 1151, 968,
1149, 1208, 1209, 968, 968, 472, 968, 968, 968, 779,
968, 968, 968, 1232, 1232, 1232, 1232, 1151, 1151, 1151,
1151, 1151, 785, 21, 785, 546, 1198, 1198, 1151, 1151,
1151, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
1198, 523, 523, 523, 325, 876, 512, 512, 392, 877,
582, 512, 512, 512, 512, 512, 512, 512, 512, 512,
512, 1240, 427, 906, 906, 906, 906, 387, 387, 387,
387, 602, 604, 427, 900, 907, 540, 904, 379, 662,
688, 606, 608, 933, 5, 627, 6, 539, 645, 649,
947, 653, 661, 943, 586, 377, 378, 800, 1019, 570,
635, 666, 636, 359, 381, 382, 383, 453, 646, 652,
652, 384, 658, 1017, 454, 323, 580, 595, 598, 599,
600, 601, 619, 620, 621, 665, 527, 537, 1267, 450,
1225, 1226, 527, 545, 537, 800, 628, 362, 1101, 528,
434, 521, 521, 521, 521, 1227, 1228, 1132, 890, 405,
575, 1133, 1136, 891, 1137, 444, 553, 445, 419, 419,
419, 830, 329, 330, 1258, 1259, 1222, 1222, 1222, 622,
623, 431, 637, 638, 1211, 439, 439, 550, 585, 881,
1041, 797, 319, 833, 821, 991, 439, 590, 995, 825,
828, 369, 822, 952, 1234, 1234, 1234, 1234, 915, 648,
824, 955, 632, 931, 473, 691, 474, 992, 818, 1144,
451, 996, 480, 0, 834, 1036, 1218, 917, 0, 0,
1143, 0, 905, 0, 0, 0, 0, 0, 528, 0,
0, 419, 419, 419, 419, 419, 419, 419, 419, 419,
419, 419, 800, 419, 1034, 837, 0, 0, 0, 994,
0, 0, 1220, 1220, 994, 0, 0, 0, 0, 0,
227, 228, 181, 229, 200, 201, 202, 274, 274, 274,
274, 807, 450, 1225, 1226, 594, 594, 328, 533, 526,
1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
580, 595, 598, 599, 600, 601, 619, 620, 621, 665,
1027, 785, 986, 453, 812, 1026, 860, 855, 856, 869,
454, 813, 857, 810, 858, 859, 811, 804, 439, 439,
363, 526, 863, 805, 533, 521, 521, 521, 521, 439,
542, 543, 1003, 1004, 575, 370, 552, 904, 379, 662,
785, 573, 785, 1250, 1250, 1200, 1200, 781, 587, 588,
1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
1250, 387, 387, 387, 387, 1151, 1151, 1151, 968, 472,
592, 626, 968, 968, 1253, 968, 968, 968, 912, 968,
968, 968, 1232, 1232, 1232, 1232, 1151, 21, 1222, 1222,
1222, 1151, 1151, 1151, 1151, 1198, 1198, 1151, 1151, 1151,
1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
1234, 1234, 1234, 1234, 331, 876, 622, 623, 877, 637,
638, 512, 512, 838, 331, 331, 512, 512, 512, 512,
512, 512, 512, 512, 512, 512, 1218, 1147, 331, 331,
864, 331, 865, 1267, 361, 365, 534, 572, 576, 570,
1019, 779, 666, 528, 392, 331, 582, 523, 523, 523,
652, 652, 539, 658, 1017, 5, 546, 6, 325, 586,
1240, 994, 611, 611, 1220, 1220, 994, 933, 427, 976,
973, 974, 628, 906, 906, 906, 906, 820, 1211, 427,
900, 907, 832, 1132, 890, 819, 1148, 1133, 1136, 891,
1137, 527, 537, 1227, 1228, 800, 795, 527, 359, 537,
329, 330, 362, 648, 473, 434, 474, 602, 604, 550,
585, 545, 480, 1101, 419, 419, 419, 1149, 1208, 1209,
444, 553, 445, 950, 950, 405, 830, 431, 319, 1258,
1259, 540, 528, 800, 797, 688, 606, 608, 825, 369,
627, 955, 803, 645, 649, 947, 653, 661, 943, 936,
910, 910, 908, 910, 687, 828, 822, 881, 1041, 377,
378, 525, 945, 940, 635, 590, 636, 992, 381, 382,
383, 952, 646, 691, 1144, 384, 451, 996, 824, 323,
632, 931, 834, 917, 0, 0, 818, 419, 419, 419,
419, 419, 419, 419, 419, 419, 419, 419, 1143, 419,
1036, 1146, 833, 821, 991, 0, 0, 995, 270, 524,
524, 0, 0, 0, 0, 0, 0, 915, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
800, 905, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1146, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 270, 524, 524, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 950,
950
0, 0, 0, 1034, 837
);
protected $gotoCheck = array(
41, 41, 71, 6, 8, 64, 64, 105, 105, 105,
41, 41, 71, 165, 165, 64, 64, 151, 151, 8,
64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
57, 57, 57, 57, 57, 41, 41, 41, 41, 41,
165, 105, 105, 105, 114, 41, 41, 41, 41, 41,
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
@ -747,78 +742,73 @@ class Php7 extends \PhpParser\ParserAbstract
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
41, 41, 41, 41, 41, 41, 41, 14, 107, 107,
25, 22, 22, 22, 22, 107, 107, 107, 54, 54,
19, 99, 99, 114, 74, 74, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 164, 164, 111, 88,
14, 128, 14, 14, 14, 14, 128, 14, 14, 14,
14, 14, 14, 24, 165, 165, 26, 164, 14, 48,
24, 24, 24, 24, 24, 24, 74, 74, 14, 14,
74, 164, 24, 24, 24, 165, 74, 74, 34, 19,
44, 74, 74, 34, 151, 151, 34, 74, 63, 19,
63, 152, 152, 11, 74, 74, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 71, 71, 71, 71,
19, 19, 19, 71, 71, 74, 71, 71, 71, 5,
71, 71, 71, 8, 8, 8, 8, 71, 71, 71,
71, 71, 11, 74, 11, 154, 153, 153, 71, 71,
71, 153, 153, 153, 153, 153, 153, 153, 153, 153,
153, 18, 18, 18, 161, 71, 155, 155, 12, 71,
12, 155, 155, 155, 155, 155, 155, 155, 155, 155,
155, 163, 18, 18, 18, 18, 18, 23, 23, 23,
23, 81, 81, 18, 18, 18, 47, 84, 84, 84,
47, 47, 47, 94, 45, 47, 45, 8, 47, 47,
47, 47, 47, 47, 8, 78, 78, 21, 7, 7,
78, 7, 78, 60, 78, 78, 78, 80, 78, 7,
7, 78, 7, 7, 80, 78, 77, 77, 77, 77,
77, 77, 77, 77, 77, 77, 8, 8, 13, 158,
158, 158, 8, 95, 8, 21, 62, 8, 135, 13,
8, 98, 98, 98, 98, 160, 160, 76, 76, 103,
98, 76, 76, 76, 76, 8, 8, 8, 22, 22,
22, 8, 88, 88, 8, 8, 114, 114, 114, 82,
82, 79, 82, 82, 13, 133, 133, 2, 2, 16,
16, 17, 28, 15, 15, 15, 133, 16, 15, 38,
8, 27, 36, 16, 114, 114, 114, 114, 15, 13,
16, 101, 16, 16, 139, 90, 139, 113, 16, 144,
141, 116, 139, -1, 40, 131, 114, 87, -1, -1,
16, -1, 15, -1, -1, -1, -1, -1, 13, -1,
-1, 22, 22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 21, 22, 15, 15, -1, -1, -1, 114,
-1, -1, 114, 114, 114, -1, -1, -1, -1, -1,
41, 41, 41, 41, 41, 41, 41, 22, 22, 22,
22, 14, 158, 158, 158, 99, 99, 88, 74, 74,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
128, 11, 111, 80, 14, 128, 14, 14, 14, 14,
80, 14, 14, 14, 14, 14, 14, 25, 133, 133,
74, 74, 14, 26, 74, 98, 98, 98, 98, 133,
74, 74, 14, 14, 98, 74, 74, 84, 84, 84,
11, 74, 11, 164, 164, 152, 152, 6, 74, 74,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
164, 23, 23, 23, 23, 71, 71, 71, 71, 74,
54, 54, 71, 71, 164, 71, 71, 71, 48, 71,
71, 71, 8, 8, 8, 8, 71, 74, 114, 114,
114, 71, 71, 71, 71, 153, 153, 71, 71, 71,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
114, 114, 114, 114, 13, 71, 82, 82, 71, 82,
82, 155, 155, 44, 13, 13, 155, 155, 155, 155,
155, 155, 155, 155, 155, 155, 114, 19, 13, 13,
63, 13, 63, 13, 57, 57, 57, 57, 57, 7,
7, 5, 7, 13, 12, 13, 12, 18, 18, 18,
7, 7, 8, 7, 7, 45, 154, 45, 161, 8,
163, 114, 107, 107, 114, 114, 114, 94, 18, 107,
107, 107, 62, 18, 18, 18, 18, 34, 13, 18,
18, 18, 34, 76, 76, 34, 19, 76, 76, 76,
76, 8, 8, 160, 160, 21, 19, 8, 60, 8,
88, 88, 8, 13, 139, 8, 139, 81, 81, 2,
2, 95, 139, 135, 22, 22, 22, 19, 19, 19,
8, 8, 8, 98, 98, 103, 8, 79, 28, 8,
8, 47, 13, 21, 17, 47, 47, 47, 38, 27,
47, 101, 24, 47, 47, 47, 47, 47, 47, 24,
24, 24, 24, 24, 24, 8, 36, 16, 16, 78,
78, 24, 24, 24, 78, 16, 78, 113, 78, 78,
78, 16, 78, 90, 144, 78, 141, 116, 16, 78,
16, 16, 40, 87, -1, -1, 16, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22, 16, 22,
131, 13, 15, 15, 15, -1, -1, 15, 23, 23,
23, -1, -1, -1, -1, -1, -1, 15, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21, 15, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 13, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 23, 23, 23, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 98,
98
-1, -1, -1, 15, 15
);
protected $gotoBase = array(
0, 0, -232, 0, 0, 249, -6, 351, -16, 0,
0, -37, -11, 79, -167, 22, 1, 148, 40, -188,
0, 83, 158, 324, 199, 156, 202, 132, 162, 0,
0, 0, 0, 0, -118, 0, 131, 0, 142, 0,
66, -1, 0, 0, 211, -347, 0, -332, 192, 0,
0, 0, 0, 0, 130, 0, 0, -23, 0, 0,
323, 0, 161, 225, -229, 0, 0, 0, 0, 0,
0, -5, 0, 0, -198, 0, 30, 42, -109, 157,
-77, -122, -246, 0, 53, 0, 0, 67, -267, 0,
89, 0, 0, 0, 312, 352, 0, 0, 375, -63,
0, 116, 0, 140, 0, -264, 0, -110, 0, 0,
0, 186, 0, 118, 165, 0, 62, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, -74, 0,
0, 64, 0, 405, 0, 135, 0, 0, 0, -4,
0, 63, 0, 0, 65, 0, 0, 0, 0, 0,
0, -71, 7, 52, 258, 72, 0, 0, 99, 0,
58, 276, 0, 292, -101, -83, 0, 0
0, 0, -260, 0, 0, 321, 228, 332, -11, 0,
0, -89, 25, 23, -163, 81, 19, 141, 86, -31,
0, 121, 154, 248, 438, 203, 209, 120, 148, 0,
0, 0, 0, 0, 31, 0, 135, 0, 131, 0,
74, -1, 0, 0, 294, -336, 0, -237, 251, 0,
0, 0, 0, 0, 222, 0, 0, 291, 0, 0,
358, 0, 137, 317, -229, 0, 0, 0, 0, 0,
0, -6, 0, 0, -204, 0, 6, -154, -5, 153,
-251, -46, -369, 0, -61, 0, 0, 73, -289, 0,
97, 0, 0, 0, 336, 370, 0, 0, 189, -69,
0, 96, 0, 156, 0, -250, 0, 94, 0, 0,
0, 190, 0, 118, 17, 0, 68, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, -75, 0,
0, 89, 0, 178, 0, 150, 0, 0, 0, -64,
0, 69, 0, 0, 70, 0, 0, 0, 0, 0,
0, -298, 1, 51, 329, 77, 0, 0, -122, 0,
46, 330, 0, 331, -58, -288, 0, 0
);
protected $gotoDefault = array(
-32768, 485, 695, 4, 696, 769, 777, 569, 503, 664,
324, 596, 390, 331, 862, 1040, 551, 796, 1160, 1168,
324, 596, 390, 1216, 862, 1040, 551, 796, 1160, 1168,
428, 799, 312, 326, 844, 845, 846, 366, 351, 357,
364, 617, 597, 467, 831, 422, 823, 459, 826, 421,
835, 158, 386, 483, 839, 3, 841, 530, 872, 352,
@ -829,10 +819,10 @@ class Php7 extends \PhpParser\ParserAbstract
693, 1052, 609, 462, 932, 610, 939, 942, 504, 505,
452, 954, 268, 463, 981, 633, 634, 966, 612, 979,
446, 985, 423, 993, 1204, 426, 997, 260, 1000, 269,
385, 401, 1005, 1006, 7, 1011, 656, 657, 10, 265,
385, 401, 1005, 1006, 8, 1011, 656, 657, 10, 265,
482, 1035, 651, 420, 1051, 406, 1120, 1122, 532, 464,
1140, 1139, 644, 479, 1145, 1207, 417, 506, 448, 299,
507, 287, 315, 296, 522, 278, 316, 508, 449, 1213,
507, 291, 315, 296, 522, 278, 316, 508, 449, 1213,
1221, 313, 29, 1241, 1252, 322, 548, 584
);
@ -1891,7 +1881,7 @@ class Php7 extends \PhpParser\ParserAbstract
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
300 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
301 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
@ -2534,7 +2524,7 @@ class Php7 extends \PhpParser\ParserAbstract
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
510 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
511 => function ($stackPos) {
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
@ -2570,25 +2560,25 @@ class Php7 extends \PhpParser\ParserAbstract
$this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
522 => function ($stackPos) {
$this->semValue = substr($this->semStack[$stackPos-(1-1)], 1);
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
523 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(4-3)];
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
524 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
525 => function ($stackPos) {
$this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2;
$this->semValue = new Expr\Variable(new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2;
},
526 => function ($stackPos) {
$var = $this->semStack[$stackPos-(1-1)]; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var;
$var = $this->semStack[$stackPos-(1-1)]->name; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var;
},
527 => function ($stackPos) {
$this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
528 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
529 => function ($stackPos) {
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
@ -2615,7 +2605,7 @@ class Php7 extends \PhpParser\ParserAbstract
$this->semValue = $this->semStack[$stackPos-(3-2)];
},
537 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
538 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
@ -2624,7 +2614,7 @@ class Php7 extends \PhpParser\ParserAbstract
$this->semValue = $this->semStack[$stackPos-(3-2)];
},
540 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
541 => function ($stackPos) {
$this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2;

View File

@ -0,0 +1,17 @@
Variable variable positions
-----
<?php
$$$x;
-----
!!positions
array(
0: Stmt_Expression[2:1 - 2:5](
expr: Expr_Variable[2:1 - 2:4](
name: Expr_Variable[2:2 - 2:4](
name: Expr_Variable[2:3 - 2:4](
name: x
)
)
)
)
)