[WIDL]
[reactos.git] / reactos / tools / widl / parser.yy.c
index f790424..5340952 100644 (file)
@@ -73,7 +73,6 @@ typedef int flex_int32_t;
 typedef unsigned char flex_uint8_t; 
 typedef unsigned short int flex_uint16_t;
 typedef unsigned int flex_uint32_t;
-#endif /* ! C99 */
 
 /* Limits of integral types. */
 #ifndef INT8_MIN
@@ -104,6 +103,8 @@ typedef unsigned int flex_uint32_t;
 #define UINT32_MAX             (4294967295U)
 #endif
 
+#endif /* ! C99 */
+
 #endif /* ! FLEXINT_H */
 
 #ifdef __cplusplus
@@ -160,7 +161,15 @@ typedef unsigned int flex_uint32_t;
 
 /* Size of default input buffer. */
 #ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
 #define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
 #endif
 
 /* The state buf must be large enough to hold one state per character in the main buffer.
@@ -379,8 +388,8 @@ static void yy_fatal_error (yyconst char msg[]  );
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 36
-#define YY_END_OF_BUFFER 37
+#define YY_NUM_RULES 39
+#define YY_END_OF_BUFFER 40
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -388,24 +397,27 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_accept[148] =
+static yyconst flex_int16_t yy_accept[174] =
     {   0,
-        0,    0,    0,    0,    0,    0,    0,    0,    2,    2,
-        0,    0,   37,   35,   24,   23,   35,    3,   35,    7,
-       35,   35,   19,   19,   35,   35,   35,   22,   22,   22,
-       14,   35,   24,    1,   13,   36,    4,   13,    6,   19,
-       19,   16,   16,   16,   15,    2,    8,   13,   29,   33,
-       27,    0,    0,   19,   19,   19,    0,   25,   31,   28,
-       30,   26,   22,    5,   22,   32,    0,    1,    1,   12,
-       10,    9,   19,    0,   16,   16,    2,   11,   34,   20,
-       19,   19,   18,   22,   19,    0,   16,    0,   18,   18,
-       22,   19,    0,   16,    0,   20,   18,   18,   22,   19,
-
-        0,   16,   22,   19,    0,   16,   22,   19,    0,   16,
-       22,   19,    0,   16,   22,    0,   19,    0,   21,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    3,    3,
+        5,    5,    0,    0,   40,   38,   27,   26,   38,    6,
+       38,   10,   38,   38,   22,   22,   38,   38,   38,   25,
+       25,   25,   17,   38,   27,    2,   16,   39,    7,   16,
+        9,   22,   22,   19,   19,   19,   18,   27,    2,    3,
+        5,    5,   11,   16,   32,   36,   30,    0,    0,   22,
+       22,   22,    0,   28,   34,   31,   33,   29,   25,    8,
+       25,   35,    0,    2,    2,    0,   15,   13,   12,   22,
+        0,   19,   19,    0,    2,    2,    3,    5,    5,   14,
+       37,   23,   22,   22,   21,   25,    0,   22,    0,   19,
+
+        5,    0,   21,   21,   25,    0,   22,    0,   19,    5,
+        0,   23,   21,   21,   25,    0,   22,    0,   19,    5,
+       25,    0,   22,    0,   19,    5,   25,    0,   22,    0,
+       19,    5,   25,    1,   22,    0,   19,    5,   25,    0,
+       22,    4,    0,   24,    0,    4,    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,   17,    0
+        0,   20,    0
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -419,11 +431,11 @@ static yyconst flex_int32_t yy_ec[256] =
        16,   17,    1,    1,   18,   19,   19,   19,   20,   21,
        22,   22,   22,   22,   22,   23,   22,   22,   22,   22,
        22,   24,   25,   22,   26,   22,   22,   27,   28,   22,
-       29,   30,   31,    1,   22,    1,   19,   19,   19,   19,
+       29,   30,   31,    1,   32,    1,   33,   19,   34,   35,
 
-       32,   19,   22,   22,   22,   22,   22,   33,   22,   22,
-       22,   22,   22,   22,   22,   22,   34,   22,   22,   35,
-       22,   22,    1,   36,    1,    1,    1,    1,    1,    1,
+       36,   19,   37,   38,   39,   22,   22,   40,   41,   22,
+       42,   43,   22,   44,   22,   22,   45,   22,   22,   46,
+       22,   22,    1,   47,    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,
@@ -440,182 +452,227 @@ static yyconst flex_int32_t yy_ec[256] =
         1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int32_t yy_meta[37] =
+static yyconst flex_int32_t yy_meta[48] =
     {   0,
         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    3,    3,    1,    1,    1,    3,    3,    3,
         3,    4,    4,    4,    4,    4,    4,    4,    1,    1,
-        1,    3,    4,    4,    4,    1
+        1,    4,    3,    3,    3,    3,    4,    4,    4,    4,
+        4,    4,    4,    4,    4,    4,    1
     } ;
 
-static yyconst flex_int16_t yy_base[184] =
+static yyconst flex_int16_t yy_base[214] =
     {   0,
-        0,   35,   35,   39,   40,   43,   61,   45,  262,  261,
-       46,   47,  263,  481,  481,  481,  246,  481,  254,  481,
-      243,  243,   85,   25,   41,  238,   42,    0,  248,  229,
-      481,  210,   60,  243,  481,  481,  481,   34,  481,  108,
-       26,  131,  154,  239,  481,    0,  481,   60,  481,  481,
-      481,  231,   58,    0,   75,   77,    0,  481,  481,  481,
-      481,  481,    0,  481,  220,  481,   61,  238,  236,  481,
-      481,  481,  174,    0,  196,    0,    0,  481,  481,   93,
-      481,  481,  113,  213,  216,    0,  238,  166,   89,   81,
-      214,  258,    0,  280,   89,  169,  481,  481,  207,  300,
-
-        0,  322,  203,  342,    0,  364,  208,  384,    0,  406,
-      197,  428,  213,  212,  115,    0,  211,  128,  481,    0,
-        0,    0,  210,    0,    0,    0,    0,  209,    0,    0,
-        0,    0,  208,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,  481,  481,  462,  466,  468,
-      472,  476,  215,  210,  209,  208,  202,  201,  200,  199,
-      196,  195,  193,  188,  187,  182,  181,  178,  175,  168,
-      167,  166,  159,  158,  157,  145,  135,  130,  129,  113,
-      102,   88,   75
+        0,   46,   46,   50,   51,   54,   84,   56,  345,  344,
+      129,  130,  131,  132,  346,  639,  639,  639,  325,  639,
+      333,  639,  322,  326,  160,  124,   45,  321,   47,    0,
+      331,  316,  639,  286,   63,  139,  639,  639,  639,   45,
+      639,  194,  117,  228,    0,  326,  639,   64,  324,    0,
+        0,  286,  639,  135,  639,  639,  639,  312,   54,  154,
+      130,  119,    0,  639,  639,  639,  639,  639,    0,  639,
+      296,  639,   71,  146,  147,  272,  639,  639,  639,  252,
+        0,  285,    0,   72,  313,  312,    0,    0,  278,  639,
+      639,  140,  639,  639,  158,  291,  277,  309,    0,  342,
+
+      269,  182,  152,  162,  290,  265,  366,    0,  399,  269,
+       58,  196,  639,  639,  276,  255,  423,    0,  456,  259,
+      270,  258,  480,    0,  513,  255,  266,  281,  537,    0,
+      570,  244,  251,  275,  212,  265,  263,  227,  143,    0,
+      267,    0,  149,  639,    0,    0,    0,    0,  257,    0,
+        0,    0,    0,  256,    0,    0,    0,    0,  249,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,  639,  639,  606,  610,  614,  616,  620,  622,  626,
+      630,  256,  255,  253,  252,  251,  250,  248,  247,  634,
+      242,  241,  240,  234,  233,  230,  228,  221,  219,  216,
+
+      215,  208,  201,  198,  188,  185,  176,  154,  152,  143,
+       80,   79,   76
     } ;
 
-static yyconst flex_int16_t yy_def[184] =
+static yyconst flex_int16_t yy_def[214] =
     {   0,
-      147,    1,  148,  148,  148,  148,    1,    7,  149,  149,
-      148,  148,  147,  147,  147,  147,  147,  147,  147,  147,
-      147,  147,  147,   23,  147,  147,  147,  150,  150,  150,
-      147,  147,  147,  147,  147,  147,  147,  151,  147,  147,
-       40,  147,   42,   43,  147,  152,  147,  151,  147,  147,
-      147,  147,  147,   24,  147,  147,  153,  147,  147,  147,
-      147,  147,  150,  147,  150,  147,  147,  147,  147,  147,
-      147,  147,  147,  154,   43,   43,  152,  147,  147,  147,
-      147,  147,  153,  150,  147,  155,   43,  147,  147,  147,
-      150,  147,  156,   43,  147,  147,  147,  147,  150,  147,
-
-      157,   43,  150,  147,  158,   43,  150,  147,  159,   43,
-      150,  147,  147,   43,  150,  160,  112,  147,  147,  161,
-      162,  163,  147,  164,  165,  166,  167,  147,  168,  169,
-      170,  171,  147,  172,  173,  174,  175,  176,  177,  178,
-      179,  180,  181,  182,  183,  147,    0,  147,  147,  147,
-      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
-      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
-      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
-      147,  147,  147
+      173,    1,  174,  174,  174,  174,  173,    7,  175,  175,
+      176,  176,  174,  174,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  177,
+      177,  177,  173,  173,  173,  173,  173,  173,  173,  178,
+      173,  173,   42,  179,  179,  179,  173,  173,  173,  180,
+      181,  181,  173,  178,  173,  173,  173,  173,  173,  173,
+      173,  173,  182,  173,  173,  173,  173,  173,  177,  173,
+      177,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+      183,  179,  179,  173,  173,  173,  180,  181,  181,  173,
+      173,  173,  173,  173,  182,  177,  173,  173,  184,  179,
+
+      181,  173,  173,  173,  177,  173,  173,  185,  179,  181,
+      173,  173,  173,  173,  177,  173,  173,  186,  179,  181,
+      177,  173,  173,  187,  179,  181,  177,  173,  173,  188,
+      179,  181,  177,  173,  173,  173,  179,  181,  177,  189,
+      173,  190,  173,  173,  191,  190,  192,  193,  173,  194,
+      195,  196,  197,  173,  198,  199,  200,  201,  173,  202,
+      203,  204,  205,  206,  207,  208,  209,  210,  211,  212,
+      213,  173,    0,  173,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+      173,  173,  173
     } ;
 
-static yyconst flex_int16_t yy_nxt[518] =
+static yyconst flex_int16_t yy_nxt[687] =
     {   0,
-       14,   15,   16,   17,   18,   14,   19,   20,   14,   14,
-       21,   22,   23,   24,   25,   26,   27,   28,   28,   28,
-       28,   28,   29,   28,   30,   28,   28,   28,   31,   14,
-       14,   28,   28,   28,   28,   32,   33,   36,   71,   37,
-       34,   36,   36,   37,   39,   36,   33,   39,   36,   36,
-       34,  147,  147,   47,   47,   58,   59,   61,   62,  147,
-      147,   67,   67,   72,   38,   68,   68,   78,   38,   38,
-       80,   80,   38,   40,   41,   48,   48,  146,   42,   42,
-       42,   42,   43,   44,   43,   43,   43,   43,   43,   72,
-      145,   45,   42,   43,   43,   43,   53,   54,   54,   82,
-
-       81,   96,   96,   98,  144,   80,   80,   55,   81,   82,
-       56,   57,   88,   98,   97,  143,  118,   55,   56,   57,
-       73,   73,   97,  119,   88,   74,   74,   74,   74,  118,
-       55,  142,  141,   56,   57,   89,  119,  140,   90,   74,
-       55,   56,   57,   75,   75,   89,   90,  139,   75,   75,
-       75,   75,   76,   76,   76,   76,   76,   76,   76,  138,
-      137,  136,   75,   76,   76,   76,   76,   76,  135,  133,
-      132,   76,   76,   76,   76,   95,   95,  131,   96,   96,
-      130,   96,   96,  128,  127,   76,   85,   85,   88,  126,
-      125,   86,   86,   86,   86,  123,   55,  122,  121,   56,
-
-       88,  120,  113,  109,  105,   86,   55,   56,   87,   87,
-      101,   93,   86,   87,   87,   87,   87,   83,  134,  129,
-      124,  147,  116,  116,  115,  111,  107,   87,   92,   92,
-      103,   99,   91,   93,   93,   93,   93,   69,   55,   69,
-       84,   56,   79,   64,   69,   66,   65,   93,   55,   56,
-       94,   94,   64,   60,   52,   94,   94,   94,   94,   51,
-       50,   49,  147,   36,   36,  147,  147,  147,  147,   94,
-      100,  100,  147,  147,  147,  101,  101,  101,  101,  147,
-       55,  147,  147,   56,  147,  147,  147,  147,  147,  101,
-       55,   56,  102,  102,  147,  147,  147,  102,  102,  102,
-
-      102,  147,  147,  147,  147,  147,  147,  147,  147,  147,
-      147,  102,  104,  104,  147,  147,  147,  105,  105,  105,
-      105,  147,   55,  147,  147,   56,  147,  147,  147,  147,
-      147,  105,   55,   56,  106,  106,  147,  147,  147,  106,
-      106,  106,  106,  147,  147,  147,  147,  147,  147,  147,
-      147,  147,  147,  106,  108,  108,  147,  147,  147,  109,
-      109,  109,  109,  147,   55,  147,  147,   56,  147,  147,
-      147,  147,  147,  109,   55,   56,  110,  110,  147,  147,
-      147,  110,  110,  110,  110,  147,  147,  147,  147,  147,
-      147,  147,  147,  147,  147,  110,  112,  112,  147,  147,
-
-      147,  113,  113,  113,  113,  147,   55,  147,  147,   56,
-      147,  147,  147,  147,  147,  113,   55,   56,  114,  114,
-      147,  147,  147,  114,  114,  114,  114,  147,  147,  147,
-      147,  147,  147,  147,  147,  147,  147,  114,  116,  147,
-      117,  117,  147,  147,  147,  147,  147,  147,  147,  147,
-       55,  147,  147,   56,  147,  147,  147,  147,  147,  147,
-       55,   56,   35,   35,   35,   35,   46,   46,   46,   46,
-       63,   63,   70,  147,   70,   70,   77,  147,   77,   77,
-       13,  147,  147,  147,  147,  147,  147,  147,  147,  147,
-      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
-
-      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
-      147,  147,  147,  147,  147,  147,  147
+       16,   17,   18,   19,   20,   16,   21,   22,   16,   16,
+       23,   24,   25,   26,   27,   28,   29,   30,   30,   30,
+       30,   30,   31,   30,   32,   30,   30,   30,   33,   16,
+       16,   30,   30,   30,   30,   30,   30,   30,   30,   30,
+       30,   30,   30,   30,   30,   30,   34,   35,   38,   78,
+       39,   36,   38,   38,   39,   41,   38,   48,   41,   64,
+       65,   49,   67,   68,   73,   84,   92,   92,   74,   85,
+      112,  112,   73,   84,   79,   40,   74,   85,  172,   40,
+       40,  171,  170,   40,   16,   17,   18,   19,   20,   16,
+       21,   22,   16,   16,   23,   24,   42,   43,   27,   28,
+
+       29,   44,   44,   44,   44,   45,   46,   45,   45,   45,
+       45,   45,   33,   16,   47,   45,   44,   44,   44,   44,
+       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
+       34,   38,   38,   38,   38,   59,   60,   60,   53,   53,
+       75,   94,   90,  173,  143,  169,   61,   75,   75,   62,
+      143,  144,   92,   92,  168,   93,  167,  144,   94,  102,
+       54,   54,  173,   61,   79,   59,   60,   60,   62,   52,
+       52,   59,   60,   60,   93,  102,   61,  113,  166,   62,
+      103,   76,   61,  104,  114,   62,   63,  165,   76,   76,
+      164,  111,  111,   61,  112,  112,  113,  103,   62,   61,
+
+      163,  114,  104,  162,   62,   63,   80,   80,  112,  112,
+      161,   81,   81,   81,   81,  102,   61,  159,  158,   62,
+       63,  157,  140,  156,  141,  141,   81,   81,   81,   81,
+      154,  102,  153,   61,   61,  152,  151,   62,   62,   63,
+       82,   82,  149,  148,  147,   82,   82,   82,   82,  145,
+      136,   61,  130,  124,  118,  108,   62,   99,   95,  160,
+       82,   82,   82,   82,   98,   98,  155,  150,  142,   99,
+       99,   99,   99,  140,   61,  140,  134,   62,  139,  141,
+      141,  138,  134,  133,   99,   99,   99,   99,  132,   61,
+      128,   61,   62,  127,  126,  122,   62,  100,  100,  121,
+
+      120,  116,  100,  100,  100,  100,   61,  115,  110,  106,
+      105,   62,  101,   86,   86,   97,   96,  100,  100,  100,
+      100,  107,  107,   91,   89,   86,  108,  108,  108,  108,
+       70,   61,   72,   71,   62,   70,   66,   58,   57,   56,
+       55,  108,  108,  108,  108,  173,   38,   38,   61,  173,
+      173,  173,  173,   62,  109,  109,  173,  173,  173,  109,
+      109,  109,  109,  173,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  109,  109,  109,  109,  117,  117,
+      173,  173,  173,  118,  118,  118,  118,  173,   61,  173,
+      173,   62,  173,  173,  173,  173,  173,  173,  118,  118,
+
+      118,  118,  173,  173,  173,   61,  173,  173,  173,  173,
+       62,  119,  119,  173,  173,  173,  119,  119,  119,  119,
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+      173,  119,  119,  119,  119,  123,  123,  173,  173,  173,
+      124,  124,  124,  124,  173,   61,  173,  173,   62,  173,
+      173,  173,  173,  173,  173,  124,  124,  124,  124,  173,
+      173,  173,   61,  173,  173,  173,  173,   62,  125,  125,
+      173,  173,  173,  125,  125,  125,  125,  173,  173,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  125,  125,
+      125,  125,  129,  129,  173,  173,  173,  130,  130,  130,
+
+      130,  173,   61,  173,  173,   62,  173,  173,  173,  173,
+      173,  173,  130,  130,  130,  130,  173,  173,  173,   61,
+      173,  173,  173,  173,   62,  131,  131,  173,  173,  173,
+      131,  131,  131,  131,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  173,  131,  131,  131,  131,  135,
+      135,  173,  173,  173,  136,  136,  136,  136,  173,   61,
+      173,  173,   62,  173,  173,  173,  173,  173,  173,  136,
+      136,  136,  136,  173,  173,  173,   61,  173,  173,  173,
+      173,   62,  137,  137,  173,  173,  173,  137,  137,  137,
+      137,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+
+      173,  173,  137,  137,  137,  137,   37,   37,   37,   37,
+       50,   50,   50,   50,   51,   51,   51,   51,   69,   69,
+       77,  173,   77,   77,   83,   83,   87,  173,   87,   87,
+       88,  173,   88,   88,  146,  173,  146,  146,   15,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  173,  173
     } ;
 
-static yyconst flex_int16_t yy_chk[518] =
+static yyconst flex_int16_t yy_chk[687] =
     {   0,
         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,    2,    3,   38,    3,
-        2,    4,    5,    4,    5,    6,    8,    6,   11,   12,
-        8,   24,   41,   11,   12,   25,   25,   27,   27,   24,
-       41,   33,   67,   38,    3,   33,   67,   48,    4,    5,
-       53,   53,    6,    7,    7,   11,   12,  183,    7,    7,
-        7,    7,    7,    7,    7,    7,    7,    7,    7,   48,
-      182,    7,    7,    7,    7,    7,   23,   23,   23,   56,
-
-       55,   95,   95,   90,  181,   80,   80,   23,   55,   56,
-       23,   23,   80,   90,   89,  180,  115,   23,   23,   23,
-       40,   40,   89,  115,   80,   40,   40,   40,   40,  118,
-       40,  179,  178,   40,   40,   83,  118,  177,   83,   40,
-       40,   40,   40,   42,   42,   83,   83,  176,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42,   42,  175,
-      174,  173,   42,   42,   42,   42,   43,   43,  172,  171,
-      170,   43,   43,   43,   43,   88,   88,  169,   88,   88,
-      168,   96,   96,  167,  166,   43,   73,   73,   96,  165,
-      164,   73,   73,   73,   73,  163,   73,  162,  161,   73,
-
-       96,  160,  159,  158,  157,   73,   73,   73,   75,   75,
-      156,  155,  154,   75,   75,   75,   75,  153,  133,  128,
-      123,  117,  114,  113,  111,  107,  103,   75,   85,   85,
-       99,   91,   84,   85,   85,   85,   85,   69,   85,   68,
-       65,   85,   52,   44,   34,   32,   30,   85,   85,   85,
-       87,   87,   29,   26,   22,   87,   87,   87,   87,   21,
-       19,   17,   13,   10,    9,    0,    0,    0,    0,   87,
-       92,   92,    0,    0,    0,   92,   92,   92,   92,    0,
-       92,    0,    0,   92,    0,    0,    0,    0,    0,   92,
-       92,   92,   94,   94,    0,    0,    0,   94,   94,   94,
-
-       94,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   94,  100,  100,    0,    0,    0,  100,  100,  100,
-      100,    0,  100,    0,    0,  100,    0,    0,    0,    0,
-        0,  100,  100,  100,  102,  102,    0,    0,    0,  102,
-      102,  102,  102,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  102,  104,  104,    0,    0,    0,  104,
-      104,  104,  104,    0,  104,    0,    0,  104,    0,    0,
-        0,    0,    0,  104,  104,  104,  106,  106,    0,    0,
-        0,  106,  106,  106,  106,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,  106,  108,  108,    0,    0,
-
-        0,  108,  108,  108,  108,    0,  108,    0,    0,  108,
-        0,    0,    0,    0,    0,  108,  108,  108,  110,  110,
-        0,    0,    0,  110,  110,  110,  110,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,  110,  112,    0,
-      112,  112,    0,    0,    0,    0,    0,    0,    0,    0,
-      112,    0,    0,  112,    0,    0,    0,    0,    0,    0,
-      112,  112,  148,  148,  148,  148,  149,  149,  149,  149,
-      150,  150,  151,    0,  151,  151,  152,    0,  152,  152,
-      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
-      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
-
-      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
-      147,  147,  147,  147,  147,  147,  147
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    2,    3,   40,
+        3,    2,    4,    5,    4,    5,    6,    8,    6,   27,
+       27,    8,   29,   29,   35,   48,   59,   59,   35,   48,
+      111,  111,   73,   84,   40,    3,   73,   84,  213,    4,
+        5,  212,  211,    6,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,   11,   12,   13,   14,   26,   26,   26,   13,   14,
+       36,   62,   54,   43,  139,  210,   26,   74,   75,   26,
+      143,  139,   92,   92,  209,   61,  208,  143,   62,   92,
+       13,   14,   43,   26,   54,   60,   60,   60,   26,   11,
+       12,   25,   25,   25,   61,   92,   60,  103,  207,   60,
+       95,   36,   25,   95,  104,   25,   25,  206,   74,   75,
+      205,  102,  102,   60,  102,  102,  103,   95,   60,   25,
+
+      204,  104,   95,  203,   25,   25,   42,   42,  112,  112,
+      202,   42,   42,   42,   42,  112,   42,  201,  200,   42,
+       42,  199,  135,  198,  135,  135,   42,   42,   42,   42,
+      197,  112,  196,   42,  135,  195,  194,  135,   42,   42,
+       44,   44,  193,  192,  191,   44,   44,   44,   44,  189,
+      188,  135,  187,  186,  185,  184,  135,  183,  182,  159,
+       44,   44,   44,   44,   80,   80,  154,  149,  138,   80,
+       80,   80,   80,  137,   80,  136,  134,   80,  133,  141,
+      141,  132,  128,  127,   80,   80,   80,   80,  126,  141,
+      122,   80,  141,  121,  120,  116,   80,   82,   82,  115,
+
+      110,  106,   82,   82,   82,   82,  141,  105,  101,   97,
+       96,  141,   89,   86,   85,   76,   71,   82,   82,   82,
+       82,   98,   98,   58,   52,   49,   98,   98,   98,   98,
+       46,   98,   34,   32,   98,   31,   28,   24,   23,   21,
+       19,   98,   98,   98,   98,   15,   10,    9,   98,    0,
+        0,    0,    0,   98,  100,  100,    0,    0,    0,  100,
+      100,  100,  100,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,  100,  100,  100,  100,  107,  107,
+        0,    0,    0,  107,  107,  107,  107,    0,  107,    0,
+        0,  107,    0,    0,    0,    0,    0,    0,  107,  107,
+
+      107,  107,    0,    0,    0,  107,    0,    0,    0,    0,
+      107,  109,  109,    0,    0,    0,  109,  109,  109,  109,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,  109,  109,  109,  109,  117,  117,    0,    0,    0,
+      117,  117,  117,  117,    0,  117,    0,    0,  117,    0,
+        0,    0,    0,    0,    0,  117,  117,  117,  117,    0,
+        0,    0,  117,    0,    0,    0,    0,  117,  119,  119,
+        0,    0,    0,  119,  119,  119,  119,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,  119,  119,
+      119,  119,  123,  123,    0,    0,    0,  123,  123,  123,
+
+      123,    0,  123,    0,    0,  123,    0,    0,    0,    0,
+        0,    0,  123,  123,  123,  123,    0,    0,    0,  123,
+        0,    0,    0,    0,  123,  125,  125,    0,    0,    0,
+      125,  125,  125,  125,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,  125,  125,  125,  125,  129,
+      129,    0,    0,    0,  129,  129,  129,  129,    0,  129,
+        0,    0,  129,    0,    0,    0,    0,    0,    0,  129,
+      129,  129,  129,    0,    0,    0,  129,    0,    0,    0,
+        0,  129,  131,  131,    0,    0,    0,  131,  131,  131,
+      131,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+
+        0,    0,  131,  131,  131,  131,  174,  174,  174,  174,
+      175,  175,  175,  175,  176,  176,  176,  176,  177,  177,
+      178,    0,  178,  178,  179,  179,  180,    0,  180,  180,
+      181,    0,  181,  181,  190,    0,  190,  190,  173,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
+      173,  173,  173,  173,  173,  173
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -658,7 +715,8 @@ char *parser_text;
 
 
 
-#line 43 "parser.l"
+
+#line 44 "parser.l"
 
 #include "config.h"
 #include "wine/port.h"
@@ -741,14 +799,15 @@ UUID *parse_uuid(const char *u)
  * The flexer starts here
  **************************************************************************
  */
-#line 745 "parser.yy.c"
+#line 803 "parser.yy.c"
 
 #define INITIAL 0
 #define QUOTE 1
 #define WSTRQUOTE 2
 #define ATTR 3
 #define PP_LINE 4
-#define SQUOTE 5
+#define PP_PRAGMA 5
+#define SQUOTE 6
 
 #ifndef YY_NO_UNISTD_H
 /* Special case for "unistd.h", since it is non-ANSI. We include it way
@@ -833,7 +892,12 @@ static int input (void );
     
 /* Amount of stuff to slurp up with each read. */
 #ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
 #define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
 #endif
 
 /* Copy whatever the last rule matched to the standard output. */
@@ -841,7 +905,7 @@ static int input (void );
 /* This used to be an fputs(), but since the string might contain NUL's,
  * we now use fwrite().
  */
-#define ECHO fwrite( parser_text, parser_leng, 1, parser_out )
+#define ECHO do { if (fwrite( parser_text, parser_leng, 1, parser_out )) {} } while (0)
 #endif
 
 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
@@ -852,7 +916,7 @@ static int input (void );
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
                { \
                int c = '*'; \
-               int n; \
+               size_t n; \
                for ( n = 0; n < max_size && \
                             (c = getc( parser_in )) != EOF && c != '\n'; ++n ) \
                        buf[n] = (char) c; \
@@ -937,9 +1001,9 @@ YY_DECL
        register char *yy_cp, *yy_bp;
        register int yy_act;
     
-#line 127 "parser.l"
+#line 128 "parser.l"
 
-#line 943 "parser.yy.c"
+#line 1007 "parser.yy.c"
 
        if ( !(yy_init) )
                {
@@ -993,13 +1057,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 148 )
+                               if ( yy_current_state >= 174 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
-               while ( yy_current_state != 147 );
+               while ( yy_current_state != 173 );
                yy_cp = (yy_last_accepting_cpos);
                yy_current_state = (yy_last_accepting_state);
 
@@ -1021,12 +1085,17 @@ do_action:      /* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 128 "parser.l"
-yy_push_state(PP_LINE);
+#line 129 "parser.l"
+yy_push_state(PP_PRAGMA);
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 129 "parser.l"
+#line 130 "parser.l"
+yy_push_state(PP_LINE);
+       YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 131 "parser.l"
 {
                             int lineno;
                             char *cptr, *fname;
@@ -1046,194 +1115,204 @@ YY_RULE_SETUP
                             input_name = xstrdup(fname);
                         }
        YY_BREAK
-case 3:
+case 4:
+YY_RULE_SETUP
+#line 149 "parser.l"
+yyless(9); yy_pop_state(); return tCPPQUOTE;
+       YY_BREAK
+case 5:
 YY_RULE_SETUP
-#line 147 "parser.l"
+#line 150 "parser.l"
+parser_lval.str = xstrdup(parser_text); yy_pop_state(); return aPRAGMA;
+       YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 151 "parser.l"
 yy_push_state(QUOTE); cbufidx = 0;
        YY_BREAK
-case 4:
+case 7:
 YY_RULE_SETUP
-#line 148 "parser.l"
+#line 152 "parser.l"
 {
                                yy_pop_state();
                                parser_lval.str = get_buffered_cstring();
                                return aSTRING;
                        }
        YY_BREAK
-case 5:
+case 8:
 YY_RULE_SETUP
-#line 153 "parser.l"
+#line 157 "parser.l"
 yy_push_state(WSTRQUOTE); cbufidx = 0;
        YY_BREAK
-case 6:
+case 9:
 YY_RULE_SETUP
-#line 154 "parser.l"
+#line 158 "parser.l"
 {
                                yy_pop_state();
                                parser_lval.str = get_buffered_cstring();
                                return aWSTRING;
                        }
        YY_BREAK
-case 7:
+case 10:
 YY_RULE_SETUP
-#line 159 "parser.l"
+#line 163 "parser.l"
 yy_push_state(SQUOTE); cbufidx = 0;
        YY_BREAK
-case 8:
+case 11:
 YY_RULE_SETUP
-#line 160 "parser.l"
+#line 164 "parser.l"
 {
                                yy_pop_state();
                                parser_lval.str = get_buffered_cstring();
                                return aSQSTRING;
                        }
        YY_BREAK
-case 9:
-#line 166 "parser.l"
-case 10:
+case 12:
+#line 170 "parser.l"
+case 13:
 YY_RULE_SETUP
-#line 166 "parser.l"
+#line 170 "parser.l"
 addcchar(parser_text[1]);
        YY_BREAK
-case 11:
+case 14:
 YY_RULE_SETUP
-#line 167 "parser.l"
+#line 171 "parser.l"
 addcchar(parser_text[1]);
        YY_BREAK
-case 12:
+case 15:
 YY_RULE_SETUP
-#line 168 "parser.l"
+#line 172 "parser.l"
 addcchar('\\'); addcchar(parser_text[1]);
        YY_BREAK
-case 13:
+case 16:
 YY_RULE_SETUP
-#line 169 "parser.l"
+#line 173 "parser.l"
 addcchar(parser_text[0]);
        YY_BREAK
-case 14:
+case 17:
 YY_RULE_SETUP
-#line 170 "parser.l"
+#line 174 "parser.l"
 yy_push_state(ATTR); return '[';
        YY_BREAK
-case 15:
+case 18:
 YY_RULE_SETUP
-#line 171 "parser.l"
+#line 175 "parser.l"
 yy_pop_state(); return ']';
        YY_BREAK
-case 16:
+case 19:
 YY_RULE_SETUP
-#line 172 "parser.l"
+#line 176 "parser.l"
 return attr_token(parser_text);
        YY_BREAK
-case 17:
+case 20:
 YY_RULE_SETUP
-#line 173 "parser.l"
+#line 177 "parser.l"
 {
                                parser_lval.uuid = parse_uuid(parser_text);
                                return aUUID;
                        }
        YY_BREAK
-case 18:
+case 21:
 YY_RULE_SETUP
-#line 177 "parser.l"
+#line 181 "parser.l"
 {
                                parser_lval.num = xstrtoul(parser_text, NULL, 0);
                                return aHEXNUM;
                        }
        YY_BREAK
-case 19:
+case 22:
 YY_RULE_SETUP
-#line 181 "parser.l"
+#line 185 "parser.l"
 {
                                parser_lval.num = xstrtoul(parser_text, NULL, 0);
                                return aNUM;
                        }
        YY_BREAK
-case 20:
+case 23:
 YY_RULE_SETUP
-#line 185 "parser.l"
+#line 189 "parser.l"
 {
                                parser_lval.dbl = strtod(parser_text, NULL);
                                return aDOUBLE;
                        }
        YY_BREAK
-case 21:
+case 24:
 *yy_cp = (yy_hold_char); /* undo effects of setting up parser_text */
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up parser_text again */
 YY_RULE_SETUP
-#line 189 "parser.l"
+#line 193 "parser.l"
 return tSAFEARRAY;
        YY_BREAK
-case 22:
+case 25:
 YY_RULE_SETUP
-#line 190 "parser.l"
+#line 194 "parser.l"
 return kw_token(parser_text);
        YY_BREAK
-case 23:
-/* rule 23 can match eol */
+case 26:
+/* rule 26 can match eol */
 YY_RULE_SETUP
-#line 191 "parser.l"
+#line 195 "parser.l"
 line_number++;
        YY_BREAK
-case 24:
+case 27:
 YY_RULE_SETUP
-#line 192 "parser.l"
+#line 196 "parser.l"
 
        YY_BREAK
-case 25:
+case 28:
 YY_RULE_SETUP
-#line 193 "parser.l"
+#line 197 "parser.l"
 return SHL;
        YY_BREAK
-case 26:
+case 29:
 YY_RULE_SETUP
-#line 194 "parser.l"
+#line 198 "parser.l"
 return SHR;
        YY_BREAK
-case 27:
+case 30:
 YY_RULE_SETUP
-#line 195 "parser.l"
+#line 199 "parser.l"
 return MEMBERPTR;
        YY_BREAK
-case 28:
+case 31:
 YY_RULE_SETUP
-#line 196 "parser.l"
+#line 200 "parser.l"
 return EQUALITY;
        YY_BREAK
-case 29:
+case 32:
 YY_RULE_SETUP
-#line 197 "parser.l"
+#line 201 "parser.l"
 return INEQUALITY;
        YY_BREAK
-case 30:
+case 33:
 YY_RULE_SETUP
-#line 198 "parser.l"
+#line 202 "parser.l"
 return GREATEREQUAL;
        YY_BREAK
-case 31:
+case 34:
 YY_RULE_SETUP
-#line 199 "parser.l"
+#line 203 "parser.l"
 return LESSEQUAL;
        YY_BREAK
-case 32:
+case 35:
 YY_RULE_SETUP
-#line 200 "parser.l"
+#line 204 "parser.l"
 return LOGICALOR;
        YY_BREAK
-case 33:
+case 36:
 YY_RULE_SETUP
-#line 201 "parser.l"
+#line 205 "parser.l"
 return LOGICALAND;
        YY_BREAK
-case 34:
+case 37:
 YY_RULE_SETUP
-#line 202 "parser.l"
+#line 206 "parser.l"
 return ELLIPSIS;
        YY_BREAK
-case 35:
+case 38:
 YY_RULE_SETUP
-#line 203 "parser.l"
+#line 207 "parser.l"
 return parser_text[0];
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
@@ -1241,20 +1320,21 @@ case YY_STATE_EOF(QUOTE):
 case YY_STATE_EOF(WSTRQUOTE):
 case YY_STATE_EOF(ATTR):
 case YY_STATE_EOF(PP_LINE):
+case YY_STATE_EOF(PP_PRAGMA):
 case YY_STATE_EOF(SQUOTE):
-#line 204 "parser.l"
+#line 208 "parser.l"
 {
                                if (import_stack_ptr)
                                        return aEOF;
                                else yyterminate();
                        }
        YY_BREAK
-case 36:
+case 39:
 YY_RULE_SETUP
-#line 209 "parser.l"
+#line 213 "parser.l"
 ECHO;
        YY_BREAK
-#line 1258 "parser.yy.c"
+#line 1338 "parser.yy.c"
 
        case YY_END_OF_BUFFER:
                {
@@ -1546,7 +1626,7 @@ static int yy_get_next_buffer (void)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 148 )
+                       if ( yy_current_state >= 174 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1574,11 +1654,11 @@ static int yy_get_next_buffer (void)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 148 )
+               if ( yy_current_state >= 174 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 147);
+       yy_is_jam = (yy_current_state == 173);
 
        return yy_is_jam ? 0 : yy_current_state;
 }
@@ -1973,8 +2053,8 @@ YY_BUFFER_STATE parser__scan_string (yyconst char * yystr )
 
 /** Setup the input buffer state to scan the given bytes. The next call to parser_lex() will
  * scan from a @e copy of @a bytes.
- * @param bytes the byte buffer to scan
- * @param len the number of bytes in the buffer pointed to by @a bytes.
+ * @param yybytes the byte buffer to scan
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
  * 
  * @return the newly allocated buffer state object.
  */
@@ -2253,7 +2333,7 @@ void parser_free (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 209 "parser.l"
+#line 213 "parser.l"
 
 
 
@@ -2310,6 +2390,7 @@ static const struct keyword keywords[] = {
        {"long",                        tLONG},
        {"methods",                     tMETHODS},
        {"module",                      tMODULE},
+       {"namespace",                   tNAMESPACE},
        {"pascal",                      tPASCAL},
        {"properties",                  tPROPERTIES},
        {"register",                    tREGISTER},
@@ -2463,7 +2544,7 @@ static int kw_token(const char *kw)
        struct keyword key, *kwp;
        key.kw = kw;
        kwp = bsearch(&key, keywords, NKEYWORDS, sizeof(keywords[0]), kw_cmp_func);
-       if (kwp) {
+       if (kwp && (do_rt_extension || kwp->token != tNAMESPACE)) {
                parser_lval.str = xstrdup(kwp->kw);
                return kwp->token;
        }