[VBSCRIPT] Sync with Wine Staging 2.9. CORE-13362
authorAmine Khaldi <amine.khaldi@reactos.org>
Sun, 4 Jun 2017 01:47:08 +0000 (01:47 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Sun, 4 Jun 2017 01:47:08 +0000 (01:47 +0000)
4ecc00f vbscript: Allow colons at the end of first line of loops.
8ab8a92 vbscript: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.

svn path=/trunk/; revision=74853

reactos/dll/win32/vbscript/parser.tab.c
reactos/dll/win32/vbscript/parser.tab.h
reactos/dll/win32/vbscript/parser.y
reactos/dll/win32/vbscript/vbscript.h
reactos/media/doc/README.WINE

index 367c7f3..1396fdc 100644 (file)
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 3.0.2.  */
+/* A Bison parser, made by GNU Bison 3.0.  */
 
 /* Bison implementation for Yacc-like parsers in C
 
@@ -44,7 +44,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "3.0.2"
+#define YYBISON_VERSION "3.0"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -129,11 +129,11 @@ static const WCHAR propertyW[] = {'p','r','o','p','e','r','t','y',0};
 
 #line 136 "parser.tab.c" /* yacc.c:339  */
 
-# ifndef YY_NULLPTR
+# ifndef YY_NULL
 #  if defined __cplusplus && 201103L <= __cplusplus
-#   define YY_NULLPTR nullptr
+#   define YY_NULL nullptr
 #  else
-#   define YY_NULLPTR 0
+#   define YY_NULL 0
 #  endif
 # endif
 
@@ -147,8 +147,8 @@ static const WCHAR propertyW[] = {'p','r','o','p','e','r','t','y',0};
 
 /* In a future release of Bison, this section will be replaced
    by #include "parser.tab.h".  */
-#ifndef YY_PARSER_PARSER_TAB_H_INCLUDED
-# define YY_PARSER_PARSER_TAB_H_INCLUDED
+#ifndef YY_PARSER_E_REACTOS_SYNC_GCC_DLL_WIN32_VBSCRIPT_PARSER_TAB_H_INCLUDED
+# define YY_PARSER_E_REACTOS_SYNC_GCC_DLL_WIN32_VBSCRIPT_PARSER_TAB_H_INCLUDED
 /* Debug traces.  */
 #ifndef YYDEBUG
 # define YYDEBUG 0
@@ -267,7 +267,7 @@ union YYSTYPE
 
 int parser_parse (parser_ctx_t *ctx);
 
-#endif /* !YY_PARSER_PARSER_TAB_H_INCLUDED  */
+#endif /* !YY_PARSER_E_REACTOS_SYNC_GCC_DLL_WIN32_VBSCRIPT_PARSER_TAB_H_INCLUDED  */
 
 /* Copy the second part of user declarations.  */
 
@@ -328,30 +328,11 @@ typedef short int yytype_int16;
 # endif
 #endif
 
-#ifndef YY_ATTRIBUTE
-# if (defined __GNUC__                                               \
-      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
-     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
-#  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
-# else
-#  define YY_ATTRIBUTE(Spec) /* empty */
-# endif
-#endif
-
-#ifndef YY_ATTRIBUTE_PURE
-# define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
-#endif
-
-#ifndef YY_ATTRIBUTE_UNUSED
-# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
-#endif
-
-#if !defined _Noreturn \
-     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
-# if defined _MSC_VER && 1200 <= _MSC_VER
-#  define _Noreturn __declspec (noreturn)
-# else
-#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
+#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later.  */
+# if (! defined __GNUC__ || __GNUC__ < 2 \
+      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
+#  define __attribute__(Spec) /* empty */
 # endif
 #endif
 
@@ -513,7 +494,7 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  5
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   871
+#define YYLAST   909
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  87
@@ -626,7 +607,7 @@ static const char *const yytname[] =
   "NumericLiteralExpression", "IntegerValue", "PrimaryExpression",
   "ClassDeclaration", "ClassBody", "PropertyDecl", "FunctionDecl",
   "Storage_opt", "Storage", "ArgumentsDecl_opt", "ArgumentDeclList",
-  "ArgumentDecl", "Identifier", "StSep", YY_NULLPTR
+  "ArgumentDecl", "Identifier", "StSep", YY_NULL
 };
 #endif
 
@@ -647,10 +628,10 @@ static const yytype_uint16 yytoknum[] =
 };
 # endif
 
-#define YYPACT_NINF -154
+#define YYPACT_NINF -159
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-154)))
+  (!!((Yystate) == (-159)))
 
 #define YYTABLE_NINF -153
 
@@ -661,41 +642,41 @@ static const yytype_uint16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-     -13,   -11,    67,  -154,    78,  -154,   313,  -154,  -154,    98,
-      -5,  -154,    -5,   464,   146,   464,    12,    34,    76,  -154,
-      -5,    98,    96,  -154,  -154,    90,  -154,   566,   464,  -154,
-     159,   101,   182,  -154,   104,  -154,  -154,  -154,    37,  -154,
-    -154,     1,  -154,   100,     4,  -154,   112,   131,  -154,  -154,
-     464,  -154,  -154,  -154,    -5,  -154,  -154,  -154,  -154,  -154,
-     497,     1,    31,   171,   196,   198,   212,  -154,    24,   147,
-     -60,   208,   148,   -31,   143,  -154,   104,  -154,  -154,  -154,
-    -154,  -154,  -154,  -154,    52,   607,  -154,  -154,   464,    -5,
-     158,   464,   228,     1,  -154,    65,  -154,    -3,  -154,   566,
-    -154,   392,   392,   165,  -154,  -154,   130,    19,    -5,    -5,
-      -5,   392,   167,  -154,    -5,  -154,    92,    -5,   528,  -154,
-    -154,  -154,  -154,   464,   354,   464,   464,   464,   464,   497,
-     497,   497,   497,   497,   497,   497,   497,   497,   497,   497,
-     497,   497,   497,   497,   660,   202,  -154,   566,   105,   204,
-     464,    16,   123,   181,   201,   191,  -154,  -154,  -154,   188,
-      22,   464,   392,  -154,     7,     7,  -154,  -154,  -154,  -154,
-     192,   193,  -154,    42,  -154,  -154,   171,   566,    85,   196,
-     198,   212,  -154,   147,   147,   147,   147,   147,   147,   147,
-     -60,   208,   208,   148,   -31,   143,   143,  -154,   236,    13,
-    -154,   607,   464,    29,  -154,  -154,   227,    -5,   242,   270,
-     271,   176,   210,   464,  -154,  -154,  -154,   263,  -154,     2,
-    -154,   274,   275,  -154,    92,  -154,   250,   795,   253,  -154,
-    -154,   464,   245,   109,   464,   425,   258,   286,   239,   123,
-     123,   107,   291,   263,    -5,    -5,   219,   222,   292,   701,
-     701,  -154,   464,   273,  -154,   250,   269,  -154,   263,  -154,
-     742,    14,    21,    21,    30,   260,   123,   302,  -154,  -154,
-     241,   244,   247,   123,   292,   292,  -154,     2,  -154,   277,
-     280,    43,   311,   287,  -154,  -154,   259,   464,   316,   795,
-     566,   464,  -154,  -154,  -154,     7,   246,   248,  -154,  -154,
-    -154,  -154,   301,   307,   321,   701,   308,  -154,   263,   742,
-    -154,   227,  -154,   331,     2,     2,  -154,  -154,   566,  -154,
-    -154,   276,  -154,   701,   262,   265,  -154,  -154,   312,   341,
-     346,   327,   701,   701,  -154,   322,   323,   332,   335,  -154,
-    -154
+      15,     4,    58,  -159,    73,  -159,   320,  -159,  -159,    41,
+      44,  -159,    44,   511,   140,   511,    10,    19,    96,  -159,
+      44,    41,    84,  -159,  -159,    42,  -159,   604,   511,  -159,
+     128,    78,   401,  -159,    82,  -159,  -159,  -159,     8,  -159,
+    -159,     6,  -159,    83,     7,  -159,    94,   108,  -159,  -159,
+     511,  -159,  -159,  -159,    44,  -159,  -159,  -159,  -159,  -159,
+     545,     6,    22,   180,   184,   187,   189,  -159,    34,   119,
+     -12,   183,   120,    39,   118,  -159,    82,  -159,  -159,  -159,
+    -159,  -159,  -159,  -159,    31,  -159,  -159,  -159,  -159,   511,
+     645,    44,   133,   511,   202,     6,  -159,    70,  -159,    11,
+    -159,   604,  -159,   431,   431,   145,  -159,  -159,   -33,    12,
+      44,    44,    44,   431,   146,  -159,    44,  -159,   -13,    44,
+     182,  -159,  -159,  -159,  -159,   511,   361,   511,   511,   511,
+     511,   545,   545,   545,   545,   545,   545,   545,   545,   545,
+     545,   545,   545,   545,   545,   545,   698,    31,   185,  -159,
+     604,   176,   511,    31,    90,   153,   164,   154,  -159,  -159,
+    -159,   151,    -3,   511,   431,  -159,    16,    16,  -159,  -159,
+    -159,  -159,   161,   155,  -159,    97,  -159,  -159,   180,   604,
+      87,   184,   187,   189,  -159,   119,   119,   119,   119,   119,
+     119,   119,   -12,   183,   183,   120,    39,   118,   118,  -159,
+     196,   645,    81,  -159,   511,    24,   197,    44,   210,   243,
+     244,   162,   198,   511,  -159,  -159,  -159,   239,  -159,    33,
+    -159,   259,   261,  -159,   -13,  -159,   236,   833,   240,  -159,
+    -159,   230,   511,    31,   511,   481,   238,   266,   217,    90,
+      90,    21,   268,   239,    44,    44,   199,   200,   267,   739,
+     739,  -159,   511,   245,  -159,   236,   249,  -159,  -159,   239,
+     780,    18,    20,    20,    14,   237,    90,   278,  -159,  -159,
+     221,   223,   224,    90,   267,   267,  -159,    33,  -159,   260,
+     262,    98,   291,   269,  -159,  -159,   235,   511,    20,   833,
+     604,   511,  -159,  -159,  -159,    16,   222,   226,  -159,  -159,
+    -159,  -159,   282,   283,   303,   739,   280,  -159,   239,   780,
+    -159,   197,  -159,   305,    33,    33,  -159,  -159,   604,  -159,
+    -159,   248,  -159,   739,   234,   247,  -159,  -159,   284,   309,
+     312,   296,   739,   739,  -159,   290,   294,   298,   306,  -159,
+    -159
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -711,24 +692,24 @@ static const yytype_uint8 yydefact[] =
        0,   131,   129,   130,     0,   127,   134,   132,   135,   133,
        0,    81,     0,    85,    87,    89,    91,    93,    95,    97,
      105,   107,   110,   112,   114,   117,   120,   119,   128,    32,
-      30,    31,    28,    29,     0,   152,    55,    56,     0,     0,
-       0,     0,     0,    81,   154,     0,    14,     0,    12,    17,
-      82,     0,     0,   124,    18,    77,    76,    78,     0,     0,
-       0,     0,    19,    74,     0,    47,     0,     0,     0,    96,
-     121,   122,   124,     0,   152,     0,     0,     0,     0,     0,
+      30,    31,    28,    29,     0,   166,    55,    56,   167,     0,
+     152,     0,     0,     0,     0,    81,   154,     0,    14,     0,
+      12,    17,    82,     0,     0,   124,    18,    77,    76,    78,
+       0,     0,     0,     0,    19,    74,     0,    47,     0,     0,
+       0,    96,   121,   122,   124,     0,   152,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   152,     0,     9,    10,     0,     0,
-       0,     0,   152,   124,     0,     0,   139,    16,    80,     0,
-       0,     0,     0,    42,    81,    81,    44,   138,   136,   137,
-       0,    48,    51,     0,    52,    53,    86,     8,    62,    88,
-      90,    92,    94,    99,   104,   103,   102,    98,   100,   101,
-     106,   109,   108,   111,   113,   115,   116,   118,     0,    26,
-      11,   152,     0,     0,   166,   167,    71,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   152,     0,     0,     9,
+      10,     0,     0,     0,   152,   124,     0,     0,   139,    16,
+      80,     0,     0,     0,     0,    42,    81,    81,    44,   138,
+     136,   137,     0,    48,    51,     0,    52,    53,    86,     8,
+      62,    88,    90,    92,    94,    99,   104,   103,   102,    98,
+     100,   101,   106,   109,   108,   111,   113,   115,   116,   118,
+       0,   152,    26,    11,     0,     0,    71,     0,     0,     0,
        0,     0,   153,     0,    35,    36,    75,    20,    79,     0,
      157,     0,     0,    46,     0,    54,    64,   152,     0,    60,
       23,     0,     0,     0,     0,     0,     0,     0,     0,   152,
      152,     0,     0,    33,     0,     0,     0,   159,    81,   152,
-     152,    49,     0,    69,    65,    66,    62,    63,    25,    24,
+     152,    49,     0,    69,    65,    66,    62,    63,    24,    25,
      152,    57,     0,     0,    83,     0,   152,     0,   146,   143,
        0,     0,     0,   152,    81,    81,   158,     0,   161,     0,
        0,     0,     0,     0,    67,    61,     0,     0,     0,   152,
@@ -743,23 +724,23 @@ static const yytype_uint8 yydefact[] =
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -154,  -154,  -154,  -154,  -113,  -143,   349,   -26,  -154,    -6,
-     251,   153,   137,   249,  -154,  -154,   163,  -154,  -154,   108,
-    -154,   114,  -154,  -154,    61,    -9,  -154,   -23,    -8,    86,
-      57,   257,   261,   266,   256,   -42,  -154,    82,   255,   -30,
-     264,   254,    25,   -54,    -4,   267,   223,  -154,  -154,  -154,
-    -149,  -154,  -138,   -90,   -87,  -153,   118,  -121,    17,   -37
+    -159,  -159,  -159,  -159,    28,  -144,   328,   -26,  -159,    -6,
+     219,   129,   114,   220,  -159,  -159,   141,  -159,  -159,    86,
+    -159,    95,  -159,  -159,    38,     1,  -159,   -25,   -16,    54,
+       5,   227,   228,   229,   233,   -40,  -159,    79,   225,    32,
+     231,   216,    48,   -52,    -4,   246,   192,  -159,  -159,  -159,
+     -79,  -159,  -135,  -114,   -85,  -158,    91,  -137,    17,   -80
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     2,     3,     6,   145,   146,   147,    30,    31,    61,
-      42,    43,   170,    45,    46,   174,    88,   288,    33,   229,
-     253,   254,   255,   283,   236,   103,   104,   159,   113,   263,
-     107,    63,    64,    65,    66,    67,    68,    69,    70,    71,
-      72,    73,    74,    75,    76,    77,    78,   171,    35,    36,
-     208,   209,    37,    38,    39,   221,   246,   247,    40,   206
+      -1,     2,     3,     6,   148,   149,   150,    30,    31,    61,
+      42,    43,   172,    45,    46,   176,    89,   288,    33,   229,
+     253,   254,   255,   283,   236,   105,   106,   161,   115,   263,
+     109,    63,    64,    65,    66,    67,    68,    69,    70,    71,
+      72,    73,    74,    75,    76,    77,    78,   173,    35,    36,
+     208,   209,    37,    38,    39,   221,   246,   247,    40,    90
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -767,186 +748,192 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-      32,    96,    34,    41,   200,    34,   121,   100,   119,   105,
-     115,   123,   222,   100,   210,    93,    85,    34,   137,    11,
-     204,    32,   138,    34,   106,   204,    11,    44,   123,    47,
-     123,   198,   112,   123,    90,     1,   123,    92,     4,   129,
-     130,   131,   132,   123,   123,   123,    86,    86,   244,   245,
-      87,    87,   122,   141,   142,   287,   144,   123,    11,   109,
-     110,    26,   211,   124,   226,   212,   123,     5,    26,   234,
-      62,   120,    84,   157,   156,   304,    89,   111,   158,    32,
-     116,    34,     7,   219,   153,    97,   182,   205,   232,   197,
-     268,   269,   205,    32,   162,    34,   133,   162,   178,   156,
-      26,   210,   210,   134,   135,   291,   149,   191,   192,   201,
-      56,    57,    58,   260,   227,    59,   228,   293,    32,   123,
-      34,    91,    11,   123,   298,   163,   164,   165,   210,   154,
-     155,    44,   270,   271,    47,   210,   279,   280,    32,   218,
-      34,    32,   313,    34,   207,   148,   310,   286,   151,   211,
-     211,    95,   212,   212,  -142,    94,   220,   220,    24,   160,
-     167,   168,   272,    98,    26,   169,   195,   196,    79,    80,
-      81,    32,    99,    34,    28,   114,   211,   311,   108,   212,
-      22,    23,    82,   211,   125,    83,   212,   117,   100,    48,
-      49,    50,   319,   324,   325,    32,   321,    34,   109,   110,
-     241,   256,   -74,   118,   -74,   326,    11,   203,   126,   127,
-     328,   183,   184,   185,   186,   187,   188,   189,   217,   335,
-     336,    32,   128,    34,    44,   289,   290,   139,   136,   143,
-     150,   140,   152,    51,    52,    53,   248,   161,    54,   199,
-     278,  -124,    24,    32,    32,    34,    34,   202,    26,    55,
-      56,    57,    58,   213,    32,    59,    34,   101,   102,   233,
-      60,   274,   275,   214,   215,   216,   299,   300,   224,   223,
-     243,   230,   235,   238,   239,   240,   242,   123,   249,   250,
-     252,   257,   259,    32,    32,    34,    34,   220,   258,   265,
-     266,   261,   264,   267,   248,   273,   276,   277,   100,    32,
-     228,    34,   282,    32,   292,    34,   294,   295,   302,   281,
-     296,   303,    32,   297,    34,   305,     8,    32,   306,    34,
-     309,   307,   314,   316,   315,   318,    32,    32,    34,    34,
-     317,   248,   248,     9,    10,   323,   320,    11,   327,   329,
-      12,    13,   330,   331,   308,   332,    14,    15,   264,    16,
-     333,   334,    17,   337,   338,    29,   339,    18,   177,   340,
-     237,   251,   231,    19,   285,   166,   172,    20,    21,   284,
-      22,    23,   322,    24,     9,    10,    25,   312,    11,    26,
-     176,    12,    13,   181,    27,   175,   179,    14,    15,    28,
-      16,   190,   180,    17,   194,   301,   225,     0,    18,    48,
-      49,    50,     0,   193,    19,     0,     0,     0,     0,    21,
-       0,    22,    23,     0,    24,     0,    11,    25,     0,     0,
-      26,     0,     0,     0,     0,    27,     0,     0,     0,     0,
-      28,     0,    48,    49,    50,     0,     0,     0,     0,     0,
-       0,     0,     0,    51,    52,    53,     0,     0,    54,    11,
-       0,     0,    24,     0,   262,     0,     0,     0,    26,    55,
-      56,    57,    58,     0,     0,    59,     0,   101,    28,     0,
-      60,    48,    49,    50,     0,     0,    51,    52,    53,     0,
-       0,    54,     0,     0,     0,    24,     0,     0,    11,     0,
-       0,    26,    55,    56,    57,    58,     0,     0,    59,     0,
-       0,    28,     0,    60,    48,    49,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    51,    52,    53,     0,     0,
-      54,    11,     0,     0,    24,     0,     0,     0,     0,     0,
-      26,    55,    56,    57,    58,    48,    49,    59,     0,     0,
-      28,     0,    60,     0,     0,     0,     0,     0,    51,    52,
-      53,     0,     0,    54,     0,     0,     0,    24,     0,     0,
-       0,     0,     0,    26,    55,    56,    57,    58,     0,     0,
-      59,     0,     0,    28,     0,    60,     0,     0,     0,    51,
-      52,    53,     0,     0,     0,     0,     9,    10,  -152,  -152,
-      11,     0,     0,    12,    13,    55,    56,    57,    58,    14,
-      15,    59,    16,     0,     0,    17,   173,     0,     0,     0,
-      18,     0,     0,     0,     0,     0,    19,     0,     0,     0,
-       0,    21,     0,    22,    23,     0,    24,     9,    10,    25,
-       0,    11,    26,     0,    12,    13,     0,    27,     0,     0,
-      14,    15,    28,    16,    -8,     0,    17,     0,     0,     0,
-       0,    18,     0,     0,     0,     0,     0,    19,     0,     0,
-       0,     0,    21,     0,    22,    23,     0,    24,     0,     0,
-      25,     0,     0,    26,     0,     0,     0,     0,    27,     0,
-       9,    10,     0,    28,    11,     0,     0,    12,    13,     0,
-       0,     0,     0,    14,    15,    -8,    16,     0,     0,    17,
-       0,     0,     0,     0,    18,     0,     0,     0,     0,     0,
-      19,     0,     0,     0,     0,    21,     0,    22,    23,     0,
+      32,    98,    34,    41,   146,    34,   203,   107,   123,   222,
+     121,   125,   102,   117,    85,    95,   108,    34,    62,   210,
+      84,    32,   102,    34,    85,   125,   125,    44,   125,    47,
+     111,   112,   125,    99,    92,    85,   125,    94,   125,   -74,
+     211,   -74,   114,    11,    86,   125,   270,   271,    87,   131,
+     132,   133,   134,     4,   126,   169,   170,    11,     5,   287,
+     171,    91,   124,     1,   234,    11,   139,   201,    11,   212,
+     140,   122,   164,   206,   158,   159,   272,     7,   160,   244,
+     245,    88,   113,   118,    32,    26,    34,   164,   158,   291,
+     184,    88,   219,   199,   147,    32,   155,    34,   153,    26,
+     180,    24,    88,    97,   210,   210,   135,    26,   151,   162,
+      26,   207,   125,   136,   137,    86,   227,    28,   228,    87,
+      32,  -142,    34,   143,   144,   211,   211,   165,   166,   167,
+     304,   210,   100,    44,   156,   157,    47,   313,   210,   218,
+      32,    93,    34,    96,    32,   310,    34,    22,    23,   101,
+     220,   220,   211,   260,   212,   212,   110,   205,   116,   211,
+     268,   269,    79,    80,    81,    56,    57,    58,   217,   119,
+      59,   193,   194,    32,   200,    34,    82,   324,   325,    83,
+     120,   212,   289,   290,   111,   112,   241,   293,   212,    48,
+      49,   197,   198,   127,   298,    32,   128,    34,   129,   130,
+     138,   256,   141,   142,   145,   152,   154,   226,   309,   233,
+     185,   186,   187,   188,   189,   190,   191,   163,   243,   204,
+    -124,    32,   202,    34,    44,   213,   214,   215,   216,   231,
+     224,   230,   278,    51,    52,    53,   248,   259,   223,   261,
+     264,   238,   235,    32,    32,    34,    34,   239,   240,    55,
+      56,    57,    58,   125,    32,    59,    34,   281,   299,   300,
+     175,   274,   275,   249,   242,   250,   252,   258,   257,   265,
+     266,   267,   273,   102,   282,   277,   276,   279,   280,   220,
+     228,   292,   294,    32,    32,    34,    34,   295,   286,   296,
+     297,   302,   308,   303,   248,   305,   264,   307,   314,    32,
+     306,    34,   315,    32,   316,    34,   317,   318,   320,   323,
+     327,   329,    32,   332,    34,   331,   333,    32,   311,    34,
+     334,   337,   339,     8,   330,   338,    32,    32,    34,    34,
+     340,   248,   248,   319,    29,   168,   237,   321,   251,   174,
+       9,    10,   285,   232,    11,   312,   326,    12,    13,   322,
+     284,   328,   178,    14,    15,   181,    16,   182,   196,    17,
+     335,   336,   183,   192,    18,   179,   177,   225,   301,     0,
+      19,     0,   195,     0,    20,    21,     0,    22,    23,     0,
       24,     9,    10,    25,     0,    11,    26,     0,    12,    13,
-       0,    27,    -8,     0,    14,    15,    28,    16,     0,     0,
-      17,     0,     0,     0,     0,    18,     0,     0,     0,     0,
-       0,    19,     0,     0,     0,     0,    21,     0,    22,    23,
-       0,    24,     9,    10,    25,     0,    11,    26,     0,    12,
-      13,     0,    27,     0,     0,    14,    15,    28,    16,     0,
-       0,    17,     0,     0,     0,     0,    18,     0,     0,     0,
-       0,     0,    19,     0,     0,     0,     0,    21,     0,    22,
-      23,     0,    24,     0,    -8,    25,     0,     0,    26,     0,
-       0,     0,     0,    27,     0,     9,    10,     0,    28,    11,
-       0,     0,    12,    13,     0,     0,     0,     0,    14,    15,
-       0,    16,     0,     0,    17,     0,     0,     0,     0,    18,
+       0,    27,     0,     0,    14,    15,    28,    16,     0,     0,
+      17,     0,     0,     0,     0,    18,     0,   102,    48,    49,
+      50,    19,     0,     0,     0,     0,    21,     0,    22,    23,
+       0,    24,     0,     0,    25,    11,     0,    26,     0,     0,
+       0,     0,    27,     0,     0,     0,     0,    28,    48,    49,
+      50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    51,    52,    53,    11,     0,    54,     0,     0,
+       0,    24,     0,     0,     0,     0,     0,    26,    55,    56,
+      57,    58,     0,     0,    59,     0,   103,   104,     0,    60,
+       0,     0,    51,    52,    53,     0,     0,    54,    48,    49,
+      50,    24,     0,     0,     0,     0,     0,    26,    55,    56,
+      57,    58,     0,     0,    59,    11,   103,    28,     0,    60,
+     262,     0,     0,     0,     0,     0,     0,     0,    48,    49,
+      50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    51,    52,    53,    11,     0,    54,     0,     0,
+       0,    24,     0,     0,     0,     0,     0,    26,    55,    56,
+      57,    58,    48,    49,    59,     0,     0,    28,     0,    60,
+       0,     0,    51,    52,    53,     0,     0,    54,     0,    11,
+       0,    24,     0,     0,     0,     0,     0,    26,    55,    56,
+      57,    58,     0,     0,    59,     0,     0,    28,     0,    60,
+       0,     0,     0,     0,     0,     0,    51,    52,    53,     0,
+       0,    54,     0,     0,     0,    24,     0,     0,     0,     0,
+       0,    26,    55,    56,    57,    58,     0,     0,    59,     0,
+       0,    28,     0,    60,     9,    10,  -152,  -152,    11,     0,
+       0,    12,    13,     0,     0,     0,     0,    14,    15,     0,
+      16,     0,     0,    17,     0,     0,     0,     0,    18,     0,
+       0,     0,     0,     0,    19,     0,     0,     0,     0,    21,
+       0,    22,    23,     0,    24,     9,    10,    25,     0,    11,
+      26,     0,    12,    13,     0,    27,     0,     0,    14,    15,
+      28,    16,    -8,     0,    17,     0,     0,     0,     0,    18,
        0,     0,     0,     0,     0,    19,     0,     0,     0,     0,
       21,     0,    22,    23,     0,    24,     0,     0,    25,     0,
-       0,    26,     0,     0,     0,     0,    27,     0,     0,     0,
-       0,    28
+       0,    26,     0,     0,     0,     0,    27,     0,     9,    10,
+       0,    28,    11,     0,     0,    12,    13,     0,     0,     0,
+       0,    14,    15,    -8,    16,     0,     0,    17,     0,     0,
+       0,     0,    18,     0,     0,     0,     0,     0,    19,     0,
+       0,     0,     0,    21,     0,    22,    23,     0,    24,     9,
+      10,    25,     0,    11,    26,     0,    12,    13,     0,    27,
+      -8,     0,    14,    15,    28,    16,     0,     0,    17,     0,
+       0,     0,     0,    18,     0,     0,     0,     0,     0,    19,
+       0,     0,     0,     0,    21,     0,    22,    23,     0,    24,
+       9,    10,    25,     0,    11,    26,     0,    12,    13,     0,
+      27,     0,     0,    14,    15,    28,    16,     0,     0,    17,
+       0,     0,     0,     0,    18,     0,     0,     0,     0,     0,
+      19,     0,     0,     0,     0,    21,     0,    22,    23,     0,
+      24,     0,    -8,    25,     0,     0,    26,     0,     0,     0,
+       0,    27,     0,     9,    10,     0,    28,    11,     0,     0,
+      12,    13,     0,     0,     0,     0,    14,    15,     0,    16,
+       0,     0,    17,     0,     0,     0,     0,    18,     0,     0,
+       0,     0,     0,    19,     0,     0,     0,     0,    21,     0,
+      22,    23,     0,    24,     0,     0,    25,     0,     0,    26,
+       0,     0,     0,     0,    27,     0,     0,     0,     0,    28
 };
 
 static const yytype_int16 yycheck[] =
 {
-       6,    27,     6,     9,   147,     9,    60,     6,    50,    32,
-       6,    14,   165,     6,   152,    21,     4,    21,    78,    24,
-       4,    27,    82,    27,    32,     4,    24,    10,    14,    12,
-      14,   144,    41,    14,    17,    48,    14,    20,    49,    15,
-      16,    17,    18,    14,    14,    14,    34,    34,    46,    47,
-      38,    38,    61,    84,    85,    41,     4,    14,    24,    22,
-      23,    66,   152,    32,   177,   152,    14,     0,    66,    40,
-      13,    54,    15,    99,    77,    32,    42,    76,   101,    85,
-      76,    85,     4,    76,    93,    28,   128,    71,   201,   143,
-     239,   240,    71,    99,    75,    99,    72,    75,   124,    77,
-      66,   239,   240,    79,    80,    75,    89,   137,   138,     4,
-      68,    69,    70,     4,    29,    73,    31,   266,   124,    14,
-     124,    45,    24,    14,   273,   108,   109,   110,   266,    64,
-      65,   114,    25,    26,   117,   273,   249,   250,   144,   162,
-     144,   147,   295,   147,    21,    88,   289,   260,    91,   239,
-     240,    61,   239,   240,    31,    59,   164,   165,    60,   102,
-      68,    69,    55,     4,    66,    73,   141,   142,    22,    23,
-      24,   177,    71,   177,    76,    75,   266,   290,    74,   266,
-      57,    58,    36,   273,    13,    39,   273,    75,     6,     7,
-       8,     9,   305,   314,   315,   201,   309,   201,    22,    23,
-      24,   227,    72,    72,    74,   318,    24,   150,    12,    11,
-     323,   129,   130,   131,   132,   133,   134,   135,   161,   332,
-     333,   227,    10,   227,   207,   262,   263,    19,    81,    86,
-      72,    83,     4,    51,    52,    53,   219,    72,    56,    37,
-     248,    74,    60,   249,   250,   249,   250,    43,    66,    67,
-      68,    69,    70,    72,   260,    73,   260,    75,    76,   202,
-      78,   244,   245,    62,    73,    77,   274,   275,    75,    77,
-     213,    35,    45,    31,     4,     4,    66,    14,     4,     4,
-      30,    28,    37,   289,   290,   289,   290,   295,   231,    31,
-       4,   234,   235,    54,   277,     4,    77,    75,     6,   305,
-      31,   305,    29,   309,    44,   309,     4,    66,    31,   252,
-      66,    31,   318,    66,   318,     4,     3,   323,    31,   323,
-       4,    62,    76,    22,    76,     4,   332,   333,   332,   333,
-      23,   314,   315,    20,    21,     4,    28,    24,    62,    77,
-      27,    28,    77,    31,   287,     4,    33,    34,   291,    36,
-       4,    24,    39,    31,    31,     6,    24,    44,     4,    24,
-     207,   224,   199,    50,   256,   114,   117,    54,    55,   255,
-      57,    58,   311,    60,    20,    21,    63,   291,    24,    66,
-     123,    27,    28,   127,    71,   118,   125,    33,    34,    76,
-      36,   136,   126,    39,   140,   277,   173,    -1,    44,     7,
-       8,     9,    -1,   139,    50,    -1,    -1,    -1,    -1,    55,
-      -1,    57,    58,    -1,    60,    -1,    24,    63,    -1,    -1,
-      66,    -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,    -1,
-      76,    -1,     7,     8,     9,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    51,    52,    53,    -1,    -1,    56,    24,
-      -1,    -1,    60,    -1,    29,    -1,    -1,    -1,    66,    67,
-      68,    69,    70,    -1,    -1,    73,    -1,    75,    76,    -1,
-      78,     7,     8,     9,    -1,    -1,    51,    52,    53,    -1,
-      -1,    56,    -1,    -1,    -1,    60,    -1,    -1,    24,    -1,
-      -1,    66,    67,    68,    69,    70,    -1,    -1,    73,    -1,
-      -1,    76,    -1,    78,     7,     8,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    51,    52,    53,    -1,    -1,
-      56,    24,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
-      66,    67,    68,    69,    70,     7,     8,    73,    -1,    -1,
-      76,    -1,    78,    -1,    -1,    -1,    -1,    -1,    51,    52,
-      53,    -1,    -1,    56,    -1,    -1,    -1,    60,    -1,    -1,
-      -1,    -1,    -1,    66,    67,    68,    69,    70,    -1,    -1,
-      73,    -1,    -1,    76,    -1,    78,    -1,    -1,    -1,    51,
-      52,    53,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
-      24,    -1,    -1,    27,    28,    67,    68,    69,    70,    33,
-      34,    73,    36,    -1,    -1,    39,    78,    -1,    -1,    -1,
-      44,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,
-      -1,    55,    -1,    57,    58,    -1,    60,    20,    21,    63,
-      -1,    24,    66,    -1,    27,    28,    -1,    71,    -1,    -1,
-      33,    34,    76,    36,    37,    -1,    39,    -1,    -1,    -1,
-      -1,    44,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,
-      -1,    -1,    55,    -1,    57,    58,    -1,    60,    -1,    -1,
-      63,    -1,    -1,    66,    -1,    -1,    -1,    -1,    71,    -1,
-      20,    21,    -1,    76,    24,    -1,    -1,    27,    28,    -1,
-      -1,    -1,    -1,    33,    34,    35,    36,    -1,    -1,    39,
-      -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,
-      50,    -1,    -1,    -1,    -1,    55,    -1,    57,    58,    -1,
+       6,    27,     6,     9,    84,     9,   150,    32,    60,   167,
+      50,    14,     6,     6,     4,    21,    32,    21,    13,   154,
+      15,    27,     6,    27,     4,    14,    14,    10,    14,    12,
+      22,    23,    14,    28,    17,     4,    14,    20,    14,    72,
+     154,    74,    41,    24,    34,    14,    25,    26,    38,    15,
+      16,    17,    18,    49,    32,    68,    69,    24,     0,    41,
+      73,    42,    61,    48,    40,    24,    78,   147,    24,   154,
+      82,    54,    75,   153,    77,   101,    55,     4,   103,    46,
+      47,    71,    76,    76,    90,    66,    90,    75,    77,    75,
+     130,    71,    76,   145,    89,   101,    95,   101,    93,    66,
+     126,    60,    71,    61,   239,   240,    72,    66,    91,   104,
+      66,    21,    14,    79,    80,    34,    29,    76,    31,    38,
+     126,    31,   126,    84,    85,   239,   240,   110,   111,   112,
+      32,   266,     4,   116,    64,    65,   119,   295,   273,   164,
+     146,    45,   146,    59,   150,   289,   150,    57,    58,    71,
+     166,   167,   266,   233,   239,   240,    74,   152,    75,   273,
+     239,   240,    22,    23,    24,    68,    69,    70,   163,    75,
+      73,   139,   140,   179,   146,   179,    36,   314,   315,    39,
+      72,   266,   262,   263,    22,    23,    24,   266,   273,     7,
+       8,   143,   144,    13,   273,   201,    12,   201,    11,    10,
+      81,   227,    19,    83,    86,    72,     4,   179,   288,   204,
+     131,   132,   133,   134,   135,   136,   137,    72,   213,    43,
+      74,   227,    37,   227,   207,    72,    62,    73,    77,   201,
+      75,    35,   248,    51,    52,    53,   219,   232,    77,   234,
+     235,    31,    45,   249,   250,   249,   250,     4,     4,    67,
+      68,    69,    70,    14,   260,    73,   260,   252,   274,   275,
+      78,   244,   245,     4,    66,     4,    30,    37,    28,    31,
+       4,    54,     4,     6,    29,    75,    77,   249,   250,   295,
+      31,    44,     4,   289,   290,   289,   290,    66,   260,    66,
+      66,    31,   287,    31,   277,     4,   291,    62,    76,   305,
+      31,   305,    76,   309,    22,   309,    23,     4,    28,     4,
+      62,    77,   318,     4,   318,    31,     4,   323,   290,   323,
+      24,    31,    24,     3,    77,    31,   332,   333,   332,   333,
+      24,   314,   315,   305,     6,   116,   207,   309,   224,   119,
+      20,    21,   256,   202,    24,   291,   318,    27,    28,   311,
+     255,   323,   125,    33,    34,   127,    36,   128,   142,    39,
+     332,   333,   129,   138,    44,     4,   120,   175,   277,    -1,
+      50,    -1,   141,    -1,    54,    55,    -1,    57,    58,    -1,
       60,    20,    21,    63,    -1,    24,    66,    -1,    27,    28,
-      -1,    71,    31,    -1,    33,    34,    76,    36,    -1,    -1,
-      39,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,
-      -1,    50,    -1,    -1,    -1,    -1,    55,    -1,    57,    58,
-      -1,    60,    20,    21,    63,    -1,    24,    66,    -1,    27,
-      28,    -1,    71,    -1,    -1,    33,    34,    76,    36,    -1,
-      -1,    39,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,
-      -1,    -1,    50,    -1,    -1,    -1,    -1,    55,    -1,    57,
-      58,    -1,    60,    -1,    62,    63,    -1,    -1,    66,    -1,
-      -1,    -1,    -1,    71,    -1,    20,    21,    -1,    76,    24,
-      -1,    -1,    27,    28,    -1,    -1,    -1,    -1,    33,    34,
-      -1,    36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    44,
+      -1,    71,    -1,    -1,    33,    34,    76,    36,    -1,    -1,
+      39,    -1,    -1,    -1,    -1,    44,    -1,     6,     7,     8,
+       9,    50,    -1,    -1,    -1,    -1,    55,    -1,    57,    58,
+      -1,    60,    -1,    -1,    63,    24,    -1,    66,    -1,    -1,
+      -1,    -1,    71,    -1,    -1,    -1,    -1,    76,     7,     8,
+       9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    51,    52,    53,    24,    -1,    56,    -1,    -1,
+      -1,    60,    -1,    -1,    -1,    -1,    -1,    66,    67,    68,
+      69,    70,    -1,    -1,    73,    -1,    75,    76,    -1,    78,
+      -1,    -1,    51,    52,    53,    -1,    -1,    56,     7,     8,
+       9,    60,    -1,    -1,    -1,    -1,    -1,    66,    67,    68,
+      69,    70,    -1,    -1,    73,    24,    75,    76,    -1,    78,
+      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     7,     8,
+       9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    51,    52,    53,    24,    -1,    56,    -1,    -1,
+      -1,    60,    -1,    -1,    -1,    -1,    -1,    66,    67,    68,
+      69,    70,     7,     8,    73,    -1,    -1,    76,    -1,    78,
+      -1,    -1,    51,    52,    53,    -1,    -1,    56,    -1,    24,
+      -1,    60,    -1,    -1,    -1,    -1,    -1,    66,    67,    68,
+      69,    70,    -1,    -1,    73,    -1,    -1,    76,    -1,    78,
+      -1,    -1,    -1,    -1,    -1,    -1,    51,    52,    53,    -1,
+      -1,    56,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
+      -1,    66,    67,    68,    69,    70,    -1,    -1,    73,    -1,
+      -1,    76,    -1,    78,    20,    21,    22,    23,    24,    -1,
+      -1,    27,    28,    -1,    -1,    -1,    -1,    33,    34,    -1,
+      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    44,    -1,
+      -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    55,
+      -1,    57,    58,    -1,    60,    20,    21,    63,    -1,    24,
+      66,    -1,    27,    28,    -1,    71,    -1,    -1,    33,    34,
+      76,    36,    37,    -1,    39,    -1,    -1,    -1,    -1,    44,
       -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,
       55,    -1,    57,    58,    -1,    60,    -1,    -1,    63,    -1,
-      -1,    66,    -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,
-      -1,    76
+      -1,    66,    -1,    -1,    -1,    -1,    71,    -1,    20,    21,
+      -1,    76,    24,    -1,    -1,    27,    28,    -1,    -1,    -1,
+      -1,    33,    34,    35,    36,    -1,    -1,    39,    -1,    -1,
+      -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    50,    -1,
+      -1,    -1,    -1,    55,    -1,    57,    58,    -1,    60,    20,
+      21,    63,    -1,    24,    66,    -1,    27,    28,    -1,    71,
+      31,    -1,    33,    34,    76,    36,    -1,    -1,    39,    -1,
+      -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    50,
+      -1,    -1,    -1,    -1,    55,    -1,    57,    58,    -1,    60,
+      20,    21,    63,    -1,    24,    66,    -1,    27,    28,    -1,
+      71,    -1,    -1,    33,    34,    76,    36,    -1,    -1,    39,
+      -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,
+      50,    -1,    -1,    -1,    -1,    55,    -1,    57,    58,    -1,
+      60,    -1,    62,    63,    -1,    -1,    66,    -1,    -1,    -1,
+      -1,    71,    -1,    20,    21,    -1,    76,    24,    -1,    -1,
+      27,    28,    -1,    -1,    -1,    -1,    33,    34,    -1,    36,
+      -1,    -1,    39,    -1,    -1,    -1,    -1,    44,    -1,    -1,
+      -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    55,    -1,
+      57,    58,    -1,    60,    -1,    -1,    63,    -1,    -1,    66,
+      -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,    -1,    76
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -961,29 +948,29 @@ static const yytype_uint8 yystos[] =
        9,    51,    52,    53,    56,    67,    68,    69,    70,    73,
       78,    96,   117,   118,   119,   120,   121,   122,   123,   124,
      125,   126,   127,   128,   129,   130,   131,   132,   133,    22,
-      23,    24,    36,    39,   117,     4,    34,    38,   103,    42,
-     145,    45,   145,    96,    59,    61,    94,   117,     4,    71,
-       6,    75,    76,   112,   113,   114,   115,   117,    74,    22,
-      23,    76,   112,   115,    75,     6,    76,    75,    72,   122,
-     145,   130,   112,    14,    32,    13,    12,    11,    10,    15,
-      16,    17,    18,    72,    79,    80,    81,    78,    82,    19,
-      83,    84,    85,    86,     4,    91,    92,    93,   117,   145,
-      72,   117,     4,   112,    64,    65,    77,    94,   114,   114,
-     117,    72,    75,   145,   145,   145,    97,    68,    69,    73,
-      99,   134,   100,    78,   102,   132,   118,     4,    94,   119,
-     120,   121,   122,   124,   124,   124,   124,   124,   124,   124,
-     125,   126,   126,   127,   128,   129,   129,   130,    91,    37,
-      92,     4,    43,   117,     4,    71,   146,    21,   137,   138,
+      23,    24,    36,    39,   117,     4,    34,    38,    71,   103,
+     146,    42,   145,    45,   145,    96,    59,    61,    94,   117,
+       4,    71,     6,    75,    76,   112,   113,   114,   115,   117,
+      74,    22,    23,    76,   112,   115,    75,     6,    76,    75,
+      72,   122,   145,   130,   112,    14,    32,    13,    12,    11,
+      10,    15,    16,    17,    18,    72,    79,    80,    81,    78,
+      82,    19,    83,    84,    85,    86,   146,   117,    91,    92,
+      93,   145,    72,   117,     4,   112,    64,    65,    77,    94,
+     114,   114,   117,    72,    75,   145,   145,   145,    97,    68,
+      69,    73,    99,   134,   100,    78,   102,   132,   118,     4,
+      94,   119,   120,   121,   122,   124,   124,   124,   124,   124,
+     124,   124,   125,   126,   126,   127,   128,   129,   129,   130,
+      91,   146,    37,    92,    43,   117,   146,    21,   137,   138,
      139,   140,   141,    72,    62,    73,    77,   117,   114,    76,
      115,   142,   142,    77,    75,   133,    91,    29,    31,   106,
-      35,   103,    91,   117,    40,    45,   111,    98,    31,     4,
+      35,    91,   103,   117,    40,    45,   111,    98,    31,     4,
        4,    24,    66,   117,    46,    47,   143,   144,   145,     4,
-       4,    99,    30,   107,   108,   109,    94,    28,   117,    37,
-       4,   117,    29,   116,   117,    31,     4,    54,   137,   137,
+       4,    99,    30,   107,   108,   109,    94,    28,    37,   117,
+     146,   117,    29,   116,   117,    31,     4,    54,   137,   137,
       25,    26,    55,     4,   145,   145,    77,    75,   115,    91,
       91,   117,    29,   110,   108,   106,    91,    41,   104,   146,
      146,    75,    44,   137,     4,    66,    66,    66,   137,   115,
-     115,   143,    31,    31,    32,     4,    31,    62,   117,     4,
+     115,   143,    31,    31,    32,     4,    31,    62,   117,   146,
       92,    91,   116,   142,    76,    76,    22,    23,     4,    91,
       28,    91,   111,     4,   144,   144,    91,    62,    91,    77,
       77,    31,     4,     4,    24,    91,    91,    31,    31,    24,
@@ -1316,11 +1303,11 @@ static int
 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                 yytype_int16 *yyssp, int yytoken)
 {
-  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
+  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
   YYSIZE_T yysize = yysize0;
   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
   /* Internationalized format string. */
-  const char *yyformat = YY_NULLPTR;
+  const char *yyformat = YY_NULL;
   /* Arguments of yyformat. */
   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
   /* Number of reported tokens (one for the "unexpected", one per
@@ -1377,7 +1364,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                   }
                 yyarg[yycount++] = yytname[yyx];
                 {
-                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
+                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
                   if (! (yysize <= yysize1
                          && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
                     return 2;
@@ -1716,962 +1703,962 @@ yyreduce:
         case 2:
 #line 147 "parser.y" /* yacc.c:1646  */
     { parse_complete(ctx, (yyvsp[-2].boolean)); }
-#line 1725 "parser.tab.c" /* yacc.c:1646  */
+#line 1712 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 3:
 #line 150 "parser.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
-#line 1731 "parser.tab.c" /* yacc.c:1646  */
+#line 1718 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 4:
 #line 151 "parser.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
-#line 1737 "parser.tab.c" /* yacc.c:1646  */
+#line 1724 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 6:
 #line 155 "parser.y" /* yacc.c:1646  */
     { source_add_statement(ctx, (yyvsp[0].statement)); }
-#line 1743 "parser.tab.c" /* yacc.c:1646  */
+#line 1730 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 7:
 #line 156 "parser.y" /* yacc.c:1646  */
     { source_add_class(ctx, (yyvsp[0].class_decl)); }
-#line 1749 "parser.tab.c" /* yacc.c:1646  */
+#line 1736 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 8:
 #line 159 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = NULL; }
-#line 1755 "parser.tab.c" /* yacc.c:1646  */
+#line 1742 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 9:
 #line 160 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = (yyvsp[0].statement); }
-#line 1761 "parser.tab.c" /* yacc.c:1646  */
+#line 1748 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 10:
 #line 163 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = (yyvsp[0].statement); }
-#line 1767 "parser.tab.c" /* yacc.c:1646  */
+#line 1754 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 11:
 #line 164 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = link_statements((yyvsp[-1].statement), (yyvsp[0].statement)); }
-#line 1773 "parser.tab.c" /* yacc.c:1646  */
+#line 1760 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 12:
 #line 167 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = (yyvsp[-1].statement); }
-#line 1779 "parser.tab.c" /* yacc.c:1646  */
+#line 1766 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 13:
 #line 170 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = NULL; }
-#line 1785 "parser.tab.c" /* yacc.c:1646  */
+#line 1772 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 14:
 #line 171 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = (yyvsp[0].statement); }
-#line 1791 "parser.tab.c" /* yacc.c:1646  */
+#line 1778 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 15:
 #line 172 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = (yyvsp[0].statement); }
-#line 1797 "parser.tab.c" /* yacc.c:1646  */
+#line 1784 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 16:
 #line 173 "parser.y" /* yacc.c:1646  */
     { (yyvsp[-2].statement)->next = (yyvsp[0].statement); (yyval.statement) = (yyvsp[-2].statement); }
-#line 1803 "parser.tab.c" /* yacc.c:1646  */
+#line 1790 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 17:
 #line 174 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = (yyvsp[-1].statement); }
-#line 1809 "parser.tab.c" /* yacc.c:1646  */
+#line 1796 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 18:
 #line 177 "parser.y" /* yacc.c:1646  */
     { (yyvsp[-1].member)->args = (yyvsp[0].expression); (yyval.statement) = new_call_statement(ctx, FALSE, (yyvsp[-1].member)); CHECK_ERROR; }
-#line 1815 "parser.tab.c" /* yacc.c:1646  */
+#line 1802 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 19:
 #line 178 "parser.y" /* yacc.c:1646  */
     { (yyvsp[-1].member)->args = (yyvsp[0].expression); (yyval.statement) = new_call_statement(ctx, TRUE, (yyvsp[-1].member)); CHECK_ERROR; }
-#line 1821 "parser.tab.c" /* yacc.c:1646  */
+#line 1808 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 20:
 #line 180 "parser.y" /* yacc.c:1646  */
     { (yyvsp[-3].member)->args = (yyvsp[-2].expression); (yyval.statement) = new_assign_statement(ctx, (yyvsp[-3].member), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 1827 "parser.tab.c" /* yacc.c:1646  */
+#line 1814 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 21:
 #line 181 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_dim_statement(ctx, (yyvsp[0].dim_decl)); CHECK_ERROR; }
-#line 1833 "parser.tab.c" /* yacc.c:1646  */
+#line 1820 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 22:
 #line 182 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = (yyvsp[0].statement); }
-#line 1839 "parser.tab.c" /* yacc.c:1646  */
+#line 1826 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 23:
 #line 184 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_while_statement(ctx, STAT_WHILE, (yyvsp[-3].expression), (yyvsp[-1].statement)); CHECK_ERROR; }
-#line 1845 "parser.tab.c" /* yacc.c:1646  */
+#line 1832 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 24:
 #line 186 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_while_statement(ctx, (yyvsp[-4].boolean) ? STAT_WHILELOOP : STAT_UNTIL, (yyvsp[-3].expression), (yyvsp[-1].statement));
                                               CHECK_ERROR; }
-#line 1852 "parser.tab.c" /* yacc.c:1646  */
+#line 1839 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 25:
 #line 189 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_while_statement(ctx, (yyvsp[-1].boolean) ? STAT_DOWHILE : STAT_DOUNTIL, (yyvsp[0].expression), (yyvsp[-3].statement));
                                               CHECK_ERROR; }
-#line 1859 "parser.tab.c" /* yacc.c:1646  */
+#line 1846 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 26:
 #line 191 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_while_statement(ctx, STAT_DOWHILE, NULL, (yyvsp[-1].statement)); CHECK_ERROR; }
-#line 1865 "parser.tab.c" /* yacc.c:1646  */
+#line 1852 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 27:
 #line 192 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_function_statement(ctx, (yyvsp[0].func_decl)); CHECK_ERROR; }
-#line 1871 "parser.tab.c" /* yacc.c:1646  */
+#line 1858 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 28:
 #line 193 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_statement(ctx, STAT_EXITDO, 0); CHECK_ERROR; }
-#line 1877 "parser.tab.c" /* yacc.c:1646  */
+#line 1864 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 29:
 #line 194 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_statement(ctx, STAT_EXITFOR, 0); CHECK_ERROR; }
-#line 1883 "parser.tab.c" /* yacc.c:1646  */
+#line 1870 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 30:
 #line 195 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_statement(ctx, STAT_EXITFUNC, 0); CHECK_ERROR; }
-#line 1889 "parser.tab.c" /* yacc.c:1646  */
+#line 1876 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 31:
 #line 196 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_statement(ctx, STAT_EXITPROP, 0); CHECK_ERROR; }
-#line 1895 "parser.tab.c" /* yacc.c:1646  */
+#line 1882 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 32:
 #line 197 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_statement(ctx, STAT_EXITSUB, 0); CHECK_ERROR; }
-#line 1901 "parser.tab.c" /* yacc.c:1646  */
+#line 1888 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 33:
 #line 199 "parser.y" /* yacc.c:1646  */
     { (yyvsp[-3].member)->args = (yyvsp[-2].expression); (yyval.statement) = new_set_statement(ctx, (yyvsp[-3].member), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 1907 "parser.tab.c" /* yacc.c:1646  */
+#line 1894 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 34:
 #line 200 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_statement(ctx, STAT_STOP, 0); CHECK_ERROR; }
-#line 1913 "parser.tab.c" /* yacc.c:1646  */
+#line 1900 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 35:
 #line 201 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_onerror_statement(ctx, TRUE); CHECK_ERROR; }
-#line 1919 "parser.tab.c" /* yacc.c:1646  */
+#line 1906 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 36:
 #line 202 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_onerror_statement(ctx, FALSE); CHECK_ERROR; }
-#line 1925 "parser.tab.c" /* yacc.c:1646  */
+#line 1912 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 37:
 #line 203 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_const_statement(ctx, (yyvsp[0].const_decl)); CHECK_ERROR; }
-#line 1931 "parser.tab.c" /* yacc.c:1646  */
+#line 1918 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 38:
 #line 205 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_forto_statement(ctx, (yyvsp[-8].string), (yyvsp[-6].expression), (yyvsp[-4].expression), (yyvsp[-3].expression), (yyvsp[-1].statement)); CHECK_ERROR; }
-#line 1937 "parser.tab.c" /* yacc.c:1646  */
+#line 1924 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 39:
 #line 207 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_foreach_statement(ctx, (yyvsp[-5].string), (yyvsp[-3].expression), (yyvsp[-1].statement)); }
-#line 1943 "parser.tab.c" /* yacc.c:1646  */
+#line 1930 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 40:
 #line 209 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_select_statement(ctx, (yyvsp[-4].expression), (yyvsp[-2].case_clausule)); }
-#line 1949 "parser.tab.c" /* yacc.c:1646  */
+#line 1936 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 41:
 #line 212 "parser.y" /* yacc.c:1646  */
     { (yyval.member) = new_member_expression(ctx, NULL, (yyvsp[0].string)); CHECK_ERROR; }
-#line 1955 "parser.tab.c" /* yacc.c:1646  */
+#line 1942 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 42:
 #line 213 "parser.y" /* yacc.c:1646  */
     { (yyval.member) = new_member_expression(ctx, (yyvsp[-2].expression), (yyvsp[0].string)); CHECK_ERROR; }
-#line 1961 "parser.tab.c" /* yacc.c:1646  */
+#line 1948 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 43:
 #line 216 "parser.y" /* yacc.c:1646  */
     { (yyval.dim_decl) = (yyvsp[0].dim_decl); }
-#line 1967 "parser.tab.c" /* yacc.c:1646  */
+#line 1954 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 44:
 #line 217 "parser.y" /* yacc.c:1646  */
     { (yyvsp[-2].dim_decl)->next = (yyvsp[0].dim_decl); (yyval.dim_decl) = (yyvsp[-2].dim_decl); }
-#line 1973 "parser.tab.c" /* yacc.c:1646  */
+#line 1960 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 45:
 #line 220 "parser.y" /* yacc.c:1646  */
     { (yyval.dim_decl) = new_dim_decl(ctx, (yyvsp[0].string), FALSE, NULL); CHECK_ERROR; }
-#line 1979 "parser.tab.c" /* yacc.c:1646  */
+#line 1966 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 46:
 #line 221 "parser.y" /* yacc.c:1646  */
     { (yyval.dim_decl) = new_dim_decl(ctx, (yyvsp[-3].string), TRUE, (yyvsp[-1].dim_list)); CHECK_ERROR; }
-#line 1985 "parser.tab.c" /* yacc.c:1646  */
+#line 1972 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 47:
 #line 222 "parser.y" /* yacc.c:1646  */
     { (yyval.dim_decl) = new_dim_decl(ctx, (yyvsp[-1].string), TRUE, NULL); CHECK_ERROR; }
-#line 1991 "parser.tab.c" /* yacc.c:1646  */
+#line 1978 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 48:
 #line 225 "parser.y" /* yacc.c:1646  */
     { (yyval.dim_list) = new_dim(ctx, (yyvsp[0].uint), NULL); }
-#line 1997 "parser.tab.c" /* yacc.c:1646  */
+#line 1984 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 49:
 #line 226 "parser.y" /* yacc.c:1646  */
     { (yyval.dim_list) = new_dim(ctx, (yyvsp[-2].uint), (yyvsp[0].dim_list)); }
-#line 2003 "parser.tab.c" /* yacc.c:1646  */
+#line 1990 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 50:
 #line 229 "parser.y" /* yacc.c:1646  */
     { (yyval.const_decl) = (yyvsp[0].const_decl); }
-#line 2009 "parser.tab.c" /* yacc.c:1646  */
+#line 1996 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 51:
 #line 230 "parser.y" /* yacc.c:1646  */
     { (yyvsp[-2].const_decl)->next = (yyvsp[0].const_decl); (yyval.const_decl) = (yyvsp[-2].const_decl); }
-#line 2015 "parser.tab.c" /* yacc.c:1646  */
+#line 2002 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 52:
 #line 233 "parser.y" /* yacc.c:1646  */
     { (yyval.const_decl) = new_const_decl(ctx, (yyvsp[-2].string), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2021 "parser.tab.c" /* yacc.c:1646  */
+#line 2008 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 53:
 #line 236 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2027 "parser.tab.c" /* yacc.c:1646  */
+#line 2014 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 54:
 #line 237 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_unary_expression(ctx, EXPR_NEG, (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2033 "parser.tab.c" /* yacc.c:1646  */
+#line 2020 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 55:
 #line 240 "parser.y" /* yacc.c:1646  */
     { (yyval.boolean) = TRUE; }
-#line 2039 "parser.tab.c" /* yacc.c:1646  */
+#line 2026 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 56:
 #line 241 "parser.y" /* yacc.c:1646  */
     { (yyval.boolean) = FALSE; }
-#line 2045 "parser.tab.c" /* yacc.c:1646  */
+#line 2032 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 57:
 #line 244 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = NULL;}
-#line 2051 "parser.tab.c" /* yacc.c:1646  */
+#line 2038 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 58:
 #line 245 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2057 "parser.tab.c" /* yacc.c:1646  */
+#line 2044 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 59:
 #line 249 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_if_statement(ctx, (yyvsp[-7].expression), (yyvsp[-4].statement), (yyvsp[-3].elseif), (yyvsp[-2].statement)); CHECK_ERROR; }
-#line 2063 "parser.tab.c" /* yacc.c:1646  */
+#line 2050 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 60:
 #line 250 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_if_statement(ctx, (yyvsp[-3].expression), (yyvsp[-1].statement), NULL, NULL); CHECK_ERROR; }
-#line 2069 "parser.tab.c" /* yacc.c:1646  */
+#line 2056 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 61:
 #line 252 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = new_if_statement(ctx, (yyvsp[-5].expression), (yyvsp[-3].statement), NULL, (yyvsp[-1].statement)); CHECK_ERROR; }
-#line 2075 "parser.tab.c" /* yacc.c:1646  */
+#line 2062 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 64:
 #line 259 "parser.y" /* yacc.c:1646  */
     { (yyval.elseif) = NULL; }
-#line 2081 "parser.tab.c" /* yacc.c:1646  */
+#line 2068 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 65:
 #line 260 "parser.y" /* yacc.c:1646  */
     { (yyval.elseif) = (yyvsp[0].elseif); }
-#line 2087 "parser.tab.c" /* yacc.c:1646  */
+#line 2074 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 66:
 #line 263 "parser.y" /* yacc.c:1646  */
     { (yyval.elseif) = (yyvsp[0].elseif); }
-#line 2093 "parser.tab.c" /* yacc.c:1646  */
+#line 2080 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 67:
 #line 264 "parser.y" /* yacc.c:1646  */
     { (yyvsp[-1].elseif)->next = (yyvsp[0].elseif); (yyval.elseif) = (yyvsp[-1].elseif); }
-#line 2099 "parser.tab.c" /* yacc.c:1646  */
+#line 2086 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 68:
 #line 268 "parser.y" /* yacc.c:1646  */
     { (yyval.elseif) = new_elseif_decl(ctx, (yyvsp[-3].expression), (yyvsp[0].statement)); }
-#line 2105 "parser.tab.c" /* yacc.c:1646  */
+#line 2092 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 69:
 #line 271 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = NULL; }
-#line 2111 "parser.tab.c" /* yacc.c:1646  */
+#line 2098 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 70:
 #line 272 "parser.y" /* yacc.c:1646  */
     { (yyval.statement) = (yyvsp[0].statement); }
-#line 2117 "parser.tab.c" /* yacc.c:1646  */
+#line 2104 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 71:
 #line 275 "parser.y" /* yacc.c:1646  */
     { (yyval.case_clausule) = NULL; }
-#line 2123 "parser.tab.c" /* yacc.c:1646  */
+#line 2110 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 72:
 #line 276 "parser.y" /* yacc.c:1646  */
     { (yyval.case_clausule) = new_case_clausule(ctx, NULL, (yyvsp[0].statement), NULL); }
-#line 2129 "parser.tab.c" /* yacc.c:1646  */
+#line 2116 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 73:
 #line 278 "parser.y" /* yacc.c:1646  */
     { (yyval.case_clausule) = new_case_clausule(ctx, (yyvsp[-3].expression), (yyvsp[-1].statement), (yyvsp[0].case_clausule)); }
-#line 2135 "parser.tab.c" /* yacc.c:1646  */
+#line 2122 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 74:
 #line 281 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = NULL; }
-#line 2141 "parser.tab.c" /* yacc.c:1646  */
+#line 2128 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 75:
 #line 282 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[-1].expression); }
-#line 2147 "parser.tab.c" /* yacc.c:1646  */
+#line 2134 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 76:
 #line 285 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = NULL; }
-#line 2153 "parser.tab.c" /* yacc.c:1646  */
+#line 2140 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 77:
 #line 286 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2159 "parser.tab.c" /* yacc.c:1646  */
+#line 2146 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 78:
 #line 289 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2165 "parser.tab.c" /* yacc.c:1646  */
+#line 2152 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 79:
 #line 290 "parser.y" /* yacc.c:1646  */
     { (yyvsp[-2].expression)->next = (yyvsp[0].expression); (yyval.expression) = (yyvsp[-2].expression); }
-#line 2171 "parser.tab.c" /* yacc.c:1646  */
+#line 2158 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 80:
 #line 291 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_expression(ctx, EXPR_NOARG, 0); CHECK_ERROR; (yyval.expression)->next = (yyvsp[0].expression); }
-#line 2177 "parser.tab.c" /* yacc.c:1646  */
+#line 2164 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 83:
 #line 298 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2183 "parser.tab.c" /* yacc.c:1646  */
+#line 2170 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 84:
 #line 299 "parser.y" /* yacc.c:1646  */
     { (yyvsp[-2].expression)->next = (yyvsp[0].expression); (yyval.expression) = (yyvsp[-2].expression); }
-#line 2189 "parser.tab.c" /* yacc.c:1646  */
+#line 2176 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 85:
 #line 302 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2195 "parser.tab.c" /* yacc.c:1646  */
+#line 2182 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 86:
 #line 303 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_IMP, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2201 "parser.tab.c" /* yacc.c:1646  */
+#line 2188 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 87:
 #line 306 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2207 "parser.tab.c" /* yacc.c:1646  */
+#line 2194 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 88:
 #line 307 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_EQV, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2213 "parser.tab.c" /* yacc.c:1646  */
+#line 2200 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 89:
 #line 310 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2219 "parser.tab.c" /* yacc.c:1646  */
+#line 2206 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 90:
 #line 311 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_XOR, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2225 "parser.tab.c" /* yacc.c:1646  */
+#line 2212 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 91:
 #line 314 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2231 "parser.tab.c" /* yacc.c:1646  */
+#line 2218 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 92:
 #line 315 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_OR, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2237 "parser.tab.c" /* yacc.c:1646  */
+#line 2224 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 93:
 #line 318 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2243 "parser.tab.c" /* yacc.c:1646  */
+#line 2230 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 94:
 #line 319 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_AND, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2249 "parser.tab.c" /* yacc.c:1646  */
+#line 2236 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 95:
 #line 322 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2255 "parser.tab.c" /* yacc.c:1646  */
+#line 2242 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 96:
 #line 323 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_unary_expression(ctx, EXPR_NOT, (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2261 "parser.tab.c" /* yacc.c:1646  */
+#line 2248 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 97:
 #line 326 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2267 "parser.tab.c" /* yacc.c:1646  */
+#line 2254 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 98:
 #line 327 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_EQUAL, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2273 "parser.tab.c" /* yacc.c:1646  */
+#line 2260 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 99:
 #line 328 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_NEQUAL, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2279 "parser.tab.c" /* yacc.c:1646  */
+#line 2266 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 100:
 #line 329 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_GT, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2285 "parser.tab.c" /* yacc.c:1646  */
+#line 2272 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 101:
 #line 330 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_LT, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2291 "parser.tab.c" /* yacc.c:1646  */
+#line 2278 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 102:
 #line 331 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_GTEQ, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2297 "parser.tab.c" /* yacc.c:1646  */
+#line 2284 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 103:
 #line 332 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_LTEQ, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2303 "parser.tab.c" /* yacc.c:1646  */
+#line 2290 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 104:
 #line 333 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_IS, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2309 "parser.tab.c" /* yacc.c:1646  */
+#line 2296 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 105:
 #line 336 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2315 "parser.tab.c" /* yacc.c:1646  */
+#line 2302 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 106:
 #line 337 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_CONCAT, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2321 "parser.tab.c" /* yacc.c:1646  */
+#line 2308 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 107:
 #line 340 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2327 "parser.tab.c" /* yacc.c:1646  */
+#line 2314 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 108:
 #line 341 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_ADD, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2333 "parser.tab.c" /* yacc.c:1646  */
+#line 2320 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 109:
 #line 342 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_SUB, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2339 "parser.tab.c" /* yacc.c:1646  */
+#line 2326 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 110:
 #line 345 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2345 "parser.tab.c" /* yacc.c:1646  */
+#line 2332 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 111:
 #line 346 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_MOD, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2351 "parser.tab.c" /* yacc.c:1646  */
+#line 2338 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 112:
 #line 349 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2357 "parser.tab.c" /* yacc.c:1646  */
+#line 2344 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 113:
 #line 351 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_IDIV, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2363 "parser.tab.c" /* yacc.c:1646  */
+#line 2350 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 114:
 #line 354 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2369 "parser.tab.c" /* yacc.c:1646  */
+#line 2356 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 115:
 #line 356 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_MUL, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2375 "parser.tab.c" /* yacc.c:1646  */
+#line 2362 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 116:
 #line 358 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_DIV, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2381 "parser.tab.c" /* yacc.c:1646  */
+#line 2368 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 117:
 #line 361 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2387 "parser.tab.c" /* yacc.c:1646  */
+#line 2374 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 118:
 #line 362 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_binary_expression(ctx, EXPR_EXP, (yyvsp[-2].expression), (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2393 "parser.tab.c" /* yacc.c:1646  */
+#line 2380 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 119:
 #line 365 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2399 "parser.tab.c" /* yacc.c:1646  */
+#line 2386 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 120:
 #line 366 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2405 "parser.tab.c" /* yacc.c:1646  */
+#line 2392 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 121:
 #line 367 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_new_expression(ctx, (yyvsp[0].string)); CHECK_ERROR; }
-#line 2411 "parser.tab.c" /* yacc.c:1646  */
+#line 2398 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 122:
 #line 368 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_unary_expression(ctx, EXPR_NEG, (yyvsp[0].expression)); CHECK_ERROR; }
-#line 2417 "parser.tab.c" /* yacc.c:1646  */
+#line 2404 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 123:
 #line 371 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2423 "parser.tab.c" /* yacc.c:1646  */
+#line 2410 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 124:
 #line 372 "parser.y" /* yacc.c:1646  */
     { (yyvsp[-1].member)->args = (yyvsp[0].expression); (yyval.expression) = &(yyvsp[-1].member)->expr; }
-#line 2429 "parser.tab.c" /* yacc.c:1646  */
+#line 2416 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 125:
 #line 375 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_bool_expression(ctx, VARIANT_TRUE); CHECK_ERROR; }
-#line 2435 "parser.tab.c" /* yacc.c:1646  */
+#line 2422 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 126:
 #line 376 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_bool_expression(ctx, VARIANT_FALSE); CHECK_ERROR; }
-#line 2441 "parser.tab.c" /* yacc.c:1646  */
+#line 2428 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 127:
 #line 377 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_string_expression(ctx, (yyvsp[0].string)); CHECK_ERROR; }
-#line 2447 "parser.tab.c" /* yacc.c:1646  */
+#line 2434 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 128:
 #line 378 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = (yyvsp[0].expression); }
-#line 2453 "parser.tab.c" /* yacc.c:1646  */
+#line 2440 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 129:
 #line 379 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_expression(ctx, EXPR_EMPTY, 0); CHECK_ERROR; }
-#line 2459 "parser.tab.c" /* yacc.c:1646  */
+#line 2446 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 130:
 #line 380 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_expression(ctx, EXPR_NULL, 0); CHECK_ERROR; }
-#line 2465 "parser.tab.c" /* yacc.c:1646  */
+#line 2452 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 131:
 #line 381 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_expression(ctx, EXPR_NOTHING, 0); CHECK_ERROR; }
-#line 2471 "parser.tab.c" /* yacc.c:1646  */
+#line 2458 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 132:
 #line 384 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_long_expression(ctx, EXPR_USHORT, (yyvsp[0].lng)); CHECK_ERROR; }
-#line 2477 "parser.tab.c" /* yacc.c:1646  */
+#line 2464 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 133:
 #line 385 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_long_expression(ctx, EXPR_USHORT, 0); CHECK_ERROR; }
-#line 2483 "parser.tab.c" /* yacc.c:1646  */
+#line 2470 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 134:
 #line 386 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_long_expression(ctx, EXPR_ULONG, (yyvsp[0].lng)); CHECK_ERROR; }
-#line 2489 "parser.tab.c" /* yacc.c:1646  */
+#line 2476 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 135:
 #line 387 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_double_expression(ctx, (yyvsp[0].dbl)); CHECK_ERROR; }
-#line 2495 "parser.tab.c" /* yacc.c:1646  */
+#line 2482 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 136:
 #line 390 "parser.y" /* yacc.c:1646  */
     { (yyval.uint) = (yyvsp[0].lng); }
-#line 2501 "parser.tab.c" /* yacc.c:1646  */
+#line 2488 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 137:
 #line 391 "parser.y" /* yacc.c:1646  */
     { (yyval.uint) = 0; }
-#line 2507 "parser.tab.c" /* yacc.c:1646  */
+#line 2494 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 138:
 #line 392 "parser.y" /* yacc.c:1646  */
     { (yyval.uint) = (yyvsp[0].lng); }
-#line 2513 "parser.tab.c" /* yacc.c:1646  */
+#line 2500 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 139:
 #line 395 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_unary_expression(ctx, EXPR_BRACKETS, (yyvsp[-1].expression)); }
-#line 2519 "parser.tab.c" /* yacc.c:1646  */
+#line 2506 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 140:
 #line 396 "parser.y" /* yacc.c:1646  */
     { (yyval.expression) = new_expression(ctx, EXPR_ME, 0); CHECK_ERROR; }
-#line 2525 "parser.tab.c" /* yacc.c:1646  */
+#line 2512 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 141:
 #line 399 "parser.y" /* yacc.c:1646  */
     { (yyvsp[-3].class_decl)->name = (yyvsp[-5].string); (yyval.class_decl) = (yyvsp[-3].class_decl); }
-#line 2531 "parser.tab.c" /* yacc.c:1646  */
+#line 2518 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 142:
 #line 402 "parser.y" /* yacc.c:1646  */
     { (yyval.class_decl) = new_class_decl(ctx); }
-#line 2537 "parser.tab.c" /* yacc.c:1646  */
+#line 2524 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 143:
 #line 403 "parser.y" /* yacc.c:1646  */
     { (yyval.class_decl) = add_class_function(ctx, (yyvsp[0].class_decl), (yyvsp[-2].func_decl)); CHECK_ERROR; }
-#line 2543 "parser.tab.c" /* yacc.c:1646  */
+#line 2530 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 144:
 #line 405 "parser.y" /* yacc.c:1646  */
     { dim_decl_t *dim_decl = new_dim_decl(ctx, (yyvsp[-2].string), FALSE, NULL); CHECK_ERROR;
                                                   (yyval.class_decl) = add_dim_prop(ctx, (yyvsp[0].class_decl), dim_decl, (yyvsp[-3].uint)); CHECK_ERROR; }
-#line 2550 "parser.tab.c" /* yacc.c:1646  */
+#line 2537 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 145:
 #line 407 "parser.y" /* yacc.c:1646  */
     { (yyval.class_decl) = add_dim_prop(ctx, (yyvsp[0].class_decl), (yyvsp[-2].dim_decl), 0); CHECK_ERROR; }
-#line 2556 "parser.tab.c" /* yacc.c:1646  */
+#line 2543 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 146:
 #line 408 "parser.y" /* yacc.c:1646  */
     { (yyval.class_decl) = add_class_function(ctx, (yyvsp[0].class_decl), (yyvsp[-2].func_decl)); CHECK_ERROR; }
-#line 2562 "parser.tab.c" /* yacc.c:1646  */
+#line 2549 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 147:
 #line 412 "parser.y" /* yacc.c:1646  */
     { (yyval.func_decl) = new_function_decl(ctx, (yyvsp[-5].string), FUNC_PROPGET, (yyvsp[-8].uint), (yyvsp[-4].arg_decl), (yyvsp[-2].statement)); CHECK_ERROR; }
-#line 2568 "parser.tab.c" /* yacc.c:1646  */
+#line 2555 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 148:
 #line 414 "parser.y" /* yacc.c:1646  */
     { (yyval.func_decl) = new_function_decl(ctx, (yyvsp[-7].string), FUNC_PROPLET, (yyvsp[-10].uint), (yyvsp[-5].arg_decl), (yyvsp[-2].statement)); CHECK_ERROR; }
-#line 2574 "parser.tab.c" /* yacc.c:1646  */
+#line 2561 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 149:
 #line 416 "parser.y" /* yacc.c:1646  */
     { (yyval.func_decl) = new_function_decl(ctx, (yyvsp[-7].string), FUNC_PROPSET, (yyvsp[-10].uint), (yyvsp[-5].arg_decl), (yyvsp[-2].statement)); CHECK_ERROR; }
-#line 2580 "parser.tab.c" /* yacc.c:1646  */
+#line 2567 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 150:
 #line 420 "parser.y" /* yacc.c:1646  */
     { (yyval.func_decl) = new_function_decl(ctx, (yyvsp[-5].string), FUNC_SUB, (yyvsp[-7].uint), (yyvsp[-4].arg_decl), (yyvsp[-2].statement)); CHECK_ERROR; }
-#line 2586 "parser.tab.c" /* yacc.c:1646  */
+#line 2573 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 151:
 #line 422 "parser.y" /* yacc.c:1646  */
     { (yyval.func_decl) = new_function_decl(ctx, (yyvsp[-5].string), FUNC_FUNCTION, (yyvsp[-7].uint), (yyvsp[-4].arg_decl), (yyvsp[-2].statement)); CHECK_ERROR; }
-#line 2592 "parser.tab.c" /* yacc.c:1646  */
+#line 2579 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 152:
 #line 425 "parser.y" /* yacc.c:1646  */
     { (yyval.uint) = 0; }
-#line 2598 "parser.tab.c" /* yacc.c:1646  */
+#line 2585 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 153:
 #line 426 "parser.y" /* yacc.c:1646  */
     { (yyval.uint) = (yyvsp[0].uint); }
-#line 2604 "parser.tab.c" /* yacc.c:1646  */
+#line 2591 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 154:
 #line 429 "parser.y" /* yacc.c:1646  */
     { (yyval.uint) = STORAGE_IS_DEFAULT; }
-#line 2610 "parser.tab.c" /* yacc.c:1646  */
+#line 2597 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 155:
 #line 430 "parser.y" /* yacc.c:1646  */
     { (yyval.uint) = 0; }
-#line 2616 "parser.tab.c" /* yacc.c:1646  */
+#line 2603 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 156:
 #line 431 "parser.y" /* yacc.c:1646  */
     { (yyval.uint) = STORAGE_IS_PRIVATE; }
-#line 2622 "parser.tab.c" /* yacc.c:1646  */
+#line 2609 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 157:
 #line 434 "parser.y" /* yacc.c:1646  */
     { (yyval.arg_decl) = NULL; }
-#line 2628 "parser.tab.c" /* yacc.c:1646  */
+#line 2615 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 158:
 #line 435 "parser.y" /* yacc.c:1646  */
     { (yyval.arg_decl) = (yyvsp[-1].arg_decl); }
-#line 2634 "parser.tab.c" /* yacc.c:1646  */
+#line 2621 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 159:
 #line 438 "parser.y" /* yacc.c:1646  */
     { (yyval.arg_decl) = (yyvsp[0].arg_decl); }
-#line 2640 "parser.tab.c" /* yacc.c:1646  */
+#line 2627 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 160:
 #line 439 "parser.y" /* yacc.c:1646  */
     { (yyvsp[-2].arg_decl)->next = (yyvsp[0].arg_decl); (yyval.arg_decl) = (yyvsp[-2].arg_decl); }
-#line 2646 "parser.tab.c" /* yacc.c:1646  */
+#line 2633 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 161:
 #line 442 "parser.y" /* yacc.c:1646  */
     { (yyval.arg_decl) = new_argument_decl(ctx, (yyvsp[-1].string), TRUE); }
-#line 2652 "parser.tab.c" /* yacc.c:1646  */
+#line 2639 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 162:
 #line 443 "parser.y" /* yacc.c:1646  */
     { (yyval.arg_decl) = new_argument_decl(ctx, (yyvsp[-1].string), TRUE); }
-#line 2658 "parser.tab.c" /* yacc.c:1646  */
+#line 2645 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 163:
 #line 444 "parser.y" /* yacc.c:1646  */
     { (yyval.arg_decl) = new_argument_decl(ctx, (yyvsp[-1].string), FALSE); }
-#line 2664 "parser.tab.c" /* yacc.c:1646  */
+#line 2651 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 164:
 #line 448 "parser.y" /* yacc.c:1646  */
     { (yyval.string) = (yyvsp[0].string); }
-#line 2670 "parser.tab.c" /* yacc.c:1646  */
+#line 2657 "parser.tab.c" /* yacc.c:1646  */
     break;
 
   case 165:
 #line 449 "parser.y" /* yacc.c:1646  */
     { (yyval.string) = propertyW; }
-#line 2676 "parser.tab.c" /* yacc.c:1646  */
+#line 2663 "parser.tab.c" /* yacc.c:1646  */
     break;
 
 
-#line 2680 "parser.tab.c" /* yacc.c:1646  */
+#line 2667 "parser.tab.c" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
index 8912eaa..6e55096 100644 (file)
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 3.0.2.  */
+/* A Bison parser, made by GNU Bison 3.0.  */
 
 /* Bison interface for Yacc-like parsers in C
 
@@ -30,8 +30,8 @@
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
 
-#ifndef YY_PARSER_PARSER_TAB_H_INCLUDED
-# define YY_PARSER_PARSER_TAB_H_INCLUDED
+#ifndef YY_PARSER_E_REACTOS_SYNC_GCC_DLL_WIN32_VBSCRIPT_PARSER_TAB_H_INCLUDED
+# define YY_PARSER_E_REACTOS_SYNC_GCC_DLL_WIN32_VBSCRIPT_PARSER_TAB_H_INCLUDED
 /* Debug traces.  */
 #ifndef YYDEBUG
 # define YYDEBUG 0
@@ -150,4 +150,4 @@ union YYSTYPE
 
 int parser_parse (parser_ctx_t *ctx);
 
-#endif /* !YY_PARSER_PARSER_TAB_H_INCLUDED  */
+#endif /* !YY_PARSER_E_REACTOS_SYNC_GCC_DLL_WIN32_VBSCRIPT_PARSER_TAB_H_INCLUDED  */
index 9606592..6b303ee 100644 (file)
@@ -180,15 +180,15 @@ SimpleStatement
                                             { $1->args = $2; $$ = new_assign_statement(ctx, $1, $4); CHECK_ERROR; }
     | tDIM DimDeclList                      { $$ = new_dim_statement(ctx, $2); CHECK_ERROR; }
     | IfStatement                           { $$ = $1; }
-    | tWHILE Expression tNL StatementsNl_opt tWEND
+    | tWHILE Expression StSep StatementsNl_opt tWEND
                                             { $$ = new_while_statement(ctx, STAT_WHILE, $2, $4); CHECK_ERROR; }
-    | tDO DoType Expression tNL StatementsNl_opt tLOOP
+    | tDO DoType Expression StSep StatementsNl_opt tLOOP
                                             { $$ = new_while_statement(ctx, $2 ? STAT_WHILELOOP : STAT_UNTIL, $3, $5);
                                               CHECK_ERROR; }
-    | tDO tNL StatementsNl_opt tLOOP DoType Expression
+    | tDO StSep StatementsNl_opt tLOOP DoType Expression
                                             { $$ = new_while_statement(ctx, $5 ? STAT_DOWHILE : STAT_DOUNTIL, $6, $3);
                                               CHECK_ERROR; }
-    | tDO tNL StatementsNl_opt tLOOP        { $$ = new_while_statement(ctx, STAT_DOWHILE, NULL, $3); CHECK_ERROR; }
+    | tDO StSep StatementsNl_opt tLOOP      { $$ = new_while_statement(ctx, STAT_DOWHILE, NULL, $3); CHECK_ERROR; }
     | FunctionDecl                          { $$ = new_function_statement(ctx, $1); CHECK_ERROR; }
     | tEXIT tDO                             { $$ = new_statement(ctx, STAT_EXITDO, 0); CHECK_ERROR; }
     | tEXIT tFOR                            { $$ = new_statement(ctx, STAT_EXITFOR, 0); CHECK_ERROR; }
@@ -201,9 +201,9 @@ SimpleStatement
     | tON tERROR tRESUME tNEXT              { $$ = new_onerror_statement(ctx, TRUE); CHECK_ERROR; }
     | tON tERROR tGOTO '0'                  { $$ = new_onerror_statement(ctx, FALSE); CHECK_ERROR; }
     | tCONST ConstDeclList                  { $$ = new_const_statement(ctx, $2); CHECK_ERROR; }
-    | tFOR Identifier '=' Expression tTO Expression Step_opt tNL StatementsNl_opt tNEXT
+    | tFOR Identifier '=' Expression tTO Expression Step_opt StSep StatementsNl_opt tNEXT
                                             { $$ = new_forto_statement(ctx, $2, $4, $6, $7, $9); CHECK_ERROR; }
-    | tFOR tEACH Identifier tIN Expression tNL StatementsNl_opt tNEXT
+    | tFOR tEACH Identifier tIN Expression StSep StatementsNl_opt tNEXT
                                             { $$ = new_foreach_statement(ctx, $3, $5, $7); }
     | tSELECT tCASE Expression StSep CaseClausules tEND tSELECT
                                             { $$ = new_select_statement(ctx, $3, $5); }
index 5ce83db..070079e 100644 (file)
@@ -439,19 +439,19 @@ HRESULT map_hres(HRESULT) DECLSPEC_HIDDEN;
 HRESULT WINAPI VBScriptFactory_CreateInstance(IClassFactory*,IUnknown*,REFIID,void**) DECLSPEC_HIDDEN;
 HRESULT WINAPI VBScriptRegExpFactory_CreateInstance(IClassFactory*,IUnknown*,REFIID,void**) DECLSPEC_HIDDEN;
 
-static inline void *heap_alloc(size_t len)
+static inline void* __WINE_ALLOC_SIZE(1) heap_alloc(size_t size)
 {
-    return HeapAlloc(GetProcessHeap(), 0, len);
+    return HeapAlloc(GetProcessHeap(), 0, size);
 }
 
-static inline void *heap_alloc_zero(size_t len)
+static inline void* __WINE_ALLOC_SIZE(1) heap_alloc_zero(size_t size)
 {
-    return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len);
+    return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
 }
 
-static inline void *heap_realloc(void *mem, size_t len)
+static inline void* __WINE_ALLOC_SIZE(2) heap_realloc(void *mem, size_t size)
 {
-    return HeapReAlloc(GetProcessHeap(), 0, mem, len);
+    return HeapReAlloc(GetProcessHeap(), 0, mem, size);
 }
 
 static inline BOOL heap_free(void *mem)
index 4d3a706..6efc95c 100644 (file)
@@ -191,7 +191,7 @@ reactos/dll/win32/url                 # Synced to WineStaging-1.9.11
 reactos/dll/win32/urlmon              # Synced to WineStaging-2.9
 reactos/dll/win32/usp10               # Synced to WineStaging-2.9
 reactos/dll/win32/uxtheme             # Forked
-reactos/dll/win32/vbscript            # Synced to WineStaging-1.9.23
+reactos/dll/win32/vbscript            # Synced to WineStaging-2.9
 reactos/dll/win32/version             # Synced to WineStaging-2.2
 reactos/dll/win32/vssapi              # Synced to WineStaging-1.9.11
 reactos/dll/win32/wbemdisp            # Synced to WineStaging-2.2