Security update for Core, with self-updated composer
[yaffs-website] / vendor / nikic / php-parser / lib / PhpParser / Parser / Php5.php
index 4837b0855f1ce3357a5dffb90c637fb02cf17bab..4fbddaa702f949206b35e33a0b7b3b86e3baa6d4 100644 (file)
@@ -18,7 +18,7 @@ use PhpParser\Node\Stmt;
 class Php5 extends \PhpParser\ParserAbstract
 {
     protected $tokenToSymbolMapSize = 392;
-    protected $actionTableSize = 1020;
+    protected $actionTableSize = 1077;
     protected $gotoTableSize = 591;
 
     protected $invalidSymbol = 157;
@@ -26,8 +26,8 @@ class Php5 extends \PhpParser\ParserAbstract
     protected $defaultAction = -32766;
     protected $unexpectedTokenRule = 32767;
 
-    protected $YY2TBLSTATE  = 405;
-    protected $YYNLSTATES   = 667;
+    protected $YY2TBLSTATE  = 407;
+    protected $YYNLSTATES   = 669;
 
     protected $symbolToName = array(
         "EOF",
@@ -233,108 +233,114 @@ class Php5 extends \PhpParser\ParserAbstract
     );
 
     protected $action = array(
-          672,  673,  674,  675,  676,-32766,  677,  678,  679,  715,
-          716,  216,  217,  218,  219,  220,  221,  222,  223,  224,
-            0,  225,  226,  227,  228,  229,  230,  231,  232,  233,
-          234,  235,  236,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
-        -32766,-32767,-32767,-32767,-32767,  441,  237,  238,-32766,-32766,
-        -32766,-32766,  680,-32766, 1036,-32766,-32766,-32766,-32766,-32766,
-        -32766,-32767,-32767,-32767,-32767,-32767,  681,  682,  683,  684,
-          685,  686,  687,  909,  329,  747,-32766,-32766,-32766,-32766,
-        -32766,  282,  688,  689,  690,  691,  692,  693,  694,  695,
-          696,  697,  698,  718,  719,  720,  721,  722,  710,  711,
-          712,  713,  714,  699,  700,  701,  702,  703,  704,  705,
-          741,  742,  743,  744,  745,  746,  706,  707,  708,  709,
-          739,  730,  728,  729,  725,  726, 1178,  717,  723,  724,
-          731,  732,  734,  733,  735,  736,   52,   53,  420,   54,
-           55,  727,  738,  737,   23,   56,   57,  284,   58,-32766,
-        -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,    7,-32767,
-        -32767,-32767,-32767,   50,  325,-32766,  585,  945,  946,  947,
-          944,  943,  942,  937, 1213,   27, 1215, 1214,  763,  764,
-          821,   59,   60,-32766,-32766,-32766,  809,   61, 1172,   62,
-          291,  292,   63,   64,   65,   66,   67,   68,   69,   70,
-          334,   24,  299,   71,  413,-32766,-32766,-32766, 1185, 1087,
-         1088,  749,  633, 1178,  213,  214,  215,  464,-32766,-32766,
-        -32766,  822,  407, 1099,  311,-32766, 1186,-32766,-32766,-32766,
-        -32766,-32766,-32766, 1036,  200, -269,  428,-32766,-32766,-32766,
-        -32766,-32766,-32766,-32766,-32766,  120,  491,  945,  946,  947,
-          944,  943,  942,  306,  473,  474,  293,  623,  125,-32766,
-          893,  894,  339,  477,  478,-32766, 1093, 1094, 1095, 1096,
-         1090, 1091,  307,  492,-32766,  440,  425,  492, 1097, 1092,
-          425,  121, -220,  869, 1182,   39,  280,  334,  321,  900,
-          322,  421, -122, -122, -122,   -4,  822,  463,   99,  100,
-          101,  811,  301,  119,   38,   19,  422, -122,  465, -122,
-          466, -122,  467, -122,  102,  423, -122, -122, -122,   28,
-           29,  468,  424,  624,   30,  469,  425,  812,   72,  297,
-          923,  349,  350,  470,  471,-32766,-32766,-32766,  419,  472,
-         1036,  447,  793,  840,  475,  476,-32767,-32767,-32767,-32767,
-           94,   95,   96,   97,   98,-32766,  126,-32766,-32766,-32766,
-        -32766, 1137,  213,  214,  215,  295,  421,  239,  824,  638,
-         -122, 1036,  463,  893,  894, 1205,  811, 1036, 1204,   38,
-           19,  422,  200,  465,  356,  466,  492,  467,  127,  425,
-          423,  213,  214,  215,   28,   29,  468,  424,  414,   30,
-          469, 1036,  870,   72,  320,  822,  349,  350,  470,  471,
-           34,  200,  214,  215,  472,  460,  762,  755,  840,  475,
-          476,  213,  214,  215,  295, -216,   76,   77,   78,   46,
-          298,  200,  412,  653,  338,  438,   31,  294,  333,    8,
-          348,  200,  241,  824,  638,   -4,   32,  332,   79,   80,
-           81,   82,   83,   84,   85,   86,   87,   88,   89,   90,
-           91,   92,   93,   94,   95,   96,   97,   98,   99,  100,
-          101, 1210,  301,  204,  822,  421,  805,  124,-32766,-32766,
-        -32766,  463,  899, 1054,  102,  811,   18,  206,   38,   19,
-          422,  518,  465, 1172,  466,  546,  467,   47,-32766,  423,
-        -32766,-32766,  647,   28,   29,  468,  822,  801,   30,  469,
-          415,  116,   72,  803,   49,  349,  350,-32766,-32766,-32766,
-        -32766,-32766,-32766,  472,  477,  808,  234,  235,  236,  213,
-          214,  215, 1036,  215,  644, 1138,  124,-32766,-32766,-32766,
-        -32766,-32766,  237,  238,  421,  231,  232,  233, 1099,  200,
-          463,  200,  824,  638,  811,  439,  918,   38,   19,  422,
-         1036,  465,  242,  466,  749,  467, 1178,  339,  423,   96,
-           97,   98,   28,   29,  468,  822,  421,   30,  469,  117,
-          919,   72,  463,  283,  349,  350,  811,  244, 1036,   38,
-           19,  422,  472,  465,  243,  466,  118,  467,  377, 1064,
-          423, 1036,  207,  642,   28,   29,  468,  822,  129,   30,
-          469,  296,  576,   72,-32766,-32766,  349,  350,  123,  205,
-          492,  824,  638,  425,  472,  115,-32766,-32766,-32766,  434,
-          492,  200,  640,  425,  820,  641,-32766,-32766,  429,-32766,
-          334,  237,  238,  454,  591,  421,-32766,  130,  357,  449,
-           20,  463,  128,  856,  638,  811,  763,  764,   38,   19,
-          422,  313,  465,  646,  466,  650,  467,  599,  600,  423,
-          833,  301,  605,   28,   29,  468,  822,  421,   30,  469,
-          756,  643,   72,  463,  299,  349,  350,  811,  922,  666,
-           38,   19,  422,  472,  465,  102,  466,   51,  467,  934,
-          656,  423,  512,  433,   48,   28,   29,  468,   41,   42,
-           30,  469,   43,   44,   72,   45,  435,  349,  350, 1057,
-          750, 1208,  824,  638,  776,  472,  749,   33,  103,  104,
-          105,  106,  107,  108,  109,  110,  111,  112,  113,  114,
-          534,  533,  517,  513,  524,  437,  421,  602,  516,  622,
-          612,  619,  463,  582,  824,  638,  811,  595,-32766,   38,
-           19,  422,  632,  465,  579,  466,  240,  467,  975,  977,
-          423,  609, 1144,  279,   28,   29,  468,   12,  -80,   30,
-          469,  537,  432,   72,  208,  209,  349,  350,  458, 1098,
-          210,  596,  211,  328,  472,  326,   11,  842,  323,  393,
-            4,  385,  408,  303,  202, 1034,    0,    0,  324,  208,
-          209,  841, 1087, 1088,    0,  210,-32766,  211, -497, -498,
-         1089,  312,  310,  824,  638,  477,    0,    0,    0,  202,
-            0, -398,    0,    0,    9,    0,    0, 1087, 1088,    3,
-         -497,-32766, -406,  370, -407, 1089,  835,  639,    0,  384,
-          372,  409,  526,  434,    0,    0,  864,  857,  863,  872,
-            0,  813,  798,  819,  807,  761,  661,  565,  760, 1093,
-         1094, 1095, 1096, 1090, 1091,  383,   37,   36,  759,  926,
-          810, 1097, 1092,  854,  852,  302,  806,  929,  212,  818,
-        -32766,  930,  565,  928, 1093, 1094, 1095, 1096, 1090, 1091,
-          383,  927,  796,  804,  660,  802, 1097, 1092,  649,  651,
-           75,    0,  652,  212,  654,-32766,  655,  658,  663,  664,
-          665,  405,  122,  330,  331,  406,    0, 1211,  757,  758,
-          839,  838,  766,  453, 1209, 1179, 1177, 1163, 1175, 1078,
-          911, 1183, 1173,  829,  836, 1038, 1039,  827,  935, 1212,
-          765,  837,  794,  662, 1050,  768,  767,  861,  862,    0,
-          304,  290,  289,   25,   26,  281,  203,   74,  305,  336,
-          411,  417,   35,   73,-32766,   40,   22,    0, 1015,  569,
-         -217, 1016, 1103, 1080,  901, 1040, 1044, 1041,  629,  559,
-          461,  457,  455,  450,  378,   16,   15,   14, -216,    0,
-            0, -416,    0, 1045,  603, 1157, 1104, 1207, 1077, 1174,
-         1158, 1162, 1176, 1063, 1048, 1049, 1046, 1047,    0, 1143
+          674,  675,  676,  677,  678,-32766,  679,  680,  681,  717,
+          718,  218,  219,  220,  221,  222,  223,  224,  225,  226,
+            0,  227,  228,  229,  230,  231,  232,  233,  234,  235,
+          236,  237,  238,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
+        -32766,-32767,-32767,-32767,-32767,  442,  239,  240,-32766,-32766,
+        -32766,-32766,  682,-32766,  308,-32766,-32766,-32766,-32766,-32766,
+        -32766,-32767,-32767,-32767,-32767,-32767,  683,  684,  685,  686,
+          687,  688,  689, 1174,  462,  749,-32766,-32766,-32766,-32766,
+        -32766,   25,  690,  691,  692,  693,  694,  695,  696,  697,
+          698,  699,  700,  720,  721,  722,  723,  724,  712,  713,
+          714,  715,  716,  701,  702,  703,  704,  705,  706,  707,
+          743,  744,  745,  746,  747,  748,  708,  709,  710,  711,
+          741,  732,  730,  731,  727,  728,  520,  719,  725,  726,
+          733,  734,  736,  735,  737,  738,   54,   55,  422,   56,
+           57,  729,  740,  739,  421,   58,   59,  341,   60,-32766,
+        -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,    9,-32767,
+        -32767,-32767,-32767,   52,  327,-32766,  331,  947,  948,  949,
+          946,  945,  944,  939, 1215,   29, 1217, 1216,  765,  766,
+          823,   61,   62, 1101, -269, 1180,  764,   63, 1174,   64,
+          293,  294,   65,   66,   67,   68,   69,   70,   71,   72,
+          129,   26,  301,   73,  415,-32766,-32766,-32766,-32766, 1089,
+         1090,  751,  635, 1180,-32766,  920,  206,  466,-32766,-32766,
+        -32766,  824,  409,-32766,  313,-32766,  902,-32766,-32766,-32766,
+        -32766,-32766,-32766,  215,  216,  217,  430,-32766,-32766,-32766,
+        -32766,-32766,-32766,-32766,-32766,  122,  493,  947,  948,  949,
+          946,  945,  944,  202,  475,  476,  284,  625,  127,  336,
+          895,  896,  341,  479,  480, 1187, 1095, 1096, 1097, 1098,
+         1092, 1093,  309,  494,   10,  443,  427,  494, 1099, 1094,
+          427,  587, -220, 1212,  123,   41,  449,  336,  323, 1056,
+          324,  423, -122, -122, -122,   -4,  824,  465,  101,  102,
+          103,  813,  303,  282,   40,   21,  424, -122,  467, -122,
+          468, -122,  469, -122,  104,  425,  215,  216,  217,   30,
+           31,  470,  426,  626,   32,  471,  427,  814,   74,  871,
+          925,  351,  352,  472,  473,  358,  202,  243, 1101,  474,
+          414, 1184,  795,  842,  477,  478,  300,  236,  237,  238,
+           35,  105,  106,  107,  108,  109,  110,  111,  112,  113,
+          114,  115,  116,  239,  240, 1038,  423,  350,  826,  640,
+         -122,  824,  465,  215,  216,  217,  813, 1140,  241,   40,
+           21,  424,   48,  467,  440,  468,  334,  469,  297, 1038,
+          425,  977,  979,  202,   30,   31,  470,  426,  416,   32,
+          471, 1188, 1038,   74,  322, 1038,  351,  352,  472,  473,
+        -32766,-32766,-32766,  128,  474,  921,  811,  757,  842,  477,
+          478,-32767,-32767,-32767,-32767,   96,   97,   98,   99,  100,
+        -32766,   20,-32766,-32766,-32766,-32766,  895,  896,  335, 1038,
+          479,  423, -216,  826,  640,   -4,  824,  465,  872,  494,
+         1207,  813,  427, 1206,   40,   21,  424,  299,  467,  121,
+          468, 1038,  469, -497,  118,  425, -201, -201, -201,   30,
+           31,  470,  426,  297,   32,  471,  810,  911,   74,  216,
+          217,  351,  352,  472,  473,-32766,-32766,-32766,   36,  474,
+           51,  340,  795,  842,  477,  478,  207,  751,  202, 1180,
+          126,-32766,-32766,-32766,  441,-32766,  417,-32766,-32766,-32766,
+           49,   33,  296,-32766,-32766,-32766,  423,  208,  826,  640,
+         -201,-32766,  465,-32766,-32766,  807,  813,  379,  117,   40,
+           21,  424, 1066,  467,-32766,  468,  217,  469,  805,  245,
+          425, -200, -200, -200,   30,   31,  470,  426, 1038,   32,
+          471,  286,  548,   74,  202,  824,  351,  352,  472,  473,
+        -32766,-32766,-32766,  494,  474,  125,  427,  795,  842,  477,
+          478,  431,  120,  336, 1038,  803,   78,   79,   80,  494,
+        -32766,  436,  427,  646,  642,  126,-32766,-32766,-32766,  244,
+          901,  246,  119,  826,  640, -200,   34,  298,   81,   82,
+           83,   84,   85,   86,   87,   88,   89,   90,   91,   92,
+           93,   94,   95,   96,   97,   98,   99,  100,  101,  102,
+          103,  209,  303,  202,  824,  423,  822, 1038,  215,  216,
+          217,  465,  131,  130,  104,  813,  578, 1038,   40,   21,
+          424,  650,  467,  835,  468,  647,  469,  315,  202,  425,
+          285,  104,  643,   30,   31,  470,  824,-32766,   32,  471,
+          295,  303,   74,-32766,-32766,  351,  352,  215,  216,  217,
+        -32766,-32766,   50,  474,   98,   99,  100,  233,  234,  235,
+          239,  240,  456,  593,  644,  451,   22,  202,  132,  359,
+          765,  766,  601,  602,  423,  758,  645,  924,  668,  301,
+          465,   47,  858,  640,  813,  936,  656,   40,   21,  424,
+           43,  467,   46,  468,   45,  469,   44,   53,  425,  751,
+          607,  514,   30,   31,  470,  824,  423,   32,  471,  778,
+          752,   74,  465,  437,  351,  352,  813,  535,  519,   40,
+           21,  424,  474,  467,  536,  468, 1210,  469,  515,  435,
+          425,  439,  518,  648,   30,   31,  470,  824,  624,   32,
+          471,  614,  604,   74, 1059,  581,  351,  352,-32766,  526,
+          634,  826,  640,  611,  474, 1139,  460,  434,  281,  621,
+          328,  844,  314,  539,   14,  653,  -80,  597,  837,  584,
+          330,  843,  325, -398,  395,  423, 1146,    0,    0,    0,
+            0,  465, 1100,  826,  640,  813,  598,    0,   40,   21,
+          424,    0,  467,    0,  468,    0,  469,    0,  372,  425,
+            0,  326,    0,   30,   31,  470,  824,  423,   32,  471,
+          312, -498,   74,  465, -497,  351,  352,  813,  479,    0,
+           40,   21,  424,  474,  467,  374,  468,    5,  469,    6,
+           11,  425, -407,   13, -406,   30,   31,  470, 1036,  386,
+           32,  471,  411,  410,   74,  387,  528,  351,  352,  436,
+          856, 1213,  826,  640,  866,  474,  865,  874,  815,  800,
+          821,  809,  763,  661,  660,   39,   38,  854,  931,  932,
+          929,  859,  930,  820,  808,  761,  423,  928,  806,  804,
+          798,  812,  465,  762,  826,  640,  813,  649,   77,   40,
+           21,  424,  651,  467,  652,  468,  242,  469,  654,  655,
+          425,  658,  663,  664,   30,   31,  470,  665,  124,   32,
+          471,  332,  333,   74,  210,  211,  351,  352,  407,  641,
+          212,  408,  213,  768,  474,  767,  864,  455, 1211, 1181,
+         1179, 1165, 1177, 1080,  204,  913, 1185, 1175,  838,  210,
+          211, 1040, 1089, 1090, 1041,  212,-32766,  213,  829,  863,
+         1091, 1052,  759,  826,  640,  306,  839,  840,  760,  204,
+         1214,  796,  662,  841,  770,  769,  937, 1089, 1090,  831,
+         1042,-32766,  305,  304,   24, 1091,   27,  292,  291,  283,
+          307,  338,  413,  419,   28,  205,   37,   42,   76,   75,
+        -32766,    0, 1018, 1017, 1082,  571, -216,  567, 1105, 1095,
+         1096, 1097, 1098, 1092, 1093,  385,  903, 1046, 1043,  631,
+          561, 1099, 1094,  463,  459,  457,  452,  380,  214,    0,
+        -32766,   18,  567, -217, 1095, 1096, 1097, 1098, 1092, 1093,
+          385,   17,   16,  605,    0, -416, 1099, 1094, 1160, 1159,
+         1106, 1209, 1079,  214, 1176,-32766, 1047,    0, 1164, 1178,
+         1065, 1050, 1051, 1048, 1049,    0, 1145
     );
 
     protected $actionCheck = array(
@@ -343,177 +349,184 @@ class Php5 extends \PhpParser\ParserAbstract
             0,   41,   42,   43,   44,   45,   46,   47,   48,   49,
            50,   51,   52,    8,    9,   10,   31,   32,   33,   34,
            35,   36,   37,   38,   39,    7,   66,   67,   31,   32,
-           33,   34,   54,   28,   12,   30,   31,   32,   33,   34,
+           33,   34,   54,   28,    7,   30,   31,   32,   33,   34,
            35,   36,   37,   38,   39,   40,   68,   69,   70,   71,
            72,   73,   74,   79,    7,   77,   31,   32,   33,   34,
            35,    7,   84,   85,   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,   79,  129,  130,  131,
+          122,  123,  124,  125,  126,  127,   82,  129,  130,  131,
           132,  133,  134,  135,  136,  137,    2,    3,    4,    5,
             6,  143,  144,  145,    7,   11,   12,  153,   14,   31,
            32,   33,   34,   35,   36,   37,   38,   39,  103,   41,
-           42,   43,   44,   67,  109,   79,   82,  112,  113,  114,
+           42,   43,   44,   67,  109,   79,    7,  112,  113,  114,
           115,  116,  117,  118,   77,    7,   79,   80,  102,  103,
-            1,   47,   48,    8,    9,   10,  148,   53,   79,   55,
+            1,   47,   48,  139,   79,   79,  148,   53,   79,   55,
            56,   57,   58,   59,   60,   61,   62,   63,   64,   65,
-          153,   67,   68,   69,   70,    8,    9,   10,    1,   75,
-           76,   77,   77,   79,    8,    9,   10,   83,    8,    9,
-           10,    1,  146,  139,  128,   28,  152,   30,   31,   32,
-           33,   34,   35,   12,   28,   79,  102,  151,   28,  153,
+           67,   67,   68,   69,   70,    8,    9,   10,  103,   75,
+           76,   77,   77,   79,  109,  148,    7,   83,    8,    9,
+           10,    1,  146,  118,  128,   28,  152,   30,   31,   32,
+           33,   34,   35,    8,    9,   10,  102,  151,   28,  153,
            30,   31,   32,   33,   34,  149,  112,  112,  113,  114,
-          115,  116,  117,    7,  120,  121,   35,   77,  149,  103,
-          130,  131,  153,  129,  130,  109,  132,  133,  134,  135,
-          136,  137,  138,  143,  118,    7,  146,  143,  144,  145,
-          146,    7,  152,   29,   77,  151,   13,  153,  154,  152,
+          115,  116,  117,   28,  120,  121,    7,   77,  149,  153,
+          130,  131,  153,  129,  130,    1,  132,  133,  134,  135,
+          136,  137,  138,  143,    7,    7,  146,  143,  144,  145,
+          146,   82,  152,  150,    7,  151,    7,  153,  154,  152,
           156,   71,   72,   73,   74,    0,    1,   77,   50,   51,
            52,   81,   54,   13,   84,   85,   86,   87,   88,   89,
-           90,   91,   92,   93,   66,   95,   96,   97,   98,   99,
-          100,  101,  102,  143,  104,  105,  146,  148,  108,    7,
-          150,  111,  112,  113,  114,    8,    9,   10,    7,  119,
-           12,    7,  122,  123,  124,  125,   41,   42,   43,   44,
-           45,   46,   47,   48,   49,   28,  149,   30,   31,   32,
-           33,  155,    8,    9,   10,   35,   71,   13,  148,  149,
-          150,   12,   77,  130,  131,   79,   81,   12,   82,   84,
-           85,   86,   28,   88,    7,   90,  143,   92,   67,  146,
-           95,    8,    9,   10,   99,  100,  101,  102,  103,  104,
-          105,   12,  148,  108,  109,    1,  111,  112,  113,  114,
-           13,   28,    9,   10,  119,    7,  148,  122,  123,  124,
-          125,    8,    9,   10,   35,  152,    8,    9,   10,   67,
-           35,   28,    7,   29,   67,   29,  140,  141,  143,    7,
-            7,   28,   29,  148,  149,  150,   28,    7,   30,   31,
+           90,   91,   92,   93,   66,   95,    8,    9,   10,   99,
+          100,  101,  102,  143,  104,  105,  146,  148,  108,   29,
+          150,  111,  112,  113,  114,    7,   28,   29,  139,  119,
+            7,   77,  122,  123,  124,  125,   35,   50,   51,   52,
+           15,   16,   17,   18,   19,   20,   21,   22,   23,   24,
+           25,   26,   27,   66,   67,   12,   71,    7,  148,  149,
+          150,    1,   77,    8,    9,   10,   81,  152,   13,   84,
+           85,   86,   67,   88,   29,   90,    7,   92,   35,   12,
+           95,   56,   57,   28,   99,  100,  101,  102,  103,  104,
+          105,  152,   12,  108,  109,   12,  111,  112,  113,  114,
+            8,    9,   10,  149,  119,  148,  148,  122,  123,  124,
+          125,   41,   42,   43,   44,   45,   46,   47,   48,   49,
+           28,  152,   30,   31,   32,   33,  130,  131,  143,   12,
+          129,   71,  152,  148,  149,  150,    1,   77,  148,  143,
+           79,   81,  146,   82,   84,   85,   86,    7,   88,   13,
+           90,   12,   92,  128,  149,   95,   96,   97,   98,   99,
+          100,  101,  102,   35,  104,  105,  148,   79,  108,    9,
+           10,  111,  112,  113,  114,    8,    9,   10,   13,  119,
+           67,   67,  122,  123,  124,  125,   15,   77,   28,   79,
+          147,    8,    9,   10,  149,   28,  123,   30,   31,   32,
+           67,  140,  141,    8,    9,   10,   71,   15,  148,  149,
+          150,   28,   77,   30,   31,  148,   81,   78,   15,   84,
+           85,   86,  112,   88,  151,   90,   10,   92,  148,   15,
+           95,   96,   97,   98,   99,  100,  101,  102,   12,  104,
+          105,  153,  128,  108,   28,    1,  111,  112,  113,  114,
+            8,    9,   10,  143,  119,   29,  146,  122,  123,  124,
+          125,  151,  149,  153,   12,  148,    8,    9,   10,  143,
+           28,  146,  146,   29,  149,  147,   31,   32,   33,   15,
+          152,   15,  149,  148,  149,  150,   28,   35,   30,   31,
            32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
            42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
-           52,  150,   54,    7,    1,   71,  148,  147,    8,    9,
-           10,   77,  152,  152,   66,   81,  152,   15,   84,   85,
-           86,   82,   88,   79,   90,  128,   92,   67,   28,   95,
-           30,   31,   29,   99,  100,  101,    1,  148,  104,  105,
-          123,  149,  108,  148,   67,  111,  112,    8,    9,   10,
-           31,   32,   33,  119,  129,  148,   50,   51,   52,    8,
-            9,   10,   12,   10,   29,  152,  147,   28,  151,   30,
-           31,   32,   66,   67,   71,   47,   48,   49,  139,   28,
-           77,   28,  148,  149,   81,  149,  148,   84,   85,   86,
-           12,   88,   15,   90,   77,   92,   79,  153,   95,   47,
-           48,   49,   99,  100,  101,    1,   71,  104,  105,  149,
-          148,  108,   77,   35,  111,  112,   81,   15,   12,   84,
-           85,   86,  119,   88,   15,   90,  149,   92,   78,  112,
-           95,   12,   15,   29,   99,  100,  101,    1,  149,  104,
-          105,   35,  153,  108,   31,   32,  111,  112,   29,   15,
-          143,  148,  149,  146,  119,   15,    8,    9,   10,  146,
-          143,   28,  149,  146,   29,   29,    8,    9,  151,   31,
-          153,   66,   67,   72,   73,   71,   28,   97,   98,   72,
-           73,   77,   29,  148,  149,   81,  102,  103,   84,   85,
-           86,   29,   88,   29,   90,   29,   92,  106,  107,   95,
-           35,   54,   74,   99,  100,  101,    1,   71,  104,  105,
-          148,  149,  108,   77,   68,  111,  112,   81,  148,  149,
-           84,   85,   86,  119,   88,   66,   90,   67,   92,  148,
-          149,   95,   77,   77,   67,   99,  100,  101,   67,   67,
-          104,  105,   67,   67,  108,   67,   77,  111,  112,   79,
-           77,   77,  148,  149,   77,  119,   77,   15,   16,   17,
-           18,   19,   20,   21,   22,   23,   24,   25,   26,   27,
-           77,   77,   77,   77,   82,   86,   71,   79,   79,   79,
-           79,   91,   77,   96,  148,  149,   81,   96,   82,   84,
-           85,   86,   89,   88,   87,   90,   29,   92,   56,   57,
-           95,   93,  139,   94,   99,  100,  101,   94,   94,  104,
-          105,   94,  102,  108,   47,   48,  111,  112,  102,  139,
-           53,  109,   55,  126,  119,  110,  142,  123,  126,  146,
-          142,  146,  146,  151,   67,  154,   -1,   -1,  127,   47,
-           48,  123,   75,   76,   -1,   53,   79,   55,  128,  128,
-           83,  128,  128,  148,  149,  129,   -1,   -1,   -1,   67,
-           -1,  142,   -1,   -1,  142,   -1,   -1,   75,   76,  142,
-          128,   79,  142,  142,  142,   83,  147,  149,   -1,  146,
-          146,  146,  146,  146,   -1,   -1,  148,  148,  148,  148,
-           -1,  148,  148,  148,  148,  148,  148,  130,  148,  132,
-          133,  134,  135,  136,  137,  138,  148,  148,  148,  148,
-          148,  144,  145,  148,  148,  151,  148,  148,  151,  148,
-          153,  148,  130,  148,  132,  133,  134,  135,  136,  137,
-          138,  148,  148,  148,  148,  148,  144,  145,  149,  149,
-          149,   -1,  149,  151,  149,  153,  149,  149,  149,  149,
-          149,  149,  149,  149,  149,  149,   -1,  150,  150,  150,
-          150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
-          150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
-          150,  150,  150,  150,  150,  150,  150,  150,  150,   -1,
+           52,   15,   54,   28,    1,   71,   29,   12,    8,    9,
+           10,   77,  149,   29,   66,   81,  153,   12,   84,   85,
+           86,   29,   88,   35,   90,   29,   92,   29,   28,   95,
+           35,   66,   29,   99,  100,  101,    1,   31,  104,  105,
+           35,   54,  108,   31,   32,  111,  112,    8,    9,   10,
+            8,    9,   67,  119,   47,   48,   49,   47,   48,   49,
+           66,   67,   72,   73,   29,   72,   73,   28,   97,   98,
+          102,  103,  106,  107,   71,  148,  149,  148,  149,   68,
+           77,   67,  148,  149,   81,  148,  149,   84,   85,   86,
+           67,   88,   67,   90,   67,   92,   67,   67,   95,   77,
+           74,   77,   99,  100,  101,    1,   71,  104,  105,   77,
+           77,  108,   77,   77,  111,  112,   81,   77,   77,   84,
+           85,   86,  119,   88,   77,   90,   77,   92,   77,   77,
+           95,   86,   79,   29,   99,  100,  101,    1,   79,  104,
+          105,   79,   79,  108,   79,   87,  111,  112,   82,   82,
+           89,  148,  149,   93,  119,  155,  102,  102,   94,   91,
+          110,  123,  128,   94,   94,   29,   94,   96,  147,   96,
+          126,  123,  126,  142,  146,   71,  139,   -1,   -1,   -1,
+           -1,   77,  139,  148,  149,   81,  109,   -1,   84,   85,
+           86,   -1,   88,   -1,   90,   -1,   92,   -1,  142,   95,
+           -1,  127,   -1,   99,  100,  101,    1,   71,  104,  105,
+          128,  128,  108,   77,  128,  111,  112,   81,  129,   -1,
+           84,   85,   86,  119,   88,  146,   90,  142,   92,  142,
+          142,   95,  142,  142,  142,   99,  100,  101,  154,  146,
+          104,  105,  146,  146,  108,  146,  146,  111,  112,  146,
+          148,  150,  148,  149,  148,  119,  148,  148,  148,  148,
+          148,  148,  148,  148,  148,  148,  148,  148,  148,  148,
+          148,  148,  148,  148,  148,  148,   71,  148,  148,  148,
+          148,  148,   77,  148,  148,  149,   81,  149,  149,   84,
+           85,   86,  149,   88,  149,   90,   29,   92,  149,  149,
+           95,  149,  149,  149,   99,  100,  101,  149,  149,  104,
+          105,  149,  149,  108,   47,   48,  111,  112,  149,  149,
+           53,  149,   55,  150,  119,  150,  150,  150,  150,  150,
+          150,  150,  150,  150,   67,  150,  150,  150,  150,   47,
+           48,  150,   75,   76,  150,   53,   79,   55,  150,  150,
+           83,  150,  150,  148,  149,  151,  150,  150,  150,   67,
+          150,  150,  150,  150,  150,  150,  150,   75,   76,  150,
+          152,   79,  151,  151,  151,   83,  151,  151,  151,  151,
           151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
-          151,  151,  151,  151,  151,  151,  151,   -1,  152,  152,
-          152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
-          152,  152,  152,  152,  152,  152,  152,  152,  152,   -1,
-           -1,  154,   -1,  155,  155,  155,  155,  155,  155,  155,
-          155,  155,  155,  155,  155,  155,  155,  155,   -1,  156
+          151,   -1,  152,  152,  152,  152,  152,  130,  152,  132,
+          133,  134,  135,  136,  137,  138,  152,  152,  152,  152,
+          152,  144,  145,  152,  152,  152,  152,  152,  151,   -1,
+          153,  152,  130,  152,  132,  133,  134,  135,  136,  137,
+          138,  152,  152,  155,   -1,  154,  144,  145,  155,  155,
+          155,  155,  155,  151,  155,  153,  155,   -1,  155,  155,
+          155,  155,  155,  155,  155,   -1,  156
     );
 
     protected $actionBase = array(
-            0,  220,  295,  109,  109,  180,  745,   -2,   -2,   -2,
-           -2,   -2,  135,  574,  473,  404,  473,  606,  505,  675,
-          675,  675,  330,  389,  221,  221,  831,  221,  359,  365,
-          328,  520,  589,  548,  576,   42,   42,   42,   42,  134,
-          134,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-           42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-           42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-           42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-           42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-           42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-           42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-           42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-           42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-           42,  254,  179,  290,  397,  757,  755,  738,  741,  833,
-          679,  829,  784,  785,  623,  786,  787,  788,  789,  790,
-          783,  791,  849,  792,  418,  418,  418,  418,  418,  418,
-          418,  418,  418,  418,  418,   -3,  354,  383,  413,  206,
-          628,  521,  521,  521,  521,  521,  521,  521,  175,  175,
-          175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
-          175,  175,  175,  175,  175,  403,  618,  618,  618,  523,
-          737,  603,  762,  762,  762,  762,  762,  762,  762,  762,
-          762,  762,  762,  762,  762,  762,  762,  762,  762,  762,
-          762,  762,  762,  762,  762,  762,  762,  762,  762,  762,
-          762,  762,  762,  762,  762,  762,  762,  762,  762,  762,
-          762,  762,  762,  762,  762,  470,  -20,  -20,  509,  608,
-          327,  583,  210,  489,  197,   25,   25,   25,   25,   25,
-           17,   45,    5,    5,    5,    5,  712,  305,  305,  305,
-          305,  118,  118,  118,  118,  780,  781,  801,  804,  395,
-          395,  696,  696,  616,  773,  522,  522,  498,  498,  487,
-          487,  487,  487,  487,  487,  487,  487,  487,  487,  387,
-          156,  823,  130,  130,  130,  130,  243,  409,  633,  863,
-          207,  207,  207,  243,  248,  248,  248,  476,  476,  476,
-           76,  662,  296,   86,   86,   86,   86,  296,   86,   86,
-          554,  554,  554,  483,  761,  676,  477,  430,   97,  459,
-          657,  807,  661,  808,  540,  702,   96,  656,  705,   -6,
-          680,  577,  571,  561,  689,  406,   -6,  254,  551,  447,
-          617,  732,  663,  268,  730,  377,   38,  367,  532,  362,
-          414,  334,  774,  720,  827,  826,   74,  321,  691,  617,
-          617,  617,  137,   84,  775,  772,  362,  273,  575,  575,
-          575,  575,  806,  776,  575,  575,  575,  575,  805,  800,
-          432,  408,  782,  331,  731,  649,  649,  649,  649,  649,
-          649,  635,  649,  813,  666,  825,  825,  664,  668,  635,
-          824,  824,  824,  824,  635,  649,  825,  825,  635,  616,
-          825,  168,  635,  672,  649,  667,  667,  824,  756,  718,
-          666,  669,  681,  825,  825,  825,  681,  664,  635,  824,
-          682,  699,  466,  825,  824,  632,  632,  682,  635,  632,
-          668,  632,   20,  605,  641,  821,  822,  820,  625,  698,
-          688,  674,  811,  810,  816,  665,  626,  814,  812,  706,
-          717,  716,  639,  610,  642,  645,  646,  648,  697,  637,
-          694,  680,  707,  629,  629,  629,  690,  658,  690,  629,
-          629,  629,  629,  629,  629,  629,  629,  848,  700,  701,
-          693,  659,  715,  604,  704,  687,  472,  768,  650,  706,
-          706,  802,  835,  842,  847,  651,  643,  734,  837,  690,
-          862,  729,  274,  587,  652,  803,  703,  647,  655,  690,
-          809,  690,  769,  690,  834,  799,  644,  706,  779,  629,
-          832,  861,  860,  859,  858,  857,  856,  855,  854,  630,
-          853,  714,  677,  841,  246,  815,  689,  692,  653,  713,
-           67,  852,  778,  690,  690,  770,  761,  690,  771,  711,
-          728,  845,  710,  840,  851,  650,  839,  690,  686,  850,
-           67,  634,  598,  828,  678,  708,  819,  671,  830,  818,
-          759,  547,  579,  777,  636,  754,  844,  843,  846,  709,
-          760,  763,  572,  660,  640,  670,  793,  765,  817,  735,
-          794,  795,  836,  684,  707,  654,  685,  683,  673,  767,
-          796,  838,  736,  739,  743,  797,  753,  798,    0,    0,
+            0,  220,  295,  370,  445,  109,  109,  180,  744,   -2,
+           -2,   -2,   -2,   -2,  135,  655,  724,  756,  724,  623,
+          554,  825,  825,  825,  438,  353,  625,  625,  862,  625,
+          427,  390,  377,  449,  536,  615,  562,  393,  393,  393,
+          393,  134,  134,  393,  393,  393,  393,  393,  393,  393,
+          393,  393,  393,  393,  393,  393,  393,  393,  393,  393,
+          393,  393,  393,  393,  393,  393,  393,  393,  393,  393,
+          393,  393,  393,  393,  393,  393,  393,  393,  393,  393,
+          393,  393,  393,  393,  393,  393,  393,  393,  393,  393,
+          393,  393,  393,  393,  393,  393,  393,  393,  393,  393,
+          393,  393,  393,  393,  393,  393,  393,  393,  393,  393,
+          393,  393,  393,  393,  393,  393,  393,  393,  393,  393,
+          393,  393,  393,  393,  393,  393,  393,  393,  393,  393,
+          393,  393,  393,  300,  179,  446,  475,  751,  750,  746,
+          745,  838,  684,  860,  798,  799,  604,  800,  801,  802,
+          803,  805,  797,  806,  898,  807,  568,  568,  568,  568,
+          568,  568,  568,  568,  568,  568,  568,   -3,  365,  225,
+          308,  620,  662,  659,  659,  659,  659,  659,  659,  659,
+          505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
+          505,  505,  505,  505,  505,  505,  505,  470,  552,  552,
+          552,  526,  887,  595,  912,  912,  912,  912,  912,  912,
+          912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
+          912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
+          912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
+          912,  912,  912,  912,  912,  912,  912,  493,  -20,  -20,
+          477,  626,  402,  632,  210,  555,  197,   25,   25,   25,
+           25,   25,   17,   45,    5,    5,    5,    5,  335,  380,
+          380,  380,  380,  118,  118,  118,  118,  833,  827,  826,
+          821,  311,  311,  709,  709,  631,  779,  627,  627,  630,
+          630,  420,  420,  420,  420,  420,  420,  420,  420,  420,
+          420,  383,  105,  859,  130,  130,  130,  130,  306,   44,
+          657,  920,  264,  264,  264,  306,  248,  248,  248,  297,
+          297,  297,   76,  687,  371,   86,   86,   86,   86,  371,
+           86,   86,  588,  588,  588,  435,  759,  686,  436,  443,
+           97,  483,  693,  819,  691,  796,  549,  710,   96,  717,
+          716,  398,  675,  613,  610,  586,  651,  355,  398,  300,
+          557,  423,  607,  753,  667,   38,  747,  328,  268,  424,
+          547,  315,   -6,  279,  782,  755,  863,  861,  249,  133,
+          703,  607,  607,  607,   74,  199,  783,  789,  315,  290,
+          614,  614,  614,  614,  835,  792,  614,  614,  614,  614,
+          834,  795,  267,   67,  793,  137,  749,  642,  642,  642,
+          642,  642,  642,  608,  642,  853,  671,  843,  843,  660,
+          683,  608,  856,  856,  856,  856,  608,  642,  843,  843,
+          608,  631,  843,  168,  608,  666,  642,  664,  664,  856,
+          736,  735,  671,  673,  694,  843,  843,  843,  694,  660,
+          608,  856,  697,  641,  209,  843,  856,  618,  618,  697,
+          608,  618,  683,  618,   20,  597,  643,  855,  858,  852,
+          644,  790,  668,  658,  847,  846,  857,  661,  672,  848,
+          845,  720,  734,  733,  656,  513,  649,  647,  645,  634,
+          705,  605,  702,  675,  723,  585,  585,  585,  706,  707,
+          706,  585,  585,  585,  585,  585,  585,  585,  585,  911,
+          712,  676,  654,  665,  732,  481,  699,  689,  502,  772,
+          663,  720,  720,  831,  876,  885,  901,  704,  653,  842,
+          878,  706,  919,  738,  277,  606,  841,  832,  713,  652,
+          719,  706,  824,  706,  773,  706,  875,  830,  669,  720,
+          828,  585,  874,  918,  917,  916,  915,  914,  913,  903,
+          909,  650,  907,  731,  678,  884,   47,  854,  651,  708,
+          648,  730,  159,  906,  822,  706,  706,  774,  759,  706,
+          778,  729,  737,  900,  728,  883,  905,  663,  882,  706,
+          674,  904,  159,  616,  646,  891,  680,  726,  851,  682,
+          866,  850,  758,  574,  524,  721,  612,  752,  899,  889,
+          864,  743,  763,  765,  576,  688,  685,  679,  839,  769,
+          849,  722,  808,  811,  877,  692,  723,  711,  670,  690,
+          681,  770,  814,  881,  739,  740,  741,  818,  742,  836,
             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,  134,  134,
-           -2,   -2,   -2,   -2,    0,    0,    0,    0,    0,   -2,
+            0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+          134,  134,  134,  134,   -2,   -2,   -2,   -2,    0,    0,
+            0,    0,    0,   -2,  134,  134,  134,  134,  134,  134,
           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
-          134,  134,  134,  134,  134,  134,    0,    0,  134,  134,
+            0,    0,  134,  134,  134,  134,  134,  134,  134,  134,
           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
@@ -522,168 +535,167 @@ class Php5 extends \PhpParser\ParserAbstract
           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
-          134,  134,  134,  134,  134,  134,  134,  134,  418,  418,
-          418,  418,  418,  418,  418,  418,  418,  418,  418,  418,
-          418,  418,  418,  418,  418,  418,  418,  418,  418,  418,
-          418,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-            0,    0,  418,  -20,  -20,  -20,  -20,  418,  -20,  -20,
-          -20,  -20,  -20,  -20,  -20,  418,  418,  418,  418,  418,
-          418,  418,  418,  418,  418,  418,  418,  418,  418,  418,
-          418,  418,  -20,  418,  418,  418,  -20,  487,  -20,  487,
-          487,  487,  487,  487,  487,  487,  487,  487,  487,  487,
-          487,  487,  487,  487,  487,  487,  487,  487,  487,  487,
-          487,  487,  487,  487,  487,  487,  487,  487,  487,  487,
-          487,  487,  487,  487,  487,  487,  487,  487,  487,  487,
-          487,  487,  418,    0,    0,  418,  -20,  418,  -20,  418,
-          -20,  418,  418,  418,  418,  418,  418,  -20,  -20,  -20,
-          -20,  -20,  -20,    0,  248,  248,  248,  248,  -20,  -20,
-          -20,  -20,   55,   55,   55,   55,  487,  487,  487,  487,
-          487,  487,  248,  248,  476,  476,    0,    0,    0,    0,
-            0,    0,    0,    0,    0,    0,  487,   55,  487,  649,
-          649,  649,  649,  649,  296,  296,  296,   47,   47,   47,
-          649,    0,    0,    0,    0,    0,    0,  649,  296,    0,
-          487,  487,  487,  487,    0,  487,  487,  649,  649,  649,
-          649,   47,  296,  649,  825,    0,   47,  550,  550,  550,
-          550,   67,  362,    0,  649,  649,    0,  669,    0,    0,
-            0,  825,    0,    0,    0,    0,    0,  629,  274,  734,
-            0,  433,    0,    0,    0,    0,    0,    0,    0,  643,
-          433,  322,  322,    0,    0,  630,  629,  629,  629,    0,
-            0,  643,  643,    0,    0,    0,    0,    0,    0,  440,
-          643,    0,    0,    0,    0,  440,  425,    0,    0,  425,
-            0,   67
+          134,  134,  568,  568,  568,  568,  568,  568,  568,  568,
+          568,  568,  568,  568,  568,  568,  568,  568,  568,  568,
+          568,  568,  568,  568,  568,    0,    0,    0,    0,    0,
+            0,    0,    0,    0,    0,    0,  568,  -20,  -20,  -20,
+          -20,  568,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  568,
+          568,  568,  568,  568,  568,  568,  568,  568,  568,  568,
+          568,  568,  568,  568,  568,  568,  -20,  568,  568,  568,
+          -20,  420,  -20,  420,  420,  420,  420,  420,  420,  420,
+          420,  420,  420,  420,  420,  420,  420,  420,  420,  420,
+          420,  420,  420,  420,  420,  420,  420,  420,  420,  420,
+          420,  420,  420,  420,  420,  420,  420,  420,  420,  420,
+          420,  420,  420,  420,  420,  420,  568,    0,    0,  568,
+          -20,  568,  -20,  568,  -20,  568,  568,  568,  568,  568,
+          568,  -20,  -20,  -20,  -20,  -20,  -20,    0,  248,  248,
+          248,  248,  -20,  -20,  -20,  -20,   55,   55,   55,   55,
+          420,  420,  420,  420,  420,  420,  248,  248,  297,  297,
+            0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+          420,   55,  420,  642,  642,  642,  642,  642,  371,  371,
+          371,  106,  106,  106,  642,    0,    0,    0,    0,    0,
+            0,  642,  371,    0,  420,  420,  420,  420,    0,  420,
+          420,  642,  642,  642,  642,  106,  371,  642,  843,    0,
+          106,  591,  591,  591,  591,  159,  315,    0,  642,  642,
+            0,  673,    0,    0,    0,  843,    0,    0,    0,    0,
+            0,  585,  277,  842,    0,  360,    0,    0,    0,    0,
+            0,    0,    0,  653,  360,  450,  450,    0,    0,  650,
+          585,  585,  585,    0,    0,  653,  653,    0,    0,    0,
+            0,    0,    0,  379,  653,    0,    0,    0,    0,  379,
+          333,    0,    0,  333,    0,  159
     );
 
     protected $actionDefault = array(
             3,32767,32767,32767,32767,32767,32767,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
-        32767,32767,32767,32767,  525,  525,32767,  481,32767,32767,
-        32767,32767,32767,32767,32767,  287,  287,  287,32767,32767,
-        32767,  513,  513,  513,  513,  513,  513,  513,  513,  513,
-          513,  513,32767,32767,32767,32767,32767,  369,32767,32767,
+        32767,32767,32767,32767,32767,32767,  525,  525,32767,  481,
+        32767,32767,32767,32767,32767,32767,32767,  287,  287,  287,
+        32767,32767,32767,  513,  513,  513,  513,  513,  513,  513,
+          513,  513,  513,  513,32767,32767,32767,32767,32767,  369,
+        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+        32767,32767,32767,32767,32767,  375,  530,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
-        32767,32767,32767,  375,  530,32767,32767,32767,32767,32767,
+        32767,32767,32767,32767,32767,32767,  350,  351,  353,  354,
+          286,  514,  237,  376,  529,  285,  239,  314,  485,32767,
+        32767,32767,  316,  116,  248,  193,  484,  119,  284,  224,
+          368,  370,  315,  291,  296,  297,  298,  299,  300,  301,
+          302,  303,  304,  305,  306,  307,  290,  441,  347,  346,
+          345,  443,32767,  442,  478,  478,  481,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
-        32767,32767,32767,32767,  350,  351,  353,  354,  286,  514,
-          237,  376,  529,  285,  239,  314,  485,32767,32767,32767,
-          316,  116,  248,  193,  484,  119,  284,  224,  368,  370,
-          315,  291,  296,  297,  298,  299,  300,  301,  302,  303,
-          304,  305,  306,  307,  290,  441,  347,  346,  345,  443,
-        32767,  442,  478,  478,  481,32767,32767,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+        32767,32767,32767,32767,32767,32767,32767,  312,  469,  468,
+          313,  439,  317,  440,  319,  444,  318,  335,  336,  333,
+          334,  337,  446,  445,  462,  463,  460,  461,  289,  338,
+          339,  340,  341,  464,  465,  466,  467,  271,  271,  271,
+          271,32767,32767,  524,  524,32767,32767,  326,  327,  453,
+          454,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+        32767,32767,  272,32767,  228,  228,  228,  228,  228,32767,
+        32767,32767,32767,32767,32767,32767,  321,  322,  320,  448,
+          449,  447,32767,  415,32767,32767,32767,32767,32767,  417,
+        32767,32767,32767,32767,32767,32767,32767,32767,32767,  486,
+        32767,32767,32767,32767,32767,32767,32767,  499,  404,32767,
+        32767,32767,  397,  212,  214,  161,  472,32767,32767,32767,
+        32767,  504,  331,32767,32767,32767,32767,32767,32767,  539,
+        32767,  499,32767,32767,32767,32767,32767,32767,32767,32767,
+          344,  323,  324,  325,32767,32767,32767,32767,  503,  497,
+          456,  457,  458,  459,32767,32767,  450,  451,  452,  455,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
-        32767,32767,32767,32767,32767,  312,  469,  468,  313,  439,
-          317,  440,  319,  444,  318,  335,  336,  333,  334,  337,
-          446,  445,  462,  463,  460,  461,  289,  338,  339,  340,
-          341,  464,  465,  466,  467,  271,  271,  271,  271,32767,
-        32767,  524,  524,32767,32767,  326,  327,  453,  454,32767,
+        32767,32767,32767,  165,32767,  412,32767,  418,  418,32767,
+        32767,  165,32767,32767,32767,32767,  165,32767,  502,  501,
+          165,32767,  398,  480,  165,  178,32767,  176,  176,32767,
+          198,  198,32767,32767,  180,  473,  492,32767,  180,32767,
+          165,32767,  386,  167,  480,32767,32767,  230,  230,  386,
+          165,  230,32767,  230,32767,   82,  422,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
-          272,32767,  228,  228,  228,  228,  228,32767,32767,32767,
-        32767,32767,32767,32767,  321,  322,  320,  448,  449,  447,
-        32767,  415,32767,32767,32767,32767,32767,  417,32767,32767,
-        32767,32767,32767,32767,32767,32767,32767,  486,32767,32767,
-        32767,32767,32767,32767,32767,  499,  404,32767,32767,32767,
-          397,  212,  214,  161,  472,32767,32767,32767,32767,  504,
-          331,32767,32767,32767,32767,32767,32767,  539,32767,  499,
-        32767,32767,32767,32767,32767,32767,32767,32767,  344,  323,
-          324,  325,32767,32767,32767,32767,  503,  497,  456,  457,
-          458,  459,32767,32767,  450,  451,  452,  455,32767,32767,
+        32767,  399,32767,32767,32767,32767,  365,  366,  475,  488,
+        32767,  489,32767,  397,32767,  329,  330,  332,  309,32767,
+          311,  355,  356,  357,  358,  359,  360,  361,  363,32767,
+          402,32767,  405,32767,32767,32767,   84,  108,  247,32767,
+          537,   84,  400,32767,32767,  294,  537,32767,32767,32767,
+        32767,  532,32767,32767,  288,32767,32767,32767,   84,32767,
+           84,  243,32767,  163,32767,  522,32767,  497,32767,  401,
+        32767,  328,32767,32767,32767,32767,32767,32767,32767,32767,
+        32767,  498,32767,32767,32767,32767,  219,32767,  435,32767,
+           84,32767,  179,32767,32767,  292,  238,32767,32767,  531,
+        32767,32767,32767,32767,32767,32767,32767,32767,32767,  164,
+        32767,32767,  181,32767,32767,  497,32767,32767,32767,32767,
+        32767,32767,32767,32767,  283,32767,32767,32767,32767,32767,
+          497,32767,32767,32767,  223,32767,32767,32767,32767,32767,
+        32767,32767,32767,32767,32767,   82,   60,32767,  265,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
-        32767,  165,32767,  412,32767,  418,  418,32767,32767,  165,
-        32767,32767,32767,32767,  165,32767,  502,  501,  165,32767,
-          398,  480,  165,  178,32767,  176,  176,32767,  198,  198,
-        32767,32767,  180,  473,  492,32767,  180,32767,  165,32767,
-          386,  167,  480,32767,32767,  230,  230,  386,  165,  230,
-        32767,  230,32767,   82,  422,32767,32767,32767,32767,32767,
-        32767,32767,32767,32767,32767,32767,32767,32767,32767,  399,
-        32767,32767,32767,32767,  365,  366,  475,  488,32767,  489,
-        32767,  397,32767,  329,  330,  332,  309,32767,  311,  355,
-          356,  357,  358,  359,  360,  361,  363,32767,  402,32767,
-          405,32767,32767,32767,   84,  108,  247,32767,  537,   84,
-          400,32767,32767,  294,  537,32767,32767,32767,32767,  532,
-        32767,32767,  288,32767,32767,32767,   84,32767,   84,  243,
-        32767,  163,32767,  522,32767,  497,32767,  401,32767,  328,
-        32767,32767,32767,32767,32767,32767,32767,32767,32767,  498,
-        32767,32767,32767,32767,  219,32767,  435,32767,   84,32767,
-          179,32767,32767,  292,  238,32767,32767,  531,32767,32767,
-        32767,32767,32767,32767,32767,32767,32767,  164,32767,32767,
-          181,32767,32767,  497,32767,32767,32767,32767,32767,32767,
-        32767,32767,  283,32767,32767,32767,32767,32767,  497,32767,
-        32767,32767,  223,32767,32767,32767,32767,32767,32767,32767,
-        32767,32767,32767,   82,   60,32767,  265,32767,32767,32767,
-        32767,32767,32767,32767,32767,32767,32767,32767,  121,  121,
-            3,  121,  121,    3,  121,  121,  121,  121,  121,  121,
+          121,  121,    3,  121,  121,    3,  121,  121,  121,  121,
           121,  121,  121,  121,  121,  121,  121,  206,  250,  209,
-          198,  198,  158,  250,  250,  250,  257
+          198,  198,  158,  250,  250,  250,  121,  121,  257
     );
 
     protected $goto = array(
-          160,  160,  134,  134,  139,  134,  135,  136,  137,  142,
-          144,  181,  162,  158,  158,  158,  158,  139,  139,  159,
-          159,  159,  159,  159,  159,  159,  159,  159,  159,  159,
-          154,  155,  156,  157,  178,  133,  179,  493,  494,  360,
-          495,  499,  500,  501,  502,  503,  504,  505,  506,  962,
-          138,  140,  141,  143,  165,  170,  180,  196,  245,  248,
-          250,  252,  254,  255,  256,  257,  258,  259,  267,  268,
-          269,  270,  285,  286,  314,  315,  316,  379,  380,  381,
-          549,  182,  183,  184,  185,  186,  187,  188,  189,  190,
-          191,  192,  193,  194,  145,  146,  147,  161,  148,  163,
-          149,  197,  164,  150,  151,  152,  198,  153,  131,  625,
-          567,  754,  567,  567,  567,  567,  567,  567,  567,  567,
-          567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
-          567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
-          567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
-          567,  567,  567,  567,  567, 1100,  753, 1100, 1100, 1100,
-         1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100,
-         1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100,
-         1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100,
-         1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100,
-          523,  784,  497,  497,  497,  497,  497,  497,    6,  508,
-          634,  508,  497,  497,  497,  497,  497,  497,  497,  497,
-          497,  497,  509,  550,  509,  580,  606,  522,  885,  885,
-         1190, 1190,  815,  849,  849,  849,  849,  168,  844,  850,
-          522,  522,  171,  172,  173,  388,  389,  390,  391,  167,
-          195,  199,  201,  249,  251,  253,  260,  261,  262,  263,
-          264,  265,  271,  272,  273,  274,  287,  288,  317,  318,
-          319,  394,  395,  396,  397,  169,  174,  246,  247,  175,
-          176,  177,  387,  608,  543,  543,  573,  539,  583,  586,
-          631,  855,  541,  541,  496,  498,  529,  545,  574,  577,
-          587,  593,  341, 1169,  566, 1169,  566,  566,  566,  566,
-          566,  566,  566,  566,  566,  566,  566,  566,  566,  566,
-          566,  566,  566,  566,  566,  566,  566,  566,  566,  566,
-          566,  566,  566,  566,  566,  566,  566,  566,  566,  566,
-          566,  566,  566,  566,  566,  566,  566,  566,  566,  514,
-          443,  445,  933,  636,  327,  309, 1101,  618,  931,  519,
-          519,  519,  519,  777,  551,  552,  553,  554,  555,  556,
-          557,  558,  560,  589,  903,  611,  538,  519,  617,  548,
-          358,  544,  572,  430,  430,  430,  430,  430,  430, 1194,
-          777,  777,  361,  430,  430,  430,  430,  430,  430,  430,
-          430,  430,  430, 1065, 1161, 1065,  892,  892,  892,  892,
-          892, 1168,  598, 1168,  590,  344,  404,  892,  369,  369,
-          369, 1058, 1184, 1184, 1184, 1076, 1075, 1065, 1065, 1065,
-         1065, 1149, 1065, 1065,  519,  519,  536,  568,  519,  519,
-          615,  519,  369,  510,  960,  510, 1167,  386,  770,  770,
-          778,  778,  778,  780,  520,  769,  276,  277,  278,  535,
-          607,  659,  562,  547,  594,  868,  882,  613,  867,  616,
-          878,  620,  621,  628,  630,  635,  637, 1081,  375, 1201,
-         1201, 1187, 1009,  889, 1019,   17,   13,  355,  790,  752,
-         1200, 1200,  898, 1061, 1062,  362,  941, 1058, 1201,  527,
-          871,  561,  851,  540,  657,  347,  511,  880,  875, 1200,
-         1059, 1160, 1059,   21,  398,  373,  773, 1203,  604,  451,
-         1060,  771,  907,  342,  343,  368,  645,  402,  446,   10,
-         1056, 1051,  912,  781,  578, 1146,  859,  459,  949,    0,
-            0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-            0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+          162,  162,  136,  136,  141,  136,  137,  138,  139,  144,
+          146,  183,  164,  160,  160,  160,  160,  141,  141,  161,
+          161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
+          156,  157,  158,  159,  180,  135,  181,  495,  496,  362,
+          497,  501,  502,  503,  504,  505,  506,  507,  508,  964,
+          140,  142,  143,  145,  167,  172,  182,  198,  247,  250,
+          252,  254,  256,  257,  258,  259,  260,  261,  269,  270,
+          271,  272,  287,  288,  316,  317,  318,  381,  382,  383,
+          551,  184,  185,  186,  187,  188,  189,  190,  191,  192,
+          193,  194,  195,  196,  147,  148,  149,  163,  150,  165,
+          151,  199,  166,  152,  153,  154,  200,  155,  133,  627,
+          569,  786,  569,  569,  569,  569,  569,  569,  569,  569,
+          569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
+          569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
+          569,  569,  569,  569,  569,  569,  569,  569,  569,  569,
+          569,  569,  569,  569,  569, 1102,  636, 1102, 1102, 1102,
+         1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102,
+         1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102,
+         1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102,
+         1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102,
+          525,  817,  499,  499,  499,  499,  499,  499, 1171,  510,
+         1171,  510,  499,  499,  499,  499,  499,  499,  499,  499,
+          499,  499,  511,  552,  511,  582,  608,  524,  887,  887,
+         1192, 1192,  755,  851,  851,  851,  851,  170,  846,  852,
+          524,  524,  173,  174,  175,  390,  391,  392,  393,  169,
+          197,  201,  203,  251,  253,  255,  262,  263,  264,  265,
+          266,  267,  273,  274,  275,  276,  289,  290,  319,  320,
+          321,  396,  397,  398,  399,  171,  176,  248,  249,  177,
+          178,  179,  389,  610,  545,  545,  575,  541,    8,  343,
+         1078, 1077,  543,  543,  498,  500,  531,  547,  576,  579,
+          589,  595,  550,  756,  568,  574,  568,  568,  568,  568,
+          568,  568,  568,  568,  568,  568,  568,  568,  568,  568,
+          568,  568,  568,  568,  568,  568,  568,  568,  568,  568,
+          568,  568,  568,  568,  568,  568,  568,  568,  568,  568,
+          568,  568,  568,  568,  568,  568,  568,  568,  568,  516,
+          445,  447,  935,  638,  329,  311, 1103,  620,  933,  521,
+          521,  521,  521,  779,  553,  554,  555,  556,  557,  558,
+          559,  560,  562,  591,  857,  613,  540,  521,  619,  512,
+          360,  512,  905,  432,  432,  432,  432,  432,  432,  546,
+          779,  779, 1196,  432,  432,  432,  432,  432,  432,  432,
+          432,  432,  432, 1067, 1163, 1067,  894,  894,  894,  894,
+          894, 1170,  363, 1170,  585,  588,  633,  894,  371,  371,
+          371, 1060, 1186, 1186, 1186,    3,    4, 1067, 1067, 1067,
+         1067,  600, 1067, 1067,  521,  521,  538,  570,  521,  521,
+          617,  521,  371, 1151,  962,  609, 1169,  388,  772,  772,
+          780,  780,  780,  782,  522,  771, 1189, 1202, 1202,  537,
+          377,  659,  564,  549,  596,  884,  615,  618,  880,  622,
+          623,  630,  632,  637,  639,  900, 1202, 1203, 1203,  364,
+          592,  346,  406,  529, 1205,  754,  891,  542,  278,  279,
+          280, 1011,  349, 1063, 1064,  400, 1203, 1060,  873,  855,
+          853,  855,  657,  453,  513,  882,  877, 1083,  344,  345,
+         1061, 1162, 1061,   12, 1021,   19,   15,  357,  775,  773,
+         1062,  370,  375,  909,  404,  666, 1053,  448, 1058,  783,
+          580,  563,  861,  914, 1148,  461,  951,    0,    0,    0,
+            0,    0,    0,   23,    0,    0,    0,    0,  606,    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,  943,    0,    0,    0,
             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-          528
+          530
     );
 
     protected $gotoCheck = array(
@@ -698,89 +710,89 @@ class Php5 extends \PhpParser\ParserAbstract
            39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
            39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
            39,   39,   39,   39,   39,   39,   39,   39,   39,   53,
-           63,   12,   63,   63,   63,   63,   63,   63,   63,   63,
+           63,   25,   63,   63,   63,   63,   63,   63,   63,   63,
            63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
            63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
            63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
-           63,   63,   63,   63,   63,  119,   11,  119,  119,  119,
+           63,   63,   63,   63,   63,  119,    5,  119,  119,  119,
           119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
           119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
           119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
           119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-           94,   25,  110,  110,  110,  110,  110,  110,   91,   63,
-            5,   63,  110,  110,  110,  110,  110,  110,  110,  110,
+           94,   46,  110,  110,  110,  110,  110,  110,  111,   63,
+          111,   63,  110,  110,  110,  110,  110,  110,  110,  110,
           110,  110,  110,   40,  110,   36,   36,   40,   71,   71,
-           71,   71,   46,   63,   63,   63,   63,   23,   63,   63,
+           71,   71,   11,   63,   63,   63,   63,   23,   63,   63,
            40,   40,   23,   23,   23,   23,   23,   23,   23,   23,
            23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
            23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
            23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
-           23,   23,   47,   47,   47,   47,   47,   47,   56,   56,
-           56,   29,   47,   47,   47,   47,   47,   47,   47,   47,
-           47,   47,   66,  111,   53,  111,   53,   53,   53,   53,
+           23,   23,   47,   47,   47,   47,   47,   47,   91,   66,
+          117,  117,   47,   47,   47,   47,   47,   47,   47,   47,
+           47,   47,    2,   12,   53,    2,   53,   53,   53,   53,
            53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
            53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
            53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
            53,   53,   53,   53,   53,   53,   53,   53,   53,    8,
             7,    7,    7,    7,  118,  118,    7,    7,    7,    8,
             8,    8,    8,   19,  103,  103,  103,  103,  103,  103,
-          103,  103,  103,  103,   78,   57,    8,    8,   57,    2,
-           57,  102,    2,   53,   53,   53,   53,   53,   53,  132,
-           19,   19,   43,   53,   53,   53,   53,   53,   53,   53,
+          103,  103,  103,  103,   29,   57,    8,    8,   57,  115,
+           57,  115,   78,   53,   53,   53,   53,   53,   53,  102,
+           19,   19,  132,   53,   53,   53,   53,   53,   53,   53,
            53,   53,   53,   53,   76,   53,   53,   53,   53,   53,
-           53,  112,  120,  112,   64,   64,   64,   53,  116,  116,
-          116,   76,  112,  112,  112,  117,  117,   53,   53,   53,
-           53,  124,   53,   53,    8,    8,    8,    8,    8,    8,
-           53,    8,  116,  115,   94,  115,  112,  116,   19,   19,
-           19,   19,   19,   19,    8,   19,   61,   61,   61,   28,
-           45,   28,   28,    8,   28,   28,   28,   28,   28,   28,
-           28,   28,   28,   28,   28,   28,   28,   30,   44,  134,
-          134,  130,   95,   73,   30,   30,   30,   30,   10,   10,
-          133,  133,   75,   76,   76,   54,   91,   76,  134,   54,
-           10,   30,   10,   54,   10,   14,   10,   10,   10,  133,
-           76,   76,   76,   30,   18,   13,   21,  133,   30,   54,
-           76,   20,   79,   66,   66,    9,   68,   17,   59,   54,
-          108,  106,   80,   22,   60,  123,   65,  101,   93,   -1,
-           -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-           -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+           53,  112,   43,  112,   56,   56,   56,   53,  116,  116,
+          116,   76,  112,  112,  112,   26,   26,   53,   53,   53,
+           53,  120,   53,   53,    8,    8,    8,    8,    8,    8,
+           53,    8,  116,  124,   94,   45,  112,  116,   19,   19,
+           19,   19,   19,   19,    8,   19,  130,  133,  133,   28,
+           44,   28,   28,    8,   28,   28,   28,   28,   28,   28,
+           28,   28,   28,   28,   28,   75,  133,  134,  134,   54,
+           64,   64,   64,   54,  133,   10,   73,   54,   61,   61,
+           61,   95,   14,   76,   76,   18,  134,   76,   10,   10,
+           10,   10,   10,   54,   10,   10,   10,   30,   66,   66,
+           76,   76,   76,   54,   30,   30,   30,   30,   21,   20,
+           76,    9,   13,   79,   17,   68,  106,   59,  108,   22,
+           60,   30,   65,   80,  123,  101,   93,   -1,   -1,   -1,
+           -1,   -1,   -1,   30,   -1,   -1,   -1,   -1,   30,   -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,   -1,   91,   -1,   -1,   -1,
            -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
            94
     );
 
     protected $gotoBase = array(
-            0,    0, -261,    0,    0,  198,    0,  347,   29,  192,
-          487,  154,  109,  168,  185,    0,    0,  121,  183,   43,
-          173,  184,   93,   37,    0,  193,    0,    0, -180,  273,
-           64,    0,    0,    0,    0,    0,  189,    0,    0,  -22,
-          201,    0,    0,  354,  188,  180,  216,    3,    0,    0,
-            0,    0,    0,  104,   71,    0,  -15,  -81,    0,   92,
-           88, -207,    0,  -90,   90,   89, -137,    0,  169,    0,
-            0,  -51,    0,  177,    0,  179,   67,    0,  351,  166,
-           91,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-            0,  196,    0,   78,  161,  181,    0,    0,    0,    0,
-            0,   80,  356,  322,    0,    0,  115,    0,  111,    0,
-          -77,    4,  112,    0,    0,  144,  108,  114,   33,  -45,
-          209,    0,    0,   83,  227,    0,    0,    0,    0,    0,
-          199,    0,  362,  182,  171,    0,    0
+            0,    0, -340,    0,    0,  142,    0,  345,   27,  186,
+          483,  230,  301,  173,  170,    0,    0,  116,  162,   41,
+          169,  184,   87,   35,    0,  101, -241,    0, -182,  354,
+           92,    0,    0,    0,    0,    0,  187,    0,    0,  -24,
+          199,    0,    0,  372,  168,  163,  183,    1,    0,    0,
+            0,    0,    0,  102,   53,    0,  109,  -83,    0,   89,
+           82, -175,    0,  -92,  154,   83, -152,    0,  166,    0,
+            0,  -53,    0,  178,    0,  160,   65,    0,  357,  165,
+           90,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+            0,  274,    0,   74,  159,  188,    0,    0,    0,    0,
+            0,   76,  362,  320,    0,    0,  108,    0,  107,    0,
+          -79,  -93,  110,    0,    0,   78,  106,  -23,   31,  -47,
+          226,    0,    0,   80,  237,    0,    0,    0,    0,    0,
+          172,    0,  363,  147,  167,    0,    0
     );
 
     protected $gotoDefault = array(
-        -32768,  462,  668,    2,  669,  740,  748,  601,  479,  515,
-          853,  791,  792,  364,  410,  480,  363,  399,  392,  779,
-          772,  774,  782,  166,  400,  785,    1,  787,  521,  823,
-         1010,  351,  795,  352,  592,  797,  531,  799,  800,  132,
-          481,  365,  366,  532,  374,  581,  814,  266,  371,  816,
-          353,  817,  826,  354,  614,  597,  563,  610,  482,  442,
-          575,  275,  542, 1073,  570,  858,  340,  866,  648,  874,
-          877,  483,  564,  888,  448,  896, 1086,  382,  902,  908,
-          913,  916,  418,  401,  588,  920,  921,    5,  925,  626,
-          627,  940,  300,  948,  961,  416, 1029, 1031,  484,  485,
-          525,  456,  507,  530,  486, 1052,  436,  403, 1055,  487,
-          488,  426,  427, 1070,  346, 1154,  345,  444,  308, 1141,
-          584, 1105,  452, 1193, 1150,  337,  489,  490,  359,  376,
-         1188,  431, 1195, 1202,  335,  367,  571
+        -32768,  464,  670,    2,  671,  742,  750,  603,  481,  517,
+          792,  793,  794,  366,  412,  482,  365,  401,  394,  781,
+          774,  776,  784,  168,  402,  787,    1,  789,  523,  825,
+         1012,  353,  797,  354,  594,  799,  533,  801,  802,  134,
+          483,  367,  368,  534,  376,  583,  816,  268,  373,  818,
+          355,  819,  828,  356,  616,  599,  565,  612,  484,  444,
+          577,  277,  544, 1075,  572,  860,  342,  868,  667,  876,
+          879,  485,  566,  890,  450,  898, 1088,  384,  904,  910,
+          915,  918,  420,  403,  590,  922,  923,    7,  927,  628,
+          629,  942,  302,  950,  963,  418, 1031, 1033,  486,  487,
+          527,  458,  509,  532,  488, 1054,  438,  405, 1057,  489,
+          490,  428,  429, 1072,  348, 1156,  347,  446,  310, 1143,
+          586, 1107,  454, 1195, 1152,  339,  491,  492,  361,  378,
+         1190,  433, 1197, 1204,  337,  369,  573
     );
 
     protected $ruleToNonTerminal = array(
@@ -1257,15 +1269,21 @@ class Php5 extends \PhpParser\ParserAbstract
     }
 
     protected function reduceRule89() {
-         $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(3-2)], null, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkNamespace($this->semValue);
+         $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(3-2)], null, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+            $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON);
+            $this->checkNamespace($this->semValue);
     }
 
     protected function reduceRule90() {
-         $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); $this->checkNamespace($this->semValue);
+         $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
+            $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
+            $this->checkNamespace($this->semValue);
     }
 
     protected function reduceRule91() {
-         $this->semValue = new Stmt\Namespace_(null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkNamespace($this->semValue);
+         $this->semValue = new Stmt\Namespace_(null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+            $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
+            $this->checkNamespace($this->semValue);
     }
 
     protected function reduceRule92() {
@@ -1410,7 +1428,14 @@ class Php5 extends \PhpParser\ParserAbstract
     }
 
     protected function reduceRule127() {
-         $this->semValue = $this->semStack[$this->stackPos-(3-2)]; $attrs = $this->startAttributeStack[$this->stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments']) && isset($stmts[0])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); };
+
+        if ($this->semStack[$this->stackPos-(3-2)]) {
+            $this->semValue = $this->semStack[$this->stackPos-(3-2)]; $attrs = $this->startAttributeStack[$this->stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments'])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); };
+        } else {
+            $startAttributes = $this->startAttributeStack[$this->stackPos-(3-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $this->semValue = null; };
+            if (null === $this->semValue) { $this->semValue = array(); }
+        }
+
     }
 
     protected function reduceRule128() {