diff --git a/grammar/php7.y b/grammar/php7.y
index 65cc185e..8add7833 100644
--- a/grammar/php7.y
+++ b/grammar/php7.y
@@ -630,10 +630,10 @@ class_statement_list:
 ;
 
 class_statement:
-      optional_attributes variable_modifiers optional_type_without_static property_declaration_list ';'
+      optional_attributes variable_modifiers optional_type_without_static property_declaration_list semi
           { $$ = new Stmt\Property($2, $4, attributes(), $3, $1);
             $this->checkProperty($$, #2); }
-    | optional_attributes method_modifiers T_CONST class_const_list ';'
+    | optional_attributes method_modifiers T_CONST class_const_list semi
           { $$ = new Stmt\ClassConst($4, $2, attributes(), $1);
             $this->checkClassConst($$, #2); }
     | optional_attributes method_modifiers T_FUNCTION optional_ref identifier_ex '(' parameter_list ')' optional_return_type method_body
diff --git a/lib/PhpParser/Parser/Php7.php b/lib/PhpParser/Parser/Php7.php
index eb74e188..cbfbd34a 100644
--- a/lib/PhpParser/Parser/Php7.php
+++ b/lib/PhpParser/Parser/Php7.php
@@ -18,15 +18,15 @@ use PhpParser\Node\Stmt;
 class Php7 extends \PhpParser\ParserAbstract
 {
     protected $tokenToSymbolMapSize = 392;
-    protected $actionTableSize = 1164;
-    protected $gotoTableSize = 589;
+    protected $actionTableSize = 1162;
+    protected $gotoTableSize = 611;
 
     protected $invalidSymbol = 165;
     protected $errorSymbol = 1;
     protected $defaultAction = -32766;
     protected $unexpectedTokenRule = 32767;
 
-    protected $YY2TBLSTATE = 395;
+    protected $YY2TBLSTATE = 397;
     protected $numNonLeafStates = 694;
 
     protected $symbolToName = array(
@@ -241,42 +241,42 @@ class Php7 extends \PhpParser\ParserAbstract
     );
 
     protected $action = array(
-          130,  131,  132,  553,  133,  134,-32766,  704,  705,  706,
-          135,   36, -543, -552,  453,-32766, -543,-32766,-32766,-32766,
+          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,
-        -32766,-32766,-32766,  459,-32766,-32766,-32766,-32766,-32766,-32766,
-        -32766,-32766,  124, -331,  707, -331,-32766,  386, 1031, 1032,
-         1033, 1030, 1029, 1028,-32766,  433,  428,    2,  261,  136,
-          371,  711,  712,  713,  714,  389,  789,  395, 1031, 1032,
+        -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,
+          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,  554,  746,  747,  748,
+          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,  555,  556,  766,  757,  755,  756,  752,  753, -294,
-         -189,  557,  558,  751,  559,  560,  561,  562,  563,  564,
-         1235,  454,  783, -503,  889,  754,  565,  566,  928,  137,
-        -32766,-32766,-32766,  130,  131,  132,  553,  133,  134,  983,
+          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,
           704,  705,  706,  135,   36,-32766,-32766,-32766,-32766, -552,
-        -32766,-32766,-32766, -552, 1152,  545,  101,  102,  103,  581,
+        -32766,-32766,-32766, -552, 1152,  547,  101,  102,  103,  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,
-          386, 1265,-32766,-32766,-32766,  235,  784,-32766,  778,   19,
+          388, 1265,-32766,-32766,-32766,  235,  784,-32766,  778,   19,
          -503,  261,  136,  371,  711,  712,  713,  714,-32766,-32766,
-          395,  788, -503,-32766, -509,-32766,-32766,  715,  716,  717,
-          718,  719,  720,  721,  722,  723,  724,  725,  745,  554,
+          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,  555,  556,  766,  757,  755,  756,
-          752,  753, -294, -189,  557,  558,  751,  559,  560,  561,
-          562,  563,  564,  309,   81,   82,   83,  139,  754,  565,
-          566,  681,  137,  729,  699,  700,  701,  702,  703, 1239,
+          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,
           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,  575,  263,
-         1216,  126, -188,  107,  142,  438,  439,  707,-32766,-32766,
+           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,
@@ -284,80 +284,80 @@ class Php7 extends \PhpParser\ParserAbstract
           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,  527,  311,  744,  750,  751,  758,  759,  761,
+          752,  753,  529,  311,  744,  750,  751,  758,  759,  761,
           760,  762,  763,  234,-32766,-32766,-32766,  307,  754,  765,
-          764,   48,   49,   50,  484,   51,   52,  479,  395,   18,
+          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,  406,  871,   56,   57,
-          407,  814,  408,  815,   58, -188,   59,  240,  241,   60,
+          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,  410,  485,  409,  672,  967, 1185, 1186,  486, 1150,
-         1216, 1154, 1153, 1155, 1183,   40,   23,  487, 1009,  488,
-          -82,  489,  147,  490,  969,  970,  491,  492,  786,  427,
-          428,   42,   43,  411,  416,  413,  871,   44,  493,  389,
-          494,  495,  248,  344,  320, 1159, 1154, 1153, 1155,  793,
-          896,  496,  497,  498,  148, 1008,  861,  692,  787,  861,
-          967, 1254,  499,  500,  150, 1173, 1174, 1175, 1176, 1170,
-         1171,  281,  622,   24,   26,  -14,  151, 1177, 1172,  969,
+           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,
+          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,
           113,  114,  115,  116,  117,  118,  119,  120,  154, -149,
-         -149, -149,  637,  638,  146,  376, 1159, 1159,  861,  613,
-          614,   32,  243,   35, -149, 1216, -149,  121, -149,  873,
-         -149,  667,  873,  122,  667,  242, 1067, 1069,  499,  500,
-          412, 1173, 1174, 1175, 1176, 1170, 1171, -501,  127, -502,
-         -502,  494,  495, 1177, 1172, -504,  128,  871,  422,  423,
-          847,  896, -107, -107, -502,   71,  440,  441,  306,  311,
-         -107,-32766,  430,  431,  -49,  141, -502, 1152, -508,  155,
+         -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,  386,  -70,  -69,-32766, -504, -504,  -68,
+         -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,  386, 1152,
+          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,
-          277,  677, 1152,  314,-32766,  386,   -4,  871,  263,-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,  623,  645,
-          871,-32766,-32766,-32766, -501, -501,  787,-32766,  386, 1152,
+        -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,  529,-32766,  861,-32766,  660,  871,-32766,  628,  533,
-          683, -501,-32766,-32766,-32766,  138,-32766,  640,-32766,-32766,
-         1023,  311, 1152,   20,-32766,  386,  435,  464,  629,-32766,
-        -32766,-32766,-32766,-32766,  641,-32766,  286,-32766, -506,  861,
-        -32766,  913,  405,  667,  611,-32766,-32766,-32766,-32766,  284,
-         -467,-32766,-32766,  861,   46,  283,  282,-32766,  386,  686,
-          897,  412,  861,  400,  898,-32766,  294,   38,  280, -232,
-         -232, -232,  494,  495, 1007,  412,  873,   26,  667, 1190,
-          786,  806,  896, -107, -107, 1192,  494,  495,  861, 1216,
+        -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,  539,    9, -231, -231, -231,  579, 1180,  887,
-          412,   39,  873,  848,  667,   -4,  289,  290,  689,  690,
-          852,  494,  495,  937,  914, 1261,  873, -506,  667, -232,
+         -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,
-         1003, -537,  500,  123, 1173, 1174, 1175, 1176, 1170, 1171,
-         1004,  909,  291,  292, 1012, 1015, 1177, 1172, 1016, 1013,
-         1014,  873, 1020,  667, -231,   30,  798,  348,   71, 1205,
-         1223,  306,  311, 1257,  616, -535,  304,  346, -107,  125,
-         -107,  668,  671,  675,  676,  285,  678,  679, -107, -107,
-         -107, -107, -107, -107, -107,  680,  684,  670, -471, 1263,
-          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, -308, -257,   70,   74,   75,   76,   77,   78,
-           79,  140,  149,  153,  239,  310,  333,  334,  335,  336,
-          337,  338,  339,  340,  341,  342,  343,  401,  402,    0,
-         -255, -254,   12,   13,   14,   15,   17,  375,  455,  456,
-          463,  466,  467,  468,  469,  473,  474,  475,  482,  654,
-         1163, 1106, 1181,  984, 1142, -259,  -99,   11,   16,   25,
-          279,  374,  572,  576,  603,  659, 1110, 1158, 1107, 1236,
-            0, 1123,    0, 1184
+          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
     );
 
     protected $actionCheck = array(
@@ -463,26 +463,26 @@ class Php7 extends \PhpParser\ParserAbstract
           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,
-          156,  156,  156,  158,  159,  158,  157,  146,  160,  157,
+          159,  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,  158,  162,  159,
+          117,  118,  119,  120,  121,  158,  158,  161,  159,  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,
+           -1,  160,  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,  160,  160,   -1,
+          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,  161,  161,  161,
-           -1,  162,   -1,  163
+          161,  161,  161,  161,  161,  161,  161,   -1,  162,  162,
+           -1,  163
     );
 
     protected $actionBase = array(
             0,   -2,  151,  555,  816,  830,  865,  379,  717,  622,
-          864,  676,  780,  780,  839,  780,  493,  745,  301,  301,
+          862,  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,9 +497,9 @@ 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,  989,  995,  991,  996,  987,  986,  990,  992,
-          997,  917,  918,  753,  919,  920,  921,  922,  993,  877,
-          988,  994,  285,  285,  285,  285,  285,  285,  285,  285,
+          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,
           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,
@@ -509,45 +509,45 @@ class Php7 extends \PhpParser\ParserAbstract
           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, 1000,  139,
+          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,  866,  899,  998,   82,  789,  915,  795,
-          916,  224,  678,  984,  984,  984,  984,  984,  984,  984,
-          984,  984,  984,  984,  269,  985,   63,  269,  269,  269,
-          529,   63,  518,  558,   63,  778,  985,   75,  805,   75,
-           75,   75,   75,  946,   75,   75,   75,   75,   75,   75,
-          951,  727,  723,  692,  -17,   75,   -8,  143,  143,  419,
-           36,  143,  143,  143,  143,  565,  573,  762,  812,  581,
-          817,  344,  762,  762,  762,  509,  121,  201,  122,  352,
-          750,  750,  768,  769,  926,  926,  750,  765,  750,  769,
-          931,  750,  768,  768,  750,  926,  768,  761,  343,  488,
-          452,  470,  768,  768,  492,  926,  370,  768,  768,  750,
-          750,  750,  797,  768,  494,  750,  356,  346,  750,  750,
-          768,  768,  797,  786,   59,  779,  926,  926,  926,  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,  934,  935,  672,  936,  929,  937,
-          957,  938,  939,  883,  794,  798,  944,  930,  940,  928,
-          927,  752,  631,  637,  806,  764,  925,  756,  756,  756,
-          923,  756,  756,  756,  756,  756,  756,  756,  756,  631,
-          811,  813,  776,  781,  947,  652,  660,  796,  814,  896,
-          999,  946,  979,  941,  771,  679,  965,  948,  760,  878,
-          949,  950,  966,  980,  981,  826,  757,  900,  901,  869,
-          952,  884,  756,  934,  939,  930,  940,  928,  927,  716,
-          714,  710,  712,  708,  704,  694,  703,  730,  875,  841,
-          872,  951,  924,  631,  873,  961,  867,  967,  968,  879,
-          790,  772,  876,  902,  953,  954,  955,  885,  982,  886,
-          815,  962,  932,  969,  791,  903,  970,  971,  972,  973,
-          888,  904,  889,  824,  749,  959,  773,  905,  528,  766,
-          775,  958,  560,  945,  897,  906,  907,  974,  975,  976,
-          908,  909,  942,  827,  963,  784,  964,  960,  828,  838,
-          570,  754,  758,  582,  594,  910,  911,  943,  737,  763,
-          840,  842,  983,  912,  614,  843,  683,  913,  978,  844,
-          684,  686,  854,  774,  898,  808,  783,  787,  956,  743,
-          855,  914,  858,  859,  862,  977,  863,    0,    0,    0,
+          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,
+           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,
             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,
@@ -586,10 +586,11 @@ class Php7 extends \PhpParser\ParserAbstract
             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,  926,    0,    0,    0,    0,  750,    0,    0,
-            0,    0,    0,    0,  750,  931,  768,  768,    0,    0,
+          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,  756,  790,    0,  790,    0,  756,  756,  756
+            0,    0,    0,  756,  790,    0,  790,    0,  756,  756,
+          756
     );
 
     protected $actionDefault = array(
@@ -631,34 +632,34 @@ class Php7 extends \PhpParser\ParserAbstract
           185,32767,  250,  252,   99,  516,  190,32767,  475,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
         32767,  468,  190,  190,32767,32767,32767,32767,32767,32767,
-        32767,32767,32767,32767,32767,32767,  456,  396,  135,32767,
-          135,  501,  388,  389,  390,  458,  501,  501,  501,32767,
-        32767,32767,  190,32767,  473,  473,   97,   97,   97,   97,
-          468,32767,  190,  190,32767,32767,  190,  108,   96,   96,
-           96,   96,  190,  190,   96,  100,   98,  190,  190,32767,
-        32767,32767,  205,  190,   96,32767,   98,   98,32767,32767,
-          190,  190,  205,  207,   98,  209,32767,  520,  521,  205,
-           98,  209,  209,  229,  229,  447,  286,   98,   96,   98,
-           98,  190,  286,  286,32767,   98,  447,  286,  447,  286,
-          192,  286,  286,  286,  447,  286,32767,   98,  286,  190,
-           96,   96,  286,32767,32767,32767,  458,32767,32767,32767,
+        32767,32767,32767,32767,32767,32767,32767,32767,  456,  396,
+          135,32767,  135,  501,  388,  389,  390,  458,  501,  501,
+          501,32767,32767,32767,  190,32767,  473,  473,   97,   97,
+           97,   97,  468,32767,  190,  190,32767,32767,  190,  108,
+           96,   96,   96,   96,  190,  190,   96,  100,   98,  190,
+          190,32767,32767,32767,  205,  190,   96,32767,   98,   98,
+        32767,32767,  190,  190,  205,  207,   98,  209,32767,  520,
+          521,  205,   98,  209,  209,  229,  229,  447,  286,   98,
+           96,   98,   98,  190,  286,  286,32767,   98,  447,  286,
+          447,  286,  192,  286,  286,  286,  447,  286,32767,   98,
+          286,  190,   96,   96,  286,32767,32767,32767,  458,32767,
         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
-        32767,32767,32767,  488,32767,  505,  518,  394,  395,  397,
-          503,  419,  420,  421,  422,  423,  424,  425,  427,  550,
-        32767,  462,32767,32767,32767,32767,  304,  560,32767,  560,
-        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
-        32767,32767,32767,32767,32767,  561,32767,  501,32767,32767,
-        32767,32767,  393,    7,   74,   41,   42,   50,   56,  479,
-          480,  481,  482,  476,  477,  483,  478,32767,  484,  526,
-        32767,32767,  502,  553,32767,32767,32767,32767,32767,32767,
-          135,32767,32767,32767,32767,32767,32767,32767,32767,32767,
-        32767,32767,  488,32767,  133,32767,32767,32767,32767,32767,
-        32767,32767,32767,32767,32767,  501,32767,32767,32767,  281,
-          283,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+        32767,32767,32767,32767,32767,  488,32767,  505,  518,  394,
+          395,  397,  503,  419,  420,  421,  422,  423,  424,  425,
+          427,  550,32767,  462,32767,32767,32767,32767,  304,  560,
+        32767,  560,32767,32767,32767,32767,32767,32767,32767,32767,
+        32767,32767,32767,32767,32767,32767,32767,  561,32767,  501,
+        32767,32767,32767,32767,  393,    7,   74,   41,   42,   50,
+           56,  479,  480,  481,  482,  476,  477,  483,  478,32767,
+          484,  526,32767,32767,  502,  553,32767,32767,32767,32767,
+        32767,32767,  135,32767,32767,32767,32767,32767,32767,32767,
+        32767,32767,32767,32767,  488,32767,  133,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,  501,32767,32767,
-        32767,  269,  271,32767,32767,32767,32767,32767,32767,32767,
-        32767,32767,32767,32767,32767,32767,  266,32767,32767,32767,
-          344,32767,32767,32767,32767,32767,  324,32767,32767,32767,
+        32767,  281,  283,32767,32767,32767,32767,32767,32767,32767,
+        32767,32767,32767,32767,32767,32767,32767,32767,32767,  501,
+        32767,32767,32767,  269,  271,32767,32767,32767,32767,32767,
+        32767,32767,32767,32767,32767,32767,32767,32767,  266,32767,
+        32767,  344,32767,32767,32767,32767,  324,32767,32767,32767,
         32767,32767,32767,32767,32767,32767,32767,  148,  148,    3,
             3,  307,  148,  148,  148,  307,  307,  148,  307,  307,
           148,  148,  148,  148,  148,  148,  180,  244,  247,  229,
@@ -666,65 +667,68 @@ class Php7 extends \PhpParser\ParserAbstract
     );
 
     protected $goto = array(
-          190,  190,  655,  781,  663,  397,  627,  964,  971,  972,
-          391,  297,  298,  317,  547,  303,  396,  318,  398,  605,
-          361,  365,  532,  570,  574,  161,  161,  161,  161,  187,
+          190,  190,  655,  781,  663,  399,  629,  964,  971,  972,
+          393,  297,  298,  317,  549,  303,  398,  318,  400,  607,
+          361,  365,  534,  572,  576,  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,  507,  508,  387,  509,  511,
-          512,  513,  514,  515,  516,  517,  518, 1053,  162,  163,
+          185,  186,  206,  204,  207,  509,  510,  389,  511,  513,
+          514,  515,  516,  517,  518,  519,  520, 1053,  162,  163,
           164,  189,  165,  166,  167,  160,  168,  169,  170,  172,
           203,  205,  208,  230,  233,  236,  238,  249,  250,  251,
           252,  253,  254,  255,  256,  257,  258,  259,  266,  267,
-          300,  301,  302,  392,  393,  394,  552,  210,  211,  212,
+          300,  301,  302,  394,  395,  396,  554,  210,  211,  212,
           213,  214,  215,  216,  217,  218,  219,  220,  221,  222,
           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,  328,  274,
-          274,  274,  274, 1132,  890,  785,  986, 1133, 1136,  891,
-         1137,  569, 1147,  592,  592,  804,  531,  524, 1182, 1182,
-         1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1251, 1251,
-          812,  805,  860,  855,  856,  869,  800,  813,  857,  810,
-          858,  859,  811,  803,  785,  864,  785,  865,  863, 1251,
-          936,  910,  910,  908,  910,  687,  363,  524,  590,  624,
-          531,  451,  523,  945,  940,  820,  540,  541,  452, 1148,
-          832,  370,  550,  819,  800, 1027,  390,  571,  580,  795,
-         1026, 1200, 1200,  912,  585,  586, 1200, 1200, 1200, 1200,
+          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,  470,  968,  968,  968,  838,
+         1149, 1208, 1209,  968,  968,  472,  968,  968,  968,  779,
           968,  968,  968, 1232, 1232, 1232, 1232, 1151, 1151, 1151,
-         1151, 1151,    5,   21,    6,  779, 1198, 1198, 1151, 1151,
+         1151, 1151,  785,   21,  785,  546, 1198, 1198, 1151, 1151,
          1151, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
-         1198,  521,  521,  521,  544,  876,  510,  510,  325,  877,
-         1240,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-          510,  933,  425,  906,  906,  906,  906,  385,  385,  385,
-          385,  308,  288,  425,  900,  907,  538, 1227, 1228,  800,
-          688,  604,  606,  600,  602,  625,  359,  537,  643,  647,
-          947,  653,  661,  943,  584,  377,  378,  543,  437,  437,
-          633,  626,  634, 1101,  381,  382,  383,  403,  644,  437,
-          429,  384,  833,  821,  991,  323,  797,  995,  825,  519,
-          519,  519,  519,  319,  525,  535, 1267,  915,  573,  369,
-          525,  955,  535,  329,  330,  362,  822,  526,  432,  578,
-          593,  596,  597,  598,  599,  617,  618,  619,  665, 1250,
-         1250,  905,  992,  442,  551,  443,  417,  417,  417,  830,
-          548,  583, 1258, 1259, 1222, 1222, 1222,  691, 1019,  568,
-         1250,  666, 1211, 1034,  837, 1144,  449,  881, 1041,  651,
-          651,  834,  658, 1017, 1253,  588,  996, 1036,  828,  917,
-            0,  952, 1234, 1234, 1234, 1234,    0,  646,  824,    0,
-          630,  931,  609,  609,  620,  621,  818,  635,  636,  976,
-          973,  974,    0,    0, 1218,  471,    0,  472, 1143,  904,
-          379,  662,    0,  478,  526,    0,  448, 1225, 1226,  417,
-          417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
-            0,  417,    0,    0,    0,    0,    0,  994,    0,    0,
-         1220, 1220,  994,    0,    0,    0,    0,    0,    0,    0,
+         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,
             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,    0,    0,
-            0,    0,    0, 1146,    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,  522,  522,  950,  950
+            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
     );
 
     protected $gotoCheck = array(
@@ -743,90 +747,93 @@ 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,   88,   22,
-           22,   22,   22,   76,   76,   11,  111,   76,   76,   76,
-           76,  114,   19,   99,   99,   25,   74,   74,   99,   99,
-           99,   99,   99,   99,   99,   99,   99,   99,  165,  165,
-           14,   26,   14,   14,   14,   14,   21,   14,   14,   14,
-           14,   14,   14,   24,   11,   63,   11,   63,   14,  165,
-           24,   24,   24,   24,   24,   24,   74,   74,   54,   54,
-           74,   80,   24,   24,   24,   34,   74,   74,   80,   19,
-           34,   74,   74,   34,   21,  128,   12,   74,   12,   19,
-          128,  152,  152,   48,   74,   74,  152,  152,  152,  152,
+           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,   44,
+           19,   19,   19,   71,   71,   74,   71,   71,   71,    5,
            71,   71,   71,    8,    8,    8,    8,   71,   71,   71,
-           71,   71,   45,   74,   45,    5,  153,  153,   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,  154,   71,  155,  155,  161,   71,
-          163,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-          155,   94,   18,   18,   18,   18,   18,   23,   23,   23,
-           23,  151,  151,   18,   18,   18,   47,  160,  160,   21,
-           47,   47,   47,   81,   81,   47,   60,    8,   47,   47,
-           47,   47,   47,   47,    8,   78,   78,   95,  133,  133,
-           78,   62,   78,  135,   78,   78,   78,  103,   78,  133,
-           79,   78,   15,   15,   15,   78,   17,   15,   38,   98,
-           98,   98,   98,   28,    8,    8,   13,   15,   98,   27,
-            8,  101,    8,   88,   88,    8,   36,   13,    8,   77,
-           77,   77,   77,   77,   77,   77,   77,   77,   77,  164,
-          164,   15,  113,    8,    8,    8,   22,   22,   22,    8,
-            2,    2,    8,    8,  114,  114,  114,   90,    7,    7,
-          164,    7,   13,   15,   15,  144,  141,   16,   16,    7,
-            7,   40,    7,    7,  164,   16,  116,  131,    8,   87,
-           -1,   16,  114,  114,  114,  114,   -1,   13,   16,   -1,
-           16,   16,  107,  107,   82,   82,   16,   82,   82,  107,
-          107,  107,   -1,   -1,  114,  139,   -1,  139,   16,   84,
-           84,   84,   -1,  139,   13,   -1,  158,  158,  158,   22,
-           22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-           -1,   22,   -1,   -1,   -1,   -1,   -1,  114,   -1,   -1,
-          114,  114,  114,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+          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,
            -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,   -1,   -1,   -1,
-           -1,   -1,   -1,   13,   -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,   98,   98
+           -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
     );
 
     protected $gotoBase = array(
-            0,    0, -249,    0,    0,  265,   -6,  421,  -16,    0,
-            0, -115,  -83,   77, -167,  -47,    1,   83,   40, -186,
-            0,  -78,  156,  324,  199,  171,  187,   70,  103,    0,
-            0,    0,    0,    0, -121,    0,   75,    0,   71,    0,
-           35,   -1,    0,    0,  250, -409,    0, -332,  226,    0,
-            0,    0,    0,    0,  180,    0,    0,  -23,    0,    0,
-          306,    0,  126,  192, -229,    0,    0,    0,    0,    0,
-            0,   -5,    0,    0, -196,    0, -214,   65, -107,   96,
-         -221, -108, -211,    0,  195,    0,    0,   41, -296,    0,
-           51,    0,    0,    0,  290,  316,    0,    0,  353,  -61,
-            0,   46,    0,   98,    0, -264,    0,  194,    0,    0,
-            0,  164,    0,   63,  163,    0,   39,    0,    0,    0,
-            0,    0,    0,    0,    0,    0,    0,    0,  -30,    0,
-            0,   38,    0,  328,    0,  100,    0,    0,    0,    9,
-            0,   31,    0,    0,   33,    0,    0,    0,    0,    0,
-            0,   26,    7,   52,  277,   72,    0,    0,  196,    0,
-          -10,  280,    0,  281,  122,  -99,    0,    0
+            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
     );
 
     protected $gotoDefault = array(
-        -32768,  483,  695,    4,  696,  769,  777,  567,  501,  664,
-          324,  594,  388,  331,  862, 1040,  549,  796, 1160, 1168,
-          426,  799,  312,  326,  844,  845,  846,  366,  351,  357,
-          364,  615,  595,  465,  831,  420,  823,  457,  826,  419,
-          835,  158,  652,  481,  839,    3,  841,  528,  872,  352,
-          849,  353,  639,  851,  534,  853,  854,  360,  367,  368,
-         1045,  542,  591,  866,  237,  536,  867,  350,  868,  875,
-          355,  358,  648,  436,  476,  380, 1021,  577,  612,  414,
-          445,  589,  601,  587,  902,  458,  434,  916,  327,  924,
-          693, 1052,  607,  460,  932,  608,  939,  942,  502,  503,
-          450,  954,  268,  461,  981,  631,  632,  966,  610,  979,
-          444,  985,  421,  993, 1204,  424,  997,  260, 1000,  269,
-          649,  399, 1005, 1006,    7, 1011,  656,  657,   10,  265,
-          480, 1035,  650,  418, 1051,  404, 1120, 1122,  530,  462,
-         1140, 1139,  642,  477, 1145, 1207,  415,  504,  446,  299,
-          505,  287,  315,  296,  520,  278,  316,  506,  447, 1213,
-         1221,  313,   29, 1241, 1252,  322,  546,  582
+        -32768,  485,  695,    4,  696,  769,  777,  569,  503,  664,
+          324,  596,  390,  331,  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,
+          849,  353,  641,  851,  536,  853,  854,  360,  367,  368,
+         1045,  544,  593,  866,  237,  538,  867,  350,  868,  875,
+          355,  358,  650,  438,  478,  380, 1021,  579,  614,  416,
+          447,  591,  603,  589,  902,  460,  436,  916,  327,  924,
+          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,
+          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,
+         1221,  313,   29, 1241, 1252,  322,  548,  584
     );
 
     protected $ruleToNonTerminal = array(
diff --git a/test/code/parser/errorHandling/recovery.test b/test/code/parser/errorHandling/recovery.test
index d7ee0403..d7d42562 100644
--- a/test/code/parser/errorHandling/recovery.test
+++ b/test/code/parser/errorHandling/recovery.test
@@ -1401,4 +1401,127 @@ array(
 $a = ["a "thing"];
 -----
 !!php7
-Syntax error, unexpected T_STRING, expecting ',' or ']' or ')' from 2:11 to 2:15
\ No newline at end of file
+Syntax error, unexpected T_STRING, expecting ',' or ']' or ')' from 2:11 to 2:15
+-----
+<?php
+class A {
+    /** @var ?string */
+    private $foo
+
+    public function __construct(string $s) {
+        $this->foo = $s;
+    }
+}
+class B {
+    const X = 1
+}
+-----
+!!php7
+Syntax error, unexpected T_PUBLIC, expecting ';' from 6:5 to 6:10
+Syntax error, unexpected '}', expecting ';' from 12:1 to 12:1
+array(
+    0: Stmt_Class(
+        attrGroups: array(
+        )
+        flags: 0
+        name: Identifier(
+            name: A
+        )
+        extends: null
+        implements: array(
+        )
+        stmts: array(
+            0: Stmt_Property(
+                attrGroups: array(
+                )
+                flags: MODIFIER_PRIVATE (4)
+                type: null
+                props: array(
+                    0: Stmt_PropertyProperty(
+                        name: VarLikeIdentifier(
+                            name: foo
+                        )
+                        default: null
+                    )
+                )
+                comments: array(
+                    0: /** @var ?string */
+                )
+            )
+            1: Stmt_ClassMethod(
+                attrGroups: array(
+                )
+                flags: MODIFIER_PUBLIC (1)
+                byRef: false
+                name: Identifier(
+                    name: __construct
+                )
+                params: array(
+                    0: Param(
+                        attrGroups: array(
+                        )
+                        flags: 0
+                        type: Identifier(
+                            name: string
+                        )
+                        byRef: false
+                        variadic: false
+                        var: Expr_Variable(
+                            name: s
+                        )
+                        default: null
+                    )
+                )
+                returnType: null
+                stmts: array(
+                    0: Stmt_Expression(
+                        expr: Expr_Assign(
+                            var: Expr_PropertyFetch(
+                                var: Expr_Variable(
+                                    name: this
+                                )
+                                name: Identifier(
+                                    name: foo
+                                )
+                            )
+                            expr: Expr_Variable(
+                                name: s
+                            )
+                        )
+                    )
+                )
+                comments: array(
+                    0: /** @var ?string */
+                )
+            )
+        )
+    )
+    1: Stmt_Class(
+        attrGroups: array(
+        )
+        flags: 0
+        name: Identifier(
+            name: B
+        )
+        extends: null
+        implements: array(
+        )
+        stmts: array(
+            0: Stmt_ClassConst(
+                attrGroups: array(
+                )
+                flags: 0
+                consts: array(
+                    0: Const(
+                        name: Identifier(
+                            name: X
+                        )
+                        value: Scalar_LNumber(
+                            value: 1
+                        )
+                    )
+                )
+            )
+        )
+    )
+)
\ No newline at end of file