Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

uesql_parser.cc

00001 /* A Bison parser, made from uesql_parser.yy
00002    by GNU bison 1.35.  */
00003 
00004 #define YYBISON 1  /* Identify Bison output.  */
00005 
00006 # define        EMBEDDED_SQL_BEGIN      257
00007 # define        EMBEDDED_SQL_END        258
00008 # define        LEXICAL_ERROR   259
00009 # define        EMBEDDED_N_ADIC_FUNCTION_CALL   260
00010 # define        EMBEDDED_ARRAY  261
00011 # define        EMBEDDED_VARIABLE_NAME  262
00012 # define        CHARACTER_STRING_LITERAL        263
00013 # define        NATIONAL_CHARACTER_STRING_LITERAL       264
00014 # define        BIT_STRING_LITERAL      265
00015 # define        HEX_STRING_LITERAL      266
00016 # define        UNSIGNED_INTEGER        267
00017 # define        REAL_EXACT_NUMERIC_LITERAL      268
00018 # define        APPROXIMATE_NUMERIC_LITERAL     269
00019 # define        DATE_STRING     270
00020 # define        TIME_STRING     271
00021 # define        TIMESTAMP_STRING        272
00022 # define        INTERVAL_STRING 273
00023 # define        FOURTH_LEVEL_IDENTIFIER 274
00024 # define        THIRD_LEVEL_IDENTIFIER  275
00025 # define        SECOND_LEVEL_IDENTIFIER 276
00026 # define        FOURTH_LEVEL_ASTERISK   277
00027 # define        THIRD_LEVEL_ASTERISK    278
00028 # define        SECOND_LEVEL_ASTERISK   279
00029 # define        IDENTIFIER_BODY 280
00030 # define        DELIMITED_IDENTIFIER    281
00031 # define        MULTI_HOST_IDENTIFIER   282
00032 # define        NOT_EQUALS_OPERATOR     283
00033 # define        GREATER_THAN_OR_EQUALS_OPERATOR 284
00034 # define        LESS_THAN_OR_EQUALS_OPERATOR    285
00035 # define        CONCATENATION_OPERATOR  286
00036 # define        RW_ABSOLUTE     287
00037 # define        RW_ACTION       288
00038 # define        RW_ADD  289
00039 # define        RW_ALLOCATE     290
00040 # define        RW_ALL  291
00041 # define        RW_ALTER        292
00042 # define        RW_AND  293
00043 # define        RW_ANY  294
00044 # define        RW_ASC  295
00045 # define        RW_ASSERTION    296
00046 # define        RW_AS   297
00047 # define        RW_AT   298
00048 # define        RW_AUTHORIZATION        299
00049 # define        RW_AVG  300
00050 # define        RW_BETWEEN      301
00051 # define        RW_BIT_LENGTH   302
00052 # define        RW_BIT  303
00053 # define        RW_BOTH 304
00054 # define        RW_BY   305
00055 # define        RW_CASCADED     306
00056 # define        RW_CASCADE      307
00057 # define        RW_CASE 308
00058 # define        RW_CAST 309
00059 # define        RW_CATALOG      310
00060 # define        RW_CHARACTER_LENGTH     311
00061 # define        RW_CHARACTER    312
00062 # define        RW_CHAR_LENGTH  313
00063 # define        RW_CHAR 314
00064 # define        RW_CHECK        315
00065 # define        RW_CLOSE        316
00066 # define        RW_COALESCE     317
00067 # define        RW_COLLATE      318
00068 # define        RW_COLLATION    319
00069 # define        RW_COLUMN       320
00070 # define        RW_COMMIT       321
00071 # define        RW_CONDITION    322
00072 # define        RW_CONNECTION   323
00073 # define        RW_CONNECT      324
00074 # define        RW_CONSTRAINTS  325
00075 # define        RW_CONSTRAINT   326
00076 # define        RW_CONTINUE     327
00077 # define        RW_CONVERT      328
00078 # define        RW_CORRESPONDING        329
00079 # define        RW_COUNT        330
00080 # define        RW_CREATE       331
00081 # define        RW_CROSS        332
00082 # define        RW_CURRENT_DATE 333
00083 # define        RW_CURRENT_TIMESTAMP    334
00084 # define        RW_CURRENT_TIME 335
00085 # define        RW_CURRENT_USER 336
00086 # define        RW_CURRENT      337
00087 # define        RW_CURSOR       338
00088 # define        RW_DATE 339
00089 # define        RW_DAY  340
00090 # define        RW_DEALLOCATE   341
00091 # define        RW_DECIMAL      342
00092 # define        RW_DECLARE      343
00093 # define        RW_DEC  344
00094 # define        RW_DEFAULT      345
00095 # define        RW_DEFERRABLE   346
00096 # define        RW_DEFERRED     347
00097 # define        RW_DELETE       348
00098 # define        RW_DESCRIBE     349
00099 # define        RW_DESCRIPTOR   350
00100 # define        RW_DESC 351
00101 # define        RW_DIAGNOSTICS  352
00102 # define        RW_DISCONNECT   353
00103 # define        RW_DISTINCT     354
00104 # define        RW_DOMAIN       355
00105 # define        RW_DOUBLE       356
00106 # define        RW_DROP 357
00107 # define        RW_ELSE 358
00108 # define        RW_END  359
00109 # define        RW_ESCAPE       360
00110 # define        RW_EXCEPTION    361
00111 # define        RW_EXCEPT       362
00112 # define        RW_EXECUTE      363
00113 # define        RW_EXISTS       364
00114 # define        RW_EXTRACT      365
00115 # define        RW_FALSE        366
00116 # define        RW_FETCH        367
00117 # define        RW_FIRST        368
00118 # define        RW_FLOAT        369
00119 # define        RW_FOREIGN      370
00120 # define        RW_FOR  371
00121 # define        RW_FOUND        372
00122 # define        RW_FROM 373
00123 # define        RW_FULL 374
00124 # define        RW_GET  375
00125 # define        RW_GLOBAL       376
00126 # define        RW_GOTO 377
00127 # define        RW_GO   378
00128 # define        RW_GRANT        379
00129 # define        RW_GROUP        380
00130 # define        RW_HAVING       381
00131 # define        RW_HOUR 382
00132 # define        RW_IMMEDIATE    383
00133 # define        RW_INDICATOR    384
00134 # define        RW_INITIALLY    385
00135 # define        RW_INNER        386
00136 # define        RW_INPUT        387
00137 # define        RW_INSENSITIVE  388
00138 # define        RW_INSERT       389
00139 # define        RW_INTEGER      390
00140 # define        RW_INTERSECT    391
00141 # define        RW_INTERVAL     392
00142 # define        RW_INTO 393
00143 # define        RW_INT  394
00144 # define        RW_IN   395
00145 # define        RW_ISOLATION    396
00146 # define        RW_IS   397
00147 # define        RW_JOIN 398
00148 # define        RW_KEY  399
00149 # define        RW_LAST 400
00150 # define        RW_LEADING      401
00151 # define        RW_LEFT 402
00152 # define        RW_LEVEL        403
00153 # define        RW_LIKE 404
00154 # define        RW_LOCAL        405
00155 # define        RW_LOWER        406
00156 # define        RW_MATCH        407
00157 # define        RW_MAX  408
00158 # define        RW_MIN  409
00159 # define        RW_MINUTE       410
00160 # define        RW_MONTH        411
00161 # define        RW_NAMES        412
00162 # define        RW_NATIONAL     413
00163 # define        RW_NATURAL      414
00164 # define        RW_NCHAR        415
00165 # define        RW_NEXT 416
00166 # define        RW_NOT_LIKE     417
00167 # define        RW_NOT  418
00168 # define        RW_NO   419
00169 # define        RW_NULLIF       420
00170 # define        RW_NULL 421
00171 # define        RW_NUMERIC      422
00172 # define        RW_OCTET_LENGTH 423
00173 # define        RW_OF   424
00174 # define        RW_ONLY 425
00175 # define        RW_ON   426
00176 # define        RW_OPEN 427
00177 # define        RW_OPTION       428
00178 # define        RW_ORDER        429
00179 # define        RW_OR   430
00180 # define        RW_OUTER        431
00181 # define        RW_OUTPUT       432
00182 # define        RW_OVERLAPS     433
00183 # define        RW_PARTIAL      434
00184 # define        RW_POSITION     435
00185 # define        RW_PRECISION    436
00186 # define        RW_PREPARE      437
00187 # define        RW_PRESERVE     438
00188 # define        RW_PRIMARY      439
00189 # define        RW_PRIOR        440
00190 # define        RW_PRIVILEGES   441
00191 # define        RW_PUBLIC       442
00192 # define        RW_READ 443
00193 # define        RW_REAL 444
00194 # define        RW_REFERENCES   445
00195 # define        RW_RELATIVE     446
00196 # define        RW_RESTRICT     447
00197 # define        RW_REVOKE       448
00198 # define        RW_RIGHT        449
00199 # define        RW_ROLLBACK     450
00200 # define        RW_ROWS 451
00201 # define        RW_SCHEMA       452
00202 # define        RW_SCROLL       453
00203 # define        RW_SECOND       454
00204 # define        RW_SELECT       455
00205 # define        RW_SESSION_USER 456
00206 # define        RW_SESSION      457
00207 # define        RW_SET  458
00208 # define        RW_SIZE 459
00209 # define        RW_SMALLINT     460
00210 # define        RW_SOME 461
00211 # define        RW_SQLERROR     462
00212 # define        RW_SQL  463
00213 # define        RW_SUBSTRING    464
00214 # define        RW_SUM  465
00215 # define        RW_SYSTEM_USER  466
00216 # define        RW_TABLE        467
00217 # define        RW_TEMPORARY    468
00218 # define        RW_THEN 469
00219 # define        RW_THROW        470
00220 # define        RW_TIMESTAMP    471
00221 # define        RW_TIMEZONE_HOUR        472
00222 # define        RW_TIMEZONE_MINUTE      473
00223 # define        RW_TIME 474
00224 # define        RW_TO   475
00225 # define        RW_TRAILING     476
00226 # define        RW_TRANSACTION  477
00227 # define        RW_TRANSLATE    478
00228 # define        RW_TRANSLATION  479
00229 # define        RW_TRIM 480
00230 # define        RW_TRUE 481
00231 # define        RW_UNION        482
00232 # define        RW_UNIQUE       483
00233 # define        RW_UNKNOWN      484
00234 # define        RW_UPDATE       485
00235 # define        RW_UPPER        486
00236 # define        RW_USAGE        487
00237 # define        RW_USER 488
00238 # define        RW_USING        489
00239 # define        RW_VALUES       490
00240 # define        RW_VALUE        491
00241 # define        RW_VARCHAR      492
00242 # define        RW_VARYING      493
00243 # define        RW_VIEW 494
00244 # define        RW_WHENEVER     495
00245 # define        RW_WHEN 496
00246 # define        RW_WHERE        497
00247 # define        RW_WITH 498
00248 # define        RW_WORK 499
00249 # define        RW_WRITE        500
00250 # define        RW_YEAR 501
00251 # define        RW_ZONE 502
00252 # define        NRW_CATALOG_NAME        503
00253 # define        NRW_CHARACTER_SET_CATALOG       504
00254 # define        NRW_CHARACTER_SET_NAME  505
00255 # define        NRW_CHARACTER_SET_SCHEMA        506
00256 # define        NRW_CLASS_ORIGIN        507
00257 # define        NRW_COLLATION_CATALOG   508
00258 # define        NRW_COLLATION_NAME      509
00259 # define        NRW_COLLATION_SCHEMA    510
00260 # define        NRW_COLUMN_NAME 511
00261 # define        NRW_COMMAND_FUNCTION    512
00262 # define        NRW_COMMITTED   513
00263 # define        NRW_CONDITION_NUMBER    514
00264 # define        NRW_CONNECTION_NAME     515
00265 # define        NRW_CONSTRAINT_CATALOG  516
00266 # define        NRW_CONSTRAINT_NAME     517
00267 # define        NRW_CONSTRAINT_SCHEMA   518
00268 # define        NRW_CURSOR_NAME 519
00269 # define        NRW_DATA        520
00270 # define        NRW_DATETIME_INTERVAL_CODE      521
00271 # define        NRW_DATETIME_INTERVAL_PRECISION 522
00272 # define        NRW_DYNAMIC_FUNCTION    523
00273 # define        NRW_LENGTH      524
00274 # define        NRW_MESSAGE_LENGTH      525
00275 # define        NRW_MESSAGE_OCTET_LENGTH        526
00276 # define        NRW_MESSAGE_TEXT        527
00277 # define        NRW_MORE        528
00278 # define        NRW_NAME        529
00279 # define        NRW_NULLABLE    530
00280 # define        NRW_NUMBER      531
00281 # define        NRW_REPEATABLE  532
00282 # define        NRW_RETURNED_LENGTH     533
00283 # define        NRW_RETURNED_OCTET_LENGTH       534
00284 # define        NRW_RETURNED_SQLSTATE   535
00285 # define        NRW_ROW_COUNT   536
00286 # define        NRW_SCALE       537
00287 # define        NRW_SCHEMA_NAME 538
00288 # define        NRW_SERIALIZABLE        539
00289 # define        NRW_SERVER_NAME 540
00290 # define        NRW_SUBCLASS_ORIGIN     541
00291 # define        NRW_TABLE_NAME  542
00292 # define        NRW_TYPE        543
00293 # define        NRW_UNCOMMITTED 544
00294 # define        NRW_UNNAMED     545
00295 # define        LEFT_PAREN      546
00296 # define        RIGHT_PAREN     547
00297 # define        ASTERISK        548
00298 # define        PLUS_SIGN       549
00299 # define        COMMA   550
00300 # define        MINUS_SIGN      551
00301 # define        SOLIDUS 552
00302 # define        SEMICOLON       553
00303 # define        LESS_THAN_OPERATOR      554
00304 # define        EQUALS_OPERATOR 555
00305 # define        GREATER_THAN_OPERATOR   556
00306 # define        QUESTION_MARK   557
00307 
00308 #line 177 "uesql_parser.yy"
00309 
00310 
00311 #include <cstdlib>
00312 #include "application.hh"
00313 #include "defs.hh"
00314 #include "stack_value.hh"
00315 
00316 
00317 //
00318 //  E X P O R T E D   V A R I A B L E S
00319 //
00320 
00321 extern TApplication*   ptApplication;
00322 
00323   
00324 //
00325 //  E X P O R T E D   F U N C T I O N S
00326 //
00327 
00329 int yylex (void);
00330 
00332 int yyparse (void);
00333 
00335 void yyerror (const char*);
00336 
00337 #ifndef YYSTYPE
00338 # define YYSTYPE int
00339 # define YYSTYPE_IS_TRIVIAL 1
00340 #endif
00341 #ifndef YYDEBUG
00342 # define YYDEBUG 1
00343 #endif
00344 
00345 
00346 
00347 #define YYFINAL         1533
00348 #define YYFLAG          -32768
00349 #define YYNTBASE        304
00350 
00351 /* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
00352 #define YYTRANSLATE(x) ((unsigned)(x) <= 557 ? yytranslate[x] : 691)
00353 
00354 /* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
00355 static const short yytranslate[] =
00356 {
00357        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00358        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00359        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00360        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00361        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00362        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00363        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00364        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00365        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00366        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00367        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00368        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00369        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00370        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00371        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00372        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00373        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00374        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00375        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00376        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00377        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00378        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00379        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00380        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00381        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00382        2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
00383        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
00384       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
00385       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
00386       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
00387       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
00388       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
00389       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
00390       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
00391       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
00392       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
00393      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
00394      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
00395      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
00396      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
00397      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
00398      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
00399      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
00400      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
00401      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
00402      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
00403      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
00404      216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
00405      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
00406      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
00407      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
00408      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
00409      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
00410      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
00411      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
00412      296,   297,   298,   299,   300,   301,   302,   303
00413 };
00414 
00415 #if YYDEBUG
00416 static const short yyprhs[] =
00417 {
00418        0,     0,     3,     4,     8,    11,    13,    17,    19,    22,
00419       24,    26,    28,    31,    35,    37,    40,    42,    44,    46,
00420       48,    51,    54,    56,    58,    60,    62,    64,    66,    68,
00421       70,    72,    76,    78,    80,    84,    86,    90,    92,    94,
00422       96,    98,   100,   104,   106,   110,   114,   116,   118,   120,
00423      122,   124,   126,   128,   130,   132,   134,   136,   138,   140,
00424      142,   144,   146,   148,   150,   156,   158,   163,   165,   167,
00425      172,   176,   180,   184,   187,   189,   191,   193,   197,   199,
00426      201,   205,   211,   215,   219,   221,   223,   226,   228,   231,
00427      233,   238,   243,   247,   249,   251,   253,   257,   259,   263,
00428      265,   267,   269,   272,   275,   279,   282,   285,   288,   290,
00429      294,   296,   303,   308,   317,   321,   323,   327,   329,   331,
00430      333,   335,   340,   345,   347,   350,   352,   358,   362,   370,
00431      377,   383,   387,   389,   392,   399,   405,   410,   412,   414,
00432      416,   418,   421,   424,   428,   430,   433,   441,   448,   455,
00433      461,   465,   468,   471,   473,   477,   482,   485,   489,   493,
00434      495,   499,   502,   505,   507,   509,   511,   513,   515,   517,
00435      519,   521,   523,   525,   527,   529,   531,   533,   535,   537,
00436      539,   541,   543,   545,   547,   549,   551,   553,   555,   557,
00437      559,   560,   562,   564,   566,   568,   570,   572,   574,   576,
00438      578,   580,   582,   584,   586,   588,   590,   592,   594,   596,
00439      598,   600,   602,   604,   606,   617,   625,   629,   631,   641,
00440      648,   651,   653,   656,   659,   662,   666,   672,   677,   682,
00441      687,   691,   694,   697,   700,   705,   707,   709,   711,   713,
00442      716,   718,   727,   735,   743,   750,   758,   765,   772,   778,
00443      786,   793,   800,   806,   813,   819,   825,   830,   834,   837,
00444      840,   842,   847,   860,   872,   881,   891,   900,   906,   908,
00445      910,   912,   917,   922,   925,   930,   934,   937,   940,   945,
00446      949,   951,   953,   957,   960,   965,   967,   969,   971,   973,
00447      975,   980,   987,   993,   998,  1002,  1005,  1007,  1009,  1011,
00448     1016,  1018,  1020,  1023,  1026,  1028,  1030,  1034,  1038,  1040,
00449     1043,  1046,  1049,  1054,  1056,  1059,  1061,  1065,  1068,  1071,
00450     1073,  1075,  1077,  1079,  1082,  1084,  1086,  1088,  1090,  1092,
00451     1094,  1096,  1099,  1101,  1107,  1112,  1117,  1121,  1127,  1132,
00452     1137,  1141,  1146,  1150,  1154,  1157,  1162,  1166,  1170,  1173,
00453     1177,  1180,  1183,  1185,  1188,  1190,  1192,  1194,  1197,  1200,
00454     1205,  1210,  1217,  1223,  1228,  1232,  1234,  1238,  1240,  1242,
00455     1247,  1249,  1251,  1254,  1256,  1261,  1265,  1269,  1271,  1274,
00456     1276,  1278,  1280,  1282,  1284,  1286,  1289,  1293,  1296,  1298,
00457     1302,  1305,  1308,  1310,  1313,  1316,  1319,  1322,  1324,  1328,
00458     1330,  1332,  1334,  1339,  1341,  1346,  1348,  1353,  1355,  1357,
00459     1359,  1361,  1363,  1367,  1369,  1374,  1376,  1378,  1383,  1385,
00460     1390,  1392,  1399,  1404,  1406,  1408,  1410,  1412,  1414,  1416,
00461     1418,  1420,  1422,  1424,  1426,  1430,  1432,  1436,  1439,  1441,
00462     1446,  1450,  1452,  1454,  1456,  1458,  1460,  1464,  1466,  1470,
00463     1472,  1474,  1480,  1486,  1491,  1496,  1501,  1505,  1508,  1511,
00464     1516,  1518,  1520,  1522,  1524,  1526,  1531,  1535,  1541,  1545,
00465     1551,  1555,  1557,  1559,  1561,  1566,  1570,  1572,  1576,  1580,
00466     1582,  1589,  1595,  1599,  1601,  1603,  1605,  1607,  1609,  1611,
00467     1613,  1615,  1617,  1619,  1621,  1623,  1625,  1627,  1629,  1631,
00468     1633,  1635,  1637,  1641,  1643,  1645,  1647,  1653,  1658,  1663,
00469     1667,  1673,  1678,  1683,  1687,  1689,  1691,  1693,  1699,  1704,
00470     1709,  1713,  1715,  1717,  1719,  1723,  1725,  1727,  1729,  1732,
00471     1738,  1740,  1742,  1747,  1751,  1755,  1757,  1759,  1761,  1763,
00472     1765,  1767,  1769,  1772,  1774,  1777,  1779,  1782,  1786,  1790,
00473     1792,  1795,  1797,  1800,  1802,  1804,  1808,  1813,  1820,  1826,
00474     1832,  1838,  1843,  1848,  1853,  1857,  1859,  1861,  1864,  1869,
00475     1871,  1874,  1876,  1878,  1880,  1882,  1884,  1886,  1890,  1892,
00476     1895,  1900,  1904,  1908,  1912,  1915,  1918,  1921,  1923,  1926,
00477     1930,  1932,  1934,  1938,  1940,  1944,  1946,  1948,  1950,  1952,
00478     1954,  1956,  1958,  1962,  1966,  1973,  1975,  1979,  1983,  1987,
00479     1990,  1992,  1995,  1997,  1999,  2001,  2003,  2005,  2009,  2013,
00480     2017,  2019,  2022,  2024,  2026,  2028,  2031,  2033,  2037,  2039,
00481     2041,  2043,  2045,  2049,  2052,  2054,  2056,  2058,  2060,  2062,
00482     2066,  2068,  2070,  2072,  2074,  2078,  2082,  2084,  2088,  2092,
00483     2095,  2097,  2099,  2101,  2103,  2105,  2107,  2109,  2111,  2113,
00484     2115,  2117,  2119,  2123,  2125,  2132,  2134,  2136,  2138,  2140,
00485     2142,  2144,  2148,  2150,  2157,  2162,  2164,  2166,  2169,  2171,
00486     2177,  2182,  2185,  2187,  2192,  2196,  2201,  2206,  2209,  2211,
00487     2213,  2215,  2217,  2219,  2221,  2223,  2225,  2227,  2232,  2234,
00488     2239,  2241,  2243,  2245,  2247,  2249,  2251,  2253,  2255,  2264,
00489     2271,  2276,  2281,  2288,  2295,  2300,  2305,  2309,  2313,  2316,
00490     2318,  2320,  2322,  2324,  2326,  2328,  2330,  2339,  2346,  2348,
00491     2350,  2352,  2354,  2356,  2363,  2365,  2367,  2369,  2374,  2379,
00492     2384,  2389,  2396,  2398,  2400,  2402,  2404,  2406,  2408,  2413,
00493     2415,  2421,  2426,  2428,  2430,  2432,  2434,  2436,  2438,  2440,
00494     2442,  2444,  2446,  2448,  2455,  2461,  2465,  2468,  2470,  2477,
00495     2483,  2487,  2490,  2492,  2494,  2496,  2500,  2502,  2504,  2506,
00496     2508,  2510,  2512,  2514,  2516,  2518,  2520,  2522,  2524,  2526,
00497     2528,  2530,  2532,  2534,  2536,  2538,  2540,  2542,  2544,  2546,
00498     2548,  2550,  2555,  2557,  2562,  2564,  2570,  2576,  2581,  2587,
00499     2590,  2596,  2599,  2604,  2606,  2613,  2620,  2626,  2632,  2637,
00500     2639,  2641,  2643,  2650,  2655,  2657,  2664,  2669,  2671,  2678,
00501     2683,  2685,  2687,  2689,  2691,  2696,  2698,  2700,  2703,  2705,
00502     2707,  2709,  2711,  2719,  2724,  2729,  2731,  2739,  2744,  2749,
00503     2751,  2753,  2755,  2757,  2760,  2762,  2764,  2766,  2768,  2770,
00504     2772,  2774,  2776,  2778,  2780,  2782,  2784,  2786,  2788,  2790,
00505     2792,  2794,  2796,  2798,  2800,  2802,  2804,  2807,  2809,  2812,
00506     2814,  2817,  2819,  2821,  2823,  2825,  2827,  2829,  2831,  2833,
00507     2835,  2837,  2839,  2841,  2843,  2845,  2847,  2849,  2851,  2853,
00508     2855,  2857,  2860,  2862,  2864,  2866,  2868,  2870,  2872,  2874,
00509     2876,  2878,  2880,  2882,  2885,  2888,  2891,  2896,  2900,  2902,
00510     2904,  2906,  2908,  2910,  2912,  2914,  2916,  2918,  2920,  2922,
00511     2924,  2926,  2928,  2930,  2932,  2934,  2936,  2938,  2940,  2942,
00512     2944,  2946,  2948,  2950,  2952,  2954,  2956,  2958,  2960,  2962,
00513     2964,  2966,  2968,  2970,  2972,  2974,  2976,  2978,  2980,  2982,
00514     2984,  2986,  2988
00515 };
00516 static const short yyrhs[] =
00517 {
00518      304,   305,     0,     0,     3,   315,     4,     0,   306,   316,
00519        0,   316,     0,   241,   308,   309,     0,   208,     0,   164,
00520      118,     0,    73,     0,   310,     0,   312,     0,   123,   311,
00521        0,   124,   221,   311,     0,   314,     0,   216,   313,     0,
00522       28,     0,   690,     0,   690,     0,   306,     0,   317,   318,
00523        0,     1,   318,     0,     1,     0,   375,     0,   330,     0,
00524      307,     0,   383,     0,   299,     0,     6,     0,     7,     0,
00525        8,     0,   121,    98,   321,     0,   322,     0,   326,     0,
00526      322,   296,   323,     0,   323,     0,   638,   301,   324,     0,
00527      277,     0,   274,     0,   258,     0,   269,     0,   282,     0,
00528      325,   296,   327,     0,   327,     0,   107,   329,   325,     0,
00529      638,   301,   328,     0,   260,     0,   281,     0,   253,     0,
00530      287,     0,   286,     0,   261,     0,   262,     0,   264,     0,
00531      263,     0,   249,     0,   284,     0,   288,     0,   257,     0,
00532      265,     0,   273,     0,   271,     0,   272,     0,   636,     0,
00533       89,   331,    68,   243,   477,     0,   637,     0,   204,   220,
00534      248,   333,     0,   549,     0,   151,     0,   204,   203,    45,
00535      633,     0,   204,   158,   633,     0,   204,   198,   633,     0,
00536      204,    56,   633,     0,    99,   339,     0,   341,     0,    37,
00537        0,    83,     0,   204,    69,   341,     0,    91,     0,   673,
00538        0,    70,   221,   343,     0,   674,    43,   673,   234,   675,
00539        0,   674,    43,   673,     0,   674,   234,   675,     0,   674,
00540        0,    91,     0,   196,   245,     0,   196,     0,    67,   245,
00541        0,    67,     0,   204,    71,   348,    93,     0,   204,    71,
00542      348,   129,     0,   347,   296,   669,     0,   669,     0,    37,
00543        0,   347,     0,   349,   296,   351,     0,   351,     0,   204,
00544      223,   349,     0,   353,     0,   352,     0,   355,     0,   189,
00545      171,     0,   189,   246,     0,   142,   149,   354,     0,   189,
00546      290,     0,   189,   259,     0,   278,   189,     0,   285,     0,
00547       98,   205,   356,     0,   636,     0,   231,   660,   204,   359,
00548      243,   477,     0,   231,   660,   204,   359,     0,   231,   660,
00549      204,   359,   243,    83,   170,   668,     0,   359,   296,   360,
00550        0,   360,     0,   362,   301,   361,     0,   575,     0,   547,
00551        0,    91,     0,   666,     0,   135,   139,   660,   364,     0,
00552      292,   365,   293,   509,     0,   509,     0,    91,   236,     0,
00553      632,     0,    94,   119,   660,   243,   477,     0,    94,   119,
00554      660,     0,    94,   119,   660,   243,    83,   170,   668,     0,
00555      201,   627,   521,   139,   369,   541,     0,   201,   521,   139,
00556      369,   541,     0,   369,   296,   637,     0,   637,     0,    62,
00557      668,     0,   113,   372,   119,   668,   139,   373,     0,   113,
00558      119,   668,   139,   373,     0,   113,   668,   139,   373,     0,
00559      162,     0,   186,     0,   114,     0,   146,     0,    33,   636,
00560        0,   192,   636,     0,   373,   296,   637,     0,   637,     0,
00561      173,   668,     0,    89,   668,   134,   199,    84,   117,   376,
00562        0,    89,   668,   134,    84,   117,   376,     0,    89,   668,
00563      199,    84,   117,   376,     0,    89,   668,    84,   117,   376,
00564        0,   509,   378,   377,     0,   509,   378,     0,   509,   377,
00565        0,   509,     0,   117,   189,   171,     0,   117,   231,   170,
00566      632,     0,   117,   231,     0,   175,    51,   379,     0,   379,
00567      296,   380,     0,   380,     0,   381,   463,   382,     0,   381,
00568      463,     0,   381,   382,     0,   381,     0,   666,     0,    13,
00569        0,    41,     0,    97,     0,   384,     0,   387,     0,   389,
00570        0,   390,     0,   391,     0,   392,     0,   385,     0,   386,
00571        0,   456,     0,   449,     0,   411,     0,   395,     0,   408,
00572        0,   398,     0,   453,     0,   423,     0,   414,     0,   410,
00573        0,   393,     0,   405,     0,   400,     0,   397,     0,     0,
00574      374,     0,   371,     0,   370,     0,   368,     0,   388,     0,
00575      366,     0,   367,     0,   363,     0,   358,     0,   357,     0,
00576      350,     0,   346,     0,   345,     0,   344,     0,   342,     0,
00577      340,     0,   338,     0,   337,     0,   336,     0,   335,     0,
00578      334,     0,   332,     0,   320,     0,   194,   125,   174,   117,
00579      464,   172,   396,   119,   394,   454,     0,   194,   464,   172,
00580      396,   119,   394,   454,     0,   394,   296,   468,     0,   468,
00581        0,   125,   464,   172,   396,   221,   394,   244,   125,   174,
00582        0,   125,   464,   172,   396,   221,   394,     0,   213,   660,
00583        0,   660,     0,   101,   661,     0,    65,   670,     0,   225,
00584      671,     0,   103,    42,   669,     0,    77,    42,   669,   399,
00585      461,     0,    77,    42,   669,   399,     0,    61,   292,   477,
00586      293,     0,   103,   101,   661,   454,     0,   103,    72,   669,
00587        0,    35,   409,     0,   103,    91,     0,   204,   441,     0,
00588       38,   101,   661,   406,     0,   404,     0,   403,     0,   402,
00589        0,   401,     0,   407,   409,     0,   409,     0,    77,   101,
00590      661,    43,   642,   441,   407,   463,     0,    77,   101,   661,
00591      642,   441,   407,   463,     0,    77,   101,   661,    43,   642,
00592      441,   407,     0,    77,   101,   661,   642,   441,   407,     0,
00593       77,   101,   661,    43,   642,   407,   463,     0,    77,   101,
00594      661,   642,   407,   463,     0,    77,   101,   661,    43,   642,
00595      407,     0,    77,   101,   661,   642,   407,     0,    77,   101,
00596      661,    43,   642,   441,   463,     0,    77,   101,   661,   642,
00597      441,   463,     0,    77,   101,   661,    43,   642,   441,     0,
00598       77,   101,   661,   642,   441,     0,    77,   101,   661,    43,
00599      642,   463,     0,    77,   101,   661,   642,   463,     0,    77,
00600      101,   661,    43,   642,     0,    77,   101,   661,   642,     0,
00601      460,   425,   461,     0,   460,   425,     0,   425,   461,     0,
00602      425,     0,   103,   240,   660,   454,     0,    77,   240,   660,
00603      292,   413,   293,    43,   509,   244,   412,    61,   174,     0,
00604       77,   240,   660,   292,   413,   293,    43,   509,   244,    61,
00605      174,     0,    77,   240,   660,   292,   413,   293,    43,   509,
00606        0,    77,   240,   660,    43,   509,   244,   412,    61,   174,
00607        0,    77,   240,   660,    43,   509,   244,    61,   174,     0,
00608       77,   240,   660,    43,   509,     0,    52,     0,   151,     0,
00609      632,     0,   103,   213,   660,   454,     0,   103,    72,   669,
00610      454,     0,    35,   439,     0,   103,    66,   666,   454,     0,
00611      103,   666,   454,     0,   103,    91,     0,   204,   441,     0,
00612       38,    66,   666,   421,     0,    38,   666,   421,     0,   419,
00613        0,   418,     0,    35,    66,   444,     0,    35,   444,     0,
00614       38,   213,   660,   424,     0,   422,     0,   420,     0,   417,
00615        0,   416,     0,   415,     0,    61,   292,   477,   293,     0,
00616      116,   145,   292,   429,   293,   427,     0,   191,   430,   153,
00617      428,   432,     0,   191,   430,   153,   428,     0,   191,   430,
00618      432,     0,   191,   430,     0,   120,     0,   180,     0,   431,
00619        0,   660,   292,   431,   293,     0,   660,     0,   632,     0,
00620      433,   434,     0,   434,   433,     0,   433,     0,   434,     0,
00621      172,   231,   435,     0,   172,    94,   435,     0,    53,     0,
00622      204,   167,     0,   204,    91,     0,   165,    34,     0,   437,
00623      292,   438,   293,     0,   229,     0,   185,   145,     0,   632,
00624        0,   460,   440,   461,     0,   460,   440,     0,   440,   461,
00625        0,   440,     0,   436,     0,   426,     0,   425,     0,    91,
00626      442,     0,   676,     0,   595,     0,   234,     0,    82,     0,
00627      202,     0,   212,     0,   167,     0,   443,   445,     0,   445,
00628        0,   666,   642,   441,   443,   463,     0,   666,   642,   441,
00629      443,     0,   666,   642,   443,   463,     0,   666,   642,   443,
00630        0,   666,   661,   441,   443,   463,     0,   666,   661,   441,
00631      443,     0,   666,   661,   443,   463,     0,   666,   661,   443,
00632        0,   666,   642,   441,   463,     0,   666,   642,   441,     0,
00633      666,   642,   463,     0,   666,   642,     0,   666,   661,   441,
00634      463,     0,   666,   661,   441,     0,   666,   661,   463,     0,
00635      666,   661,     0,   460,   446,   461,     0,   460,   446,     0,
00636      446,   461,     0,   446,     0,   164,   167,     0,   437,     0,
00637      427,     0,   425,     0,   122,   214,     0,   151,   214,     0,
00638      172,    67,    94,   197,     0,   172,    67,   184,   197,     0,
00639       77,   447,   213,   660,   451,   448,     0,    77,   447,   213,
00640      660,   451,     0,    77,   213,   660,   451,     0,   450,   296,
00641      452,     0,   452,     0,   292,   450,   293,     0,   444,     0,
00642      439,     0,   103,   198,   662,   454,     0,    53,     0,   193,
00643        0,   455,   459,     0,   459,     0,    77,   198,   457,   455,
00644        0,    77,   198,   457,     0,   662,    45,   458,     0,   662,
00645        0,    45,   458,     0,   659,     0,   408,     0,   449,     0,
00646      411,     0,   395,     0,   398,     0,    72,   669,     0,   462,
00647      164,    92,     0,   462,    92,     0,   462,     0,   164,    92,
00648      462,     0,   164,    92,     0,    92,   462,     0,    92,     0,
00649      131,    93,     0,   131,   129,     0,    64,   670,     0,    37,
00650      187,     0,   465,     0,   465,   296,   466,     0,   466,     0,
00651      201,     0,    94,     0,   135,   292,   467,   293,     0,   135,
00652        0,   231,   292,   467,   293,     0,   231,     0,   191,   292,
00653      467,   293,     0,   191,     0,   233,     0,   632,     0,   188,
00654        0,   659,     0,   470,   221,   471,     0,   472,     0,   474,
00655      292,   476,   293,     0,   474,     0,   474,     0,   200,   292,
00656      475,   293,     0,   200,     0,   474,   292,   476,   293,     0,
00657      474,     0,   200,   292,   476,   296,   475,   293,     0,   200,
00658      292,   476,   293,     0,   200,     0,   474,     0,   200,     0,
00659      247,     0,   157,     0,    86,     0,   128,     0,   156,     0,
00660       13,     0,    13,     0,   478,     0,   477,   176,   478,     0,
00661      479,     0,   478,    39,   479,     0,   164,   480,     0,   480,
00662        0,   482,   143,   164,   481,     0,   482,   143,   481,     0,
00663      482,     0,   227,     0,   112,     0,   230,     0,   504,     0,
00664      292,   477,   293,     0,   641,     0,   484,   179,   485,     0,
00665      544,     0,   544,     0,   544,   153,   229,   180,   507,     0,
00666      544,   153,   229,   120,   507,     0,   544,   153,   229,   507,
00667        0,   544,   153,   180,   507,     0,   544,   153,   120,   507,
00668        0,   544,   153,   507,     0,   229,   507,     0,   110,   507,
00669        0,   544,   503,   490,   507,     0,   491,     0,   492,     0,
00670       37,     0,   207,     0,    40,     0,   544,   143,   164,   167,
00671        0,   544,   143,   167,     0,   495,   163,   496,   106,   497,
00672        0,   495,   163,   496,     0,   495,   150,   496,   106,   497,
00673        0,   495,   150,   496,     0,   563,     0,   563,     0,   563,
00674        0,   544,   164,   141,   499,     0,   544,   141,   499,     0,
00675      507,     0,   292,   500,   293,     0,   500,   296,   575,     0,
00676      575,     0,   544,   164,    47,   544,    39,   544,     0,   544,
00677       47,   544,    39,   544,     0,   544,   503,   544,     0,   301,
00678        0,    29,     0,   300,     0,   302,     0,    31,     0,    30,
00679        0,   502,     0,   501,     0,   498,     0,   494,     0,   493,
00680        0,   489,     0,   488,     0,   487,     0,   486,     0,   483,
00681        0,   508,     0,   508,     0,   508,     0,   292,   509,   293,
00682        0,   510,     0,   530,     0,   512,     0,   509,   228,    37,
00683      517,   511,     0,   509,   228,    37,   511,     0,   509,   228,
00684      517,   511,     0,   509,   228,   511,     0,   509,   108,    37,
00685      517,   511,     0,   509,   108,    37,   511,     0,   509,   108,
00686      517,   511,     0,   509,   108,   511,     0,   512,     0,   530,
00687        0,   514,     0,   511,   137,    37,   517,   513,     0,   511,
00688      137,    37,   513,     0,   511,   137,   517,   513,     0,   511,
00689      137,   513,     0,   514,     0,   530,     0,   515,     0,   292,
00690      510,   293,     0,   519,     0,   542,     0,   516,     0,   213,
00691      660,     0,    75,    51,   292,   518,   293,     0,    75,     0,
00692      632,     0,   201,   627,   521,   541,     0,   201,   521,   541,
00693        0,   520,   296,   522,     0,   522,     0,   294,     0,   520,
00694        0,   523,     0,    23,     0,    24,     0,    25,     0,   575,
00695      524,     0,   575,     0,    43,   666,     0,   666,     0,   127,
00696      477,     0,   126,    51,   527,     0,   527,   296,   528,     0,
00697      528,     0,   628,   463,     0,   628,     0,   243,   477,     0,
00698      531,     0,   532,     0,   292,   530,   293,     0,   629,    78,
00699      144,   629,     0,   629,   160,   536,   144,   629,   533,     0,
00700      629,   160,   536,   144,   629,     0,   629,   160,   144,   629,
00701      533,     0,   629,   536,   144,   629,   533,     0,   629,   160,
00702      144,   629,     0,   629,   536,   144,   629,     0,   629,   144,
00703      629,   533,     0,   629,   144,   629,     0,   534,     0,   535,
00704        0,   172,   477,     0,   235,   292,   538,   293,     0,   132,
00705        0,   537,   177,     0,   537,     0,   228,     0,   148,     0,
00706      195,     0,   120,     0,   632,     0,   539,   296,   629,     0,
00707      629,     0,   119,   539,     0,   540,   529,   526,   525,     0,
00708      540,   529,   526,     0,   540,   529,   525,     0,   540,   526,
00709      525,     0,   540,   529,     0,   540,   526,     0,   540,   525,
00710        0,   540,     0,   236,   543,     0,   543,   296,   544,     0,
00711      544,     0,   546,     0,   292,   545,   293,     0,   506,     0,
00712      545,   296,   546,     0,   546,     0,   575,     0,   547,     0,
00713      548,     0,   167,     0,    91,     0,   550,     0,   553,   295,
00714      554,     0,   553,   297,   554,     0,   292,   556,   297,   557,
00715      293,   469,     0,   551,     0,   555,   294,   573,     0,   555,
00716      298,   573,     0,   572,   294,   551,     0,   682,   552,     0,
00717      552,     0,   576,   469,     0,   576,     0,   549,     0,   550,
00718        0,   550,     0,   557,     0,   549,   295,   557,     0,   556,
00719      295,   550,     0,   556,   297,   550,     0,   558,     0,   559,
00720      560,     0,   559,     0,   576,     0,   595,     0,    44,   561,
00721        0,   151,     0,   220,   248,   549,     0,   563,     0,   567,
00722        0,   564,     0,   565,     0,   563,    32,   565,     0,   566,
00723      463,     0,   566,     0,   576,     0,   599,     0,   568,     0,
00724      569,     0,   567,    32,   569,     0,   570,     0,   576,     0,
00725      599,     0,   572,     0,   571,   295,   572,     0,   571,   297,
00726      572,     0,   573,     0,   572,   294,   573,     0,   572,   298,
00727      573,     0,   682,   574,     0,   574,     0,   576,     0,   614,
00728        0,   571,     0,   562,     0,   556,     0,   549,     0,   634,
00729        0,   628,     0,   624,     0,   505,     0,   580,     0,   292,
00730      575,   293,     0,   577,     0,    55,   292,   578,    43,   579,
00731      293,     0,   575,     0,   167,     0,   661,     0,   642,     0,
00732      582,     0,   583,     0,   581,   296,   575,     0,   575,     0,
00733      166,   292,   575,   296,   575,   293,     0,    63,   292,   581,
00734      293,     0,   585,     0,   587,     0,   584,   588,     0,   588,
00735        0,    54,   591,   584,   590,   105,     0,    54,   591,   584,
00736      105,     0,   586,   589,     0,   589,     0,    54,   586,   590,
00737      105,     0,    54,   586,   105,     0,   242,   592,   215,   593,
00738        0,   242,   477,   215,   593,     0,   104,   593,     0,   575,
00739        0,   575,     0,   594,     0,   167,     0,   575,     0,   596,
00740        0,   597,     0,   598,     0,    79,     0,    81,   292,   653,
00741      293,     0,    81,     0,    80,   292,   654,   293,     0,    80,
00742        0,   600,     0,   610,     0,   601,     0,   602,     0,   603,
00743        0,   604,     0,   605,     0,   210,   292,   563,   119,   612,
00744      117,   613,   293,     0,   210,   292,   563,   119,   612,   293,
00745        0,   232,   292,   563,   293,     0,   152,   292,   563,   293,
00746        0,    74,   292,   563,   235,   672,   293,     0,   224,   292,
00747      563,   235,   671,   293,     0,   226,   292,   606,   293,     0,
00748      608,   609,   119,   607,     0,   608,   119,   607,     0,   609,
00749      119,   607,     0,   119,   607,     0,   607,     0,   563,     0,
00750      147,     0,   222,     0,    50,     0,   563,     0,   611,     0,
00751      210,   292,   567,   119,   612,   117,   613,   293,     0,   210,
00752      292,   567,   119,   612,   293,     0,   571,     0,   571,     0,
00753      615,     0,   620,     0,   616,     0,   181,   292,   563,   141,
00754      563,   293,     0,   617,     0,   618,     0,   619,     0,    59,
00755      292,   562,   293,     0,    57,   292,   562,   293,     0,   169,
00756      292,   562,   293,     0,    48,   292,   562,   293,     0,   111,
00757      292,   621,   119,   623,   293,     0,   473,     0,   622,     0,
00758      218,     0,   219,     0,   556,     0,   549,     0,    76,   292,
00759      294,   293,     0,   625,     0,   626,   292,   627,   575,   293,
00760        0,   626,   292,   575,   293,     0,    46,     0,   154,     0,
00761      155,     0,   211,     0,    76,     0,   100,     0,    37,     0,
00762       20,     0,    21,     0,    22,     0,   666,     0,   660,    43,
00763      667,   292,   631,   293,     0,   660,   667,   292,   631,   293,
00764        0,   660,    43,   667,     0,   660,   667,     0,   660,     0,
00765      630,    43,   667,   292,   631,   293,     0,   630,   667,   292,
00766      631,   293,     0,   630,    43,   667,     0,   630,   667,     0,
00767      530,     0,   507,     0,   632,     0,   632,   296,   666,     0,
00768      666,     0,   676,     0,   635,     0,   677,     0,   635,     0,
00769      639,     0,   640,     0,   234,     0,    82,     0,   202,     0,
00770      212,     0,   237,     0,   319,     0,   676,     0,   640,     0,
00771      319,     0,   303,     0,   319,     0,   319,     0,   643,     0,
00772      644,     0,   645,     0,   646,     0,   652,     0,   656,     0,
00773       58,   292,   649,   293,     0,    58,     0,    60,   292,   649,
00774      293,     0,    60,     0,    58,   239,   292,   649,   293,     0,
00775       60,   239,   292,   649,   293,     0,   238,   292,   649,   293,
00776        0,   159,    58,   292,   649,   293,     0,   159,    58,     0,
00777      159,    60,   292,   649,   293,     0,   159,    60,     0,   161,
00778      292,   649,   293,     0,   161,     0,   159,    58,   239,   292,
00779      649,   293,     0,   159,    60,   239,   292,   649,   293,     0,
00780      161,   239,   292,   649,   293,     0,    49,   239,   292,   649,
00781      293,     0,    49,   292,   649,   293,     0,    49,     0,   647,
00782        0,   648,     0,   168,   292,   650,   296,   651,   293,     0,
00783      168,   292,   650,   293,     0,   168,     0,    88,   292,   650,
00784      296,   651,   293,     0,    88,   292,   650,   293,     0,    88,
00785        0,    90,   292,   650,   296,   651,   293,     0,    90,   292,
00786      650,   293,     0,    90,     0,   136,     0,   140,     0,   206,
00787        0,   115,   292,   650,   293,     0,   115,     0,   190,     0,
00788      102,   182,     0,    13,     0,    13,     0,    13,     0,    85,
00789        0,   220,   292,   653,   293,   244,   220,   248,     0,   220,
00790      292,   653,   293,     0,   220,   244,   220,   248,     0,   220,
00791        0,   217,   292,   654,   293,   244,   220,   248,     0,   217,
00792      292,   654,   293,     0,   217,   244,   220,   248,     0,   217,
00793        0,   655,     0,   655,     0,    13,     0,   138,   469,     0,
00794      658,     0,   689,     0,    27,     0,   657,     0,   319,     0,
00795      664,     0,   664,     0,    22,     0,   663,     0,   657,     0,
00796      319,     0,    21,     0,    22,     0,   665,     0,   657,     0,
00797      657,     0,   657,     0,   657,     0,   319,     0,   692,     0,
00798      693,     0,   657,     0,   696,   636,     0,   636,     0,   696,
00799      636,     0,   636,     0,   696,   636,     0,   636,     0,   122,
00800        0,   151,     0,   664,     0,   664,     0,   664,     0,   664,
00801        0,   636,     0,   636,     0,   636,     0,   679,     0,   678,
00802        0,   680,     0,   678,     0,     9,     0,    10,     0,    11,
00803        0,    12,     0,   684,     0,   688,     0,   682,   680,     0,
00804      680,     0,   681,     0,   683,     0,    14,     0,    13,     0,
00805      295,     0,   297,     0,    15,     0,   685,     0,   686,     0,
00806      687,     0,    85,    16,     0,   220,    17,     0,   217,    18,
00807        0,   138,   682,    19,   469,     0,   138,    19,   469,     0,
00808      690,     0,   249,     0,   250,     0,   251,     0,   252,     0,
00809      253,     0,   254,     0,   255,     0,   256,     0,   257,     0,
00810      258,     0,   259,     0,   260,     0,   261,     0,   262,     0,
00811      263,     0,   264,     0,   265,     0,   266,     0,   267,     0,
00812      268,     0,   269,     0,   270,     0,   271,     0,   272,     0,
00813      273,     0,   274,     0,   275,     0,   276,     0,   277,     0,
00814      278,     0,   279,     0,   280,     0,   281,     0,   282,     0,
00815      283,     0,   284,     0,   285,     0,   286,     0,   287,     0,
00816      288,     0,   289,     0,   290,     0,   291,     0,    26,     0
00817 };
00818 
00819 #endif
00820 
00821 #if YYDEBUG
00822 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
00823 static const short yyrline[] =
00824 {
00825        0,   572,   574,   577,   646,   654,   669,   679,   685,   692,
00826      698,   704,   713,   720,   728,   732,   741,   743,   753,   766,
00827      774,   789,   790,   796,   798,   802,   803,   806,   810,   818,
00828      825,   844,   854,   862,   871,   880,   889,   900,   906,   911,
00829      916,   921,   931,   940,   949,   959,   969,   975,   980,   985,
00830      990,   995,  1000,  1005,  1010,  1015,  1020,  1025,  1030,  1035,
00831     1040,  1045,  1050,  1057,  1077,  1088,  1912,  1921,  1928,  1941,
00832     1960,  1979,  1998,  2017,  2026,  2033,  2038,  2051,  2060,  2066,
00833     2080,  2089,  2098,  2105,  2112,  2118,  2135,  2141,  2154,  2160,
00834     2177,  2185,  2197,  2206,  2215,  2221,  2239,  2248,  2257,  2267,
00835     2274,  2280,  2288,  2294,  2301,  2310,  2316,  2321,  2326,  2333,
00836     2342,  2361,  2370,  2385,  2398,  2407,  2416,  2426,  2433,  2439,
00837     2446,  2461,  2471,  2480,  2486,  2493,  2509,  2517,  2531,  2547,
00838     2559,  2571,  2580,  2595,  2611,  2622,  2630,  2639,  2645,  2650,
00839     2655,  2660,  2666,  2674,  2683,  2697,  2711,  2721,  2729,  2737,
00840     2746,  2757,  2765,  2774,  2783,  2789,  2795,  2802,  2811,  2820,
00841     2829,  2838,  2845,  2852,  2860,  2867,  2875,  2881,  2895,  2902,
00842     2908,  2914,  2920,  2934,  2942,  2944,  2951,  2953,  2954,  2955,
00843     2956,  2957,  2964,  2966,  2967,  2968,  2969,  2970,  2971,  2972,
00844     2975,  2976,  2977,  2978,  2979,  2980,  2983,  2985,  2986,  2987,
00845     2988,  2991,  2993,  2994,  2995,  2998,  3000,  3001,  3004,  3006,
00846     3007,  3008,  3009,  3042,  3056,  3067,  3089,  3098,  3107,  3118,
00847     3132,  3139,  3145,  3151,  3157,  3171,  3187,  3196,  3205,  3220,
00848     3236,  3251,  3266,  3280,  3295,  3305,  3307,  3308,  3309,  3321,
00849     3330,  3339,  3351,  3362,  3372,  3382,  3392,  3402,  3411,  3420,
00850     3430,  3440,  3449,  3458,  3467,  3476,  3483,  3492,  3501,  3508,
00851     3515,  3529,  3545,  3558,  3569,  3579,  3589,  3598,  3608,  3614,
00852     3621,  3637,  3653,  3669,  3684,  3692,  3707,  3721,  3736,  3744,
00853     3753,  3755,  3764,  3771,  3785,  3796,  3798,  3799,  3800,  3801,
00854     3810,  3825,  3835,  3844,  3851,  3858,  3866,  3872,  3879,  3889,
00855     3898,  3906,  3916,  3924,  3931,  3937,  3945,  3954,  3963,  3969,
00856     3974,  3979,  3992,  4003,  4009,  4016,  4032,  4041,  4048,  4055,
00857     4063,  4070,  4076,  4090,  4099,  4106,  4112,  4117,  4122,  4127,
00858     4132,  4148,  4157,  4166,  4177,  4186,  4195,  4203,  4214,  4224,
00859     4234,  4243,  4252,  4260,  4268,  4275,  4285,  4294,  4303,  4313,
00860     4322,  4329,  4336,  4344,  4350,  4356,  4362,  4380,  4386,  4396,
00861     4402,  4409,  4423,  4434,  4447,  4457,  4467,  4478,  4486,  4500,
00862     4510,  4516,  4532,  4541,  4553,  4562,  4570,  4578,  4584,  4592,
00863     4601,  4608,  4614,  4620,  4626,  4644,  4653,  4660,  4666,  4672,
00864     4678,  4683,  4689,  4696,  4702,  4715,  4730,  4736,  4745,  4754,
00865     4763,  4769,  4774,  4780,  4785,  4791,  4796,  4802,  4807,  4814,
00866     4824,  4830,  4844,  4852,  4860,  4868,  4876,  4883,  4889,  4896,
00867     4905,  4911,  4919,  4925,  4932,  4939,  4946,  4952,  4957,  4962,
00868     4967,  4974,  4983,  5004,  5011,  5020,  5027,  5036,  5043,  5051,
00869     5059,  5066,  5074,  5080,  5085,  5095,  5102,  5108,  5123,  5133,
00870     5143,  5159,  5168,  5176,  5184,  5192,  5200,  5216,  5232,  5247,
00871     5259,  5266,  5274,  5282,  5288,  5301,  5308,  5326,  5335,  5342,
00872     5350,  5359,  5368,  5377,  5392,  5400,  5409,  5417,  5426,  5435,
00873     5456,  5465,  5481,  5493,  5499,  5504,  5509,  5514,  5519,  5533,
00874     5535,  5536,  5537,  5538,  5539,  5540,  5541,  5542,  5543,  5557,
00875     5567,  5577,  5587,  5603,  5611,  5620,  5628,  5637,  5645,  5654,
00876     5662,  5671,  5679,  5688,  5698,  5706,  5715,  5723,  5732,  5740,
00877     5749,  5759,  5767,  5776,  5784,  5793,  5795,  5796,  5799,  5808,
00878     5816,  5823,  5850,  5860,  5873,  5883,  5893,  5900,  5910,  5917,
00879     5926,  5934,  5943,  5951,  5959,  5966,  5982,  5998,  6008,  6017,
00880     6026,  6034,  6049,  6065,  6072,  6079,  6094,  6110,  6120,  6128,
00881     6136,  6145,  6152,  6160,  6168,  6177,  6184,  6192,  6201,  6211,
00882     6217,  6223,  6229,  6236,  6242,  6247,  6254,  6273,  6282,  6291,
00883     6307,  6317,  6325,  6333,  6341,  6348,  6355,  6362,  6377,  6387,
00884     6396,  6412,  6420,  6427,  6436,  6445,  6454,  6461,  6467,  6475,
00885     6483,  6501,  6508,  6515,  6522,  6532,  6539,  6546,  6553,  6562,
00886     6570,  6578,  6586,  6594,  6603,  6612,  6627,  6634,  6641,  6648,
00887     6657,  6666,  6674,  6682,  6689,  6697,  6706,  6712,  6726,  6733,
00888     6741,  6748,  6756,  6766,  6774,  6782,  6789,  6797,  6804,  6812,
00889     6822,  6831,  6838,  6852,  6859,  6866,  6875,  6882,  6889,  6898,
00890     6906,  6914,  6921,  6935,  6942,  6948,  6955,  6964,  6971,  6977,
00891     6983,  6990,  6997,  7003,  7018,  7028,  7035,  7042,  7049,  7063,
00892     7070,  7081,  7090,  7105,  7113,  7122,  7124,  7130,  7139,  7148,
00893     7157,  7169,  7178,  7187,  7195,  7203,  7213,  7223,  7232,  7241,
00894     7250,  7257,  7264,  7279,  7285,  7290,  7297,  7305,  7313,  7320,
00895     7328,  7342,  7349,  7357,  7359,  7360,  7361,  7362,  7365,  7377,
00896     7388,  7395,  7403,  7415,  7427,  7436,  7445,  7452,  7459,  7465,
00897     7473,  7482,  7488,  7493,  7500,  7509,  7518,  7530,  7541,  7550,
00898     7565,  7567,  7568,  7577,  7589,  7591,  7592,  7595,  7602,  7610,
00899     7619,  7628,  7638,  7640,  7643,  7649,  7656,  7663,  7678,  7684,
00900     7692,  7701,  7710,  7716,  7721,  7726,  7731,  7738,  7744,  7768,
00901     7778,  7786,  7793,  7807,  7818,  7827,  7835,  7842,  7848,  7858,
00902     7867,  7875,  7882,  7890,  7900,  7910,  7919,  7934,  7941,  7949,
00903     7956,  7968,  7975,  7981,  7986,  7991,  7996,  8001,  8012,  8019,
00904     8031,  8044,  8053,  8061,  8074,  8092,  8094,  8095,  8096,  8097,
00905     8098,  8101,  8108,  8113,  8119,  8124,  8130,  8136,  8144,  8151,
00906     8156,  8162,  8167,  8173,  8178,  8184,  8190,  8198,  8205,  8211,
00907     8218,  8220,  8223,  8231,  8237,  8242,  8249,  8255,  8260,  8267,
00908     8273,  8278,  8283,  8288,  8295,  8302,  8307,  8312,  8319,  8328,
00909     8337,  8346,  8352,  8358,  8364,  8369,  8374,  8380,  8386,  8391,
00910     8398,  8407,  8416,  8425,  8444,  8448,  8455,  8471,  8478,  8487,
00911     8496,  8515,  8523,  8531,  8538,  8557,  8566,  8573,  8581,  8590,
00912     8599,  8608,  8615,  8624,  8631,  8639,  8648,  8656,  8681,  8689,
00913     8697,  8705,  8713,  8719,  8726,  8735,  8744,  8753,  8762,  8771,
00914     8780,  8803,  8810,  8818,  8825,  8833,  8840,  8846,  8852,  8858,
00915     8864,  8872,  8880,  8888,  8895,  8903,  8910,  8918,  8924,  8931,
00916     8940,  8948,  8954,  8962,  8971,  8980,  8989,  8998,  9014,  9025,
00917     9027,  9028,  9029,  9030,  9031,  9032,  9033,  9034,  9035,  9036,
00918     9037,  9038,  9039,  9040,  9041,  9042,  9043,  9044,  9045,  9046,
00919     9047,  9048,  9049,  9050,  9051,  9052,  9053,  9054,  9055,  9056,
00920     9057,  9058,  9059,  9060,  9061,  9062,  9063,  9064,  9065,  9066,
00921     9067,  9068,  9069
00922 };
00923 #endif
00924 
00925 
00926 #if (YYDEBUG) || defined YYERROR_VERBOSE
00927 
00928 /* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
00929 static const char *const yytname[] =
00930 {
00931   "$", "error", "$undefined.", "EMBEDDED_SQL_BEGIN", "EMBEDDED_SQL_END", 
00932   "LEXICAL_ERROR", "EMBEDDED_N_ADIC_FUNCTION_CALL", "EMBEDDED_ARRAY", 
00933   "EMBEDDED_VARIABLE_NAME", "CHARACTER_STRING_LITERAL", 
00934   "NATIONAL_CHARACTER_STRING_LITERAL", "BIT_STRING_LITERAL", 
00935   "HEX_STRING_LITERAL", "UNSIGNED_INTEGER", "REAL_EXACT_NUMERIC_LITERAL", 
00936   "APPROXIMATE_NUMERIC_LITERAL", "DATE_STRING", "TIME_STRING", 
00937   "TIMESTAMP_STRING", "INTERVAL_STRING", "FOURTH_LEVEL_IDENTIFIER", 
00938   "THIRD_LEVEL_IDENTIFIER", "SECOND_LEVEL_IDENTIFIER", 
00939   "FOURTH_LEVEL_ASTERISK", "THIRD_LEVEL_ASTERISK", 
00940   "SECOND_LEVEL_ASTERISK", "IDENTIFIER_BODY", "DELIMITED_IDENTIFIER", 
00941   "MULTI_HOST_IDENTIFIER", "NOT_EQUALS_OPERATOR", 
00942   "GREATER_THAN_OR_EQUALS_OPERATOR", "LESS_THAN_OR_EQUALS_OPERATOR", 
00943   "CONCATENATION_OPERATOR", "RW_ABSOLUTE", "RW_ACTION", "RW_ADD", 
00944   "RW_ALLOCATE", "RW_ALL", "RW_ALTER", "RW_AND", "RW_ANY", "RW_ASC", 
00945   "RW_ASSERTION", "RW_AS", "RW_AT", "RW_AUTHORIZATION", "RW_AVG", 
00946   "RW_BETWEEN", "RW_BIT_LENGTH", "RW_BIT", "RW_BOTH", "RW_BY", 
00947   "RW_CASCADED", "RW_CASCADE", "RW_CASE", "RW_CAST", "RW_CATALOG", 
00948   "RW_CHARACTER_LENGTH", "RW_CHARACTER", "RW_CHAR_LENGTH", "RW_CHAR", 
00949   "RW_CHECK", "RW_CLOSE", "RW_COALESCE", "RW_COLLATE", "RW_COLLATION", 
00950   "RW_COLUMN", "RW_COMMIT", "RW_CONDITION", "RW_CONNECTION", "RW_CONNECT", 
00951   "RW_CONSTRAINTS", "RW_CONSTRAINT", "RW_CONTINUE", "RW_CONVERT", 
00952   "RW_CORRESPONDING", "RW_COUNT", "RW_CREATE", "RW_CROSS", 
00953   "RW_CURRENT_DATE", "RW_CURRENT_TIMESTAMP", "RW_CURRENT_TIME", 
00954   "RW_CURRENT_USER", "RW_CURRENT", "RW_CURSOR", "RW_DATE", "RW_DAY", 
00955   "RW_DEALLOCATE", "RW_DECIMAL", "RW_DECLARE", "RW_DEC", "RW_DEFAULT", 
00956   "RW_DEFERRABLE", "RW_DEFERRED", "RW_DELETE", "RW_DESCRIBE", 
00957   "RW_DESCRIPTOR", "RW_DESC", "RW_DIAGNOSTICS", "RW_DISCONNECT", 
00958   "RW_DISTINCT", "RW_DOMAIN", "RW_DOUBLE", "RW_DROP", "RW_ELSE", "RW_END", 
00959   "RW_ESCAPE", "RW_EXCEPTION", "RW_EXCEPT", "RW_EXECUTE", "RW_EXISTS", 
00960   "RW_EXTRACT", "RW_FALSE", "RW_FETCH", "RW_FIRST", "RW_FLOAT", 
00961   "RW_FOREIGN", "RW_FOR", "RW_FOUND", "RW_FROM", "RW_FULL", "RW_GET", 
00962   "RW_GLOBAL", "RW_GOTO", "RW_GO", "RW_GRANT", "RW_GROUP", "RW_HAVING", 
00963   "RW_HOUR", "RW_IMMEDIATE", "RW_INDICATOR", "RW_INITIALLY", "RW_INNER", 
00964   "RW_INPUT", "RW_INSENSITIVE", "RW_INSERT", "RW_INTEGER", "RW_INTERSECT", 
00965   "RW_INTERVAL", "RW_INTO", "RW_INT", "RW_IN", "RW_ISOLATION", "RW_IS", 
00966   "RW_JOIN", "RW_KEY", "RW_LAST", "RW_LEADING", "RW_LEFT", "RW_LEVEL", 
00967   "RW_LIKE", "RW_LOCAL", "RW_LOWER", "RW_MATCH", "RW_MAX", "RW_MIN", 
00968   "RW_MINUTE", "RW_MONTH", "RW_NAMES", "RW_NATIONAL", "RW_NATURAL", 
00969   "RW_NCHAR", "RW_NEXT", "RW_NOT_LIKE", "RW_NOT", "RW_NO", "RW_NULLIF", 
00970   "RW_NULL", "RW_NUMERIC", "RW_OCTET_LENGTH", "RW_OF", "RW_ONLY", "RW_ON", 
00971   "RW_OPEN", "RW_OPTION", "RW_ORDER", "RW_OR", "RW_OUTER", "RW_OUTPUT", 
00972   "RW_OVERLAPS", "RW_PARTIAL", "RW_POSITION", "RW_PRECISION", 
00973   "RW_PREPARE", "RW_PRESERVE", "RW_PRIMARY", "RW_PRIOR", "RW_PRIVILEGES", 
00974   "RW_PUBLIC", "RW_READ", "RW_REAL", "RW_REFERENCES", "RW_RELATIVE", 
00975   "RW_RESTRICT", "RW_REVOKE", "RW_RIGHT", "RW_ROLLBACK", "RW_ROWS", 
00976   "RW_SCHEMA", "RW_SCROLL", "RW_SECOND", "RW_SELECT", "RW_SESSION_USER", 
00977   "RW_SESSION", "RW_SET", "RW_SIZE", "RW_SMALLINT", "RW_SOME", 
00978   "RW_SQLERROR", "RW_SQL", "RW_SUBSTRING", "RW_SUM", "RW_SYSTEM_USER", 
00979   "RW_TABLE", "RW_TEMPORARY", "RW_THEN", "RW_THROW", "RW_TIMESTAMP", 
00980   "RW_TIMEZONE_HOUR", "RW_TIMEZONE_MINUTE", "RW_TIME", "RW_TO", 
00981   "RW_TRAILING", "RW_TRANSACTION", "RW_TRANSLATE", "RW_TRANSLATION", 
00982   "RW_TRIM", "RW_TRUE", "RW_UNION", "RW_UNIQUE", "RW_UNKNOWN", 
00983   "RW_UPDATE", "RW_UPPER", "RW_USAGE", "RW_USER", "RW_USING", "RW_VALUES", 
00984   "RW_VALUE", "RW_VARCHAR", "RW_VARYING", "RW_VIEW", "RW_WHENEVER", 
00985   "RW_WHEN", "RW_WHERE", "RW_WITH", "RW_WORK", "RW_WRITE", "RW_YEAR", 
00986   "RW_ZONE", "NRW_CATALOG_NAME", "NRW_CHARACTER_SET_CATALOG", 
00987   "NRW_CHARACTER_SET_NAME", "NRW_CHARACTER_SET_SCHEMA", 
00988   "NRW_CLASS_ORIGIN", "NRW_COLLATION_CATALOG", "NRW_COLLATION_NAME", 
00989   "NRW_COLLATION_SCHEMA", "NRW_COLUMN_NAME", "NRW_COMMAND_FUNCTION", 
00990   "NRW_COMMITTED", "NRW_CONDITION_NUMBER", "NRW_CONNECTION_NAME", 
00991   "NRW_CONSTRAINT_CATALOG", "NRW_CONSTRAINT_NAME", 
00992   "NRW_CONSTRAINT_SCHEMA", "NRW_CURSOR_NAME", "NRW_DATA", 
00993   "NRW_DATETIME_INTERVAL_CODE", "NRW_DATETIME_INTERVAL_PRECISION", 
00994   "NRW_DYNAMIC_FUNCTION", "NRW_LENGTH", "NRW_MESSAGE_LENGTH", 
00995   "NRW_MESSAGE_OCTET_LENGTH", "NRW_MESSAGE_TEXT", "NRW_MORE", "NRW_NAME", 
00996   "NRW_NULLABLE", "NRW_NUMBER", "NRW_REPEATABLE", "NRW_RETURNED_LENGTH", 
00997   "NRW_RETURNED_OCTET_LENGTH", "NRW_RETURNED_SQLSTATE", "NRW_ROW_COUNT", 
00998   "NRW_SCALE", "NRW_SCHEMA_NAME", "NRW_SERIALIZABLE", "NRW_SERVER_NAME", 
00999   "NRW_SUBCLASS_ORIGIN", "NRW_TABLE_NAME", "NRW_TYPE", "NRW_UNCOMMITTED", 
01000   "NRW_UNNAMED", "LEFT_PAREN", "RIGHT_PAREN", "ASTERISK", "PLUS_SIGN", 
01001   "COMMA", "MINUS_SIGN", "SOLIDUS", "SEMICOLON", "LESS_THAN_OPERATOR", 
01002   "EQUALS_OPERATOR", "GREATER_THAN_OPERATOR", "QUESTION_MARK", 
01003   "C_host_program", "embedded_SQL_program", "embedded_SQL_C_program", 
01004   "embedded_exception_declaration", "condition", "condition_action", 
01005   "go_to", "goto_target", "throw", "exception_target", 
01006   "host_label_identifier", "embedded_SQL_host_program", 
01007   "embedded_SQL_statement", "statement_or_declaration", "SQL_terminator", 
01008   "embedded_variable_name", "get_diagnostics_statement", 
01009   "sql_diagnostics_information", "statement_information", 
01010   "statement_information_item", "statement_information_item_name", 
01011   "condition_information_item_list", "condition_information", 
01012   "condition_information_item", "condition_information_item_name", 
01013   "condition_number", "declare_search_condition", "search_condition_name", 
01014   "set_local_time_zone_statement", "set_time_zone_value", 
01015   "set_session_authorization_identifier_statement", "set_names_statement", 
01016   "set_schema_statement", "set_catalog_statement", "disconnect_statement", 
01017   "disconnect_object", "set_connection_statement", "connection_object", 
01018   "connect_statement", "connection_target", "rollback_statement", 
01019   "commit_statement", "set_constraints_mode_statement", 
01020   "constraint_name_list_1", "constraint_name_list", 
01021   "transaction_mode_list", "set_transaction_statement", 
01022   "transaction_mode", "transaction_access_mode", "isolation_level", 
01023   "level_of_isolation", "diagnostics_size", "number_of_conditions", 
01024   "update_statement.searched", "update_statement.positioned", 
01025   "set_clause_list", "set_clause", "update_source", "object_column", 
01026   "insert_statement", "insert_columns_and_source", "insert_column_list", 
01027   "delete_statement.searched", "delete_statement.positioned", 
01028   "select_statement.single_row", "select_target_list", "close_statement", 
01029   "fetch_statement", "fetch_orientation", "fetch_target_list", 
01030   "open_statement", "declare_cursor", "cursor_specification", 
01031   "updatability_clause", "order_by_clause", "sort_specification_list", 
01032   "sort_specification", "sort_key", "ordering_specification", 
01033   "SQL_procedure_statement", "SQL_schema_statement", 
01034   "SQL_schema_definition_statement", "SQL_schema_manipulation_statement", 
01035   "SQL_data_statement", "SQL_data_change_statement", 
01036   "SQL_transaction_statement", "SQL_connection_statement", 
01037   "SQL_session_statement", "SQL_diagnostics_statement", 
01038   "revoke_statement", "grantee_list", "grant_statement", "object_name", 
01039   "drop_assertion_statement", "assertion_definition", "assertion_check", 
01040   "drop_domain_statement", "drop_domain_constraint_definition", 
01041   "add_domain_constraint_definition", "drop_domain_default_clause", 
01042   "set_domain_default_clause", "alter_domain_statement", 
01043   "alter_domain_action", "domain_constraint_list", "domain_definition", 
01044   "domain_constraint", "drop_view_statement", "view_definition", 
01045   "levels_clause", "view_column_list", "drop_table_statement", 
01046   "drop_table_constraint_definition", "add_table_constraint_definition", 
01047   "drop_column_definition", "drop_column_default_clause", 
01048   "set_column_default_clause", "alter_column_definition", 
01049   "alter_column_action", "add_column_definition", "alter_table_statement", 
01050   "alter_table_action", "check_constraint_definition", 
01051   "referential_constraint_definition", "references_specification", 
01052   "match_type", "referencing_columns", "referenced_table_and_columns", 
01053   "reference_column_list", "referential_triggered_action", "update_rule", 
01054   "delete_rule", "referential_action", "unique_constraint_definition", 
01055   "unique_specification", "unique_column_list", 
01056   "table_constraint_definition", "table_constraint", "default_clause", 
01057   "default_option", "column_constraint_definition_list", 
01058   "column_definition", "column_constraint_definition", 
01059   "column_constraint", "first_part_table_definition", 
01060   "last_part_table_definition", "table_definition", 
01061   "middle_part_table_element_list", "table_element_list", "table_element", 
01062   "drop_schema_statement", "drop_behavior", "schema_element_list", 
01063   "schema_definition", "schema_name_clause", 
01064   "schema_authorization_identifier", "schema_element", 
01065   "constraint_name_definition", "constraint_attributes", 
01066   "constraint_check_time", "collate_clause", "privileges", "action_list", 
01067   "action", "privilege_column_list", "grantee", "interval_qualifier", 
01068   "start_field", "end_field", "single_datetime_field", "datetime_field", 
01069   "non_second_datetime_field", "interval_fractional_seconds_precision", 
01070   "interval_leading_field_precision", "search_condition", "boolean_term", 
01071   "boolean_factor", "boolean_test", "truth_value", "boolean_primary", 
01072   "overlaps_predicate", "row_value_constructor_1", 
01073   "row_value_constructor_2", "match_predicate", "unique_predicate", 
01074   "exists_predicate", "quantified_comparison_predicate", "quantifier", 
01075   "all", "some", "null_predicate", "like_predicate", "match_value", 
01076   "pattern", "escape_character", "in_predicate", "in_predicate_value", 
01077   "in_value_list", "between_predicate", "comparison_predicate", "comp_op", 
01078   "predicate", "scalar_subquery", "row_subquery", "table_subquery", 
01079   "subquery", "query_expression", "non_join_query_expression", 
01080   "query_term", "non_join_query_term", "query_primary", 
01081   "non_join_query_primary", "simple_table", "explicit_table", 
01082   "corresponding_spec", "corresponding_column_list", 
01083   "query_specification", "select_sublist_list", "select_list", 
01084   "select_sublist", "derived_column", "as_clause", "having_clause", 
01085   "group_by_clause", "grouping_column_reference_list", 
01086   "grouping_column_reference", "where_clause", "joined_table", 
01087   "cross_join", "qualified_join", "join_specification", "join_condition", 
01088   "named_columns_join", "join_type", "outer_join_type", 
01089   "join_column_list", "table_reference_list", "from_clause", 
01090   "table_expression", "table_value_constructor", 
01091   "table_value_constructor_list", "row_value_constructor", 
01092   "row_value_constructor_list", "row_value_constructor_element", 
01093   "null_specification", "default_specification", 
01094   "interval_value_expression", "interval_term", "interval_factor", 
01095   "interval_primary", "interval_value_expression_1", "interval_term_1", 
01096   "interval_term_2", "datetime_value_expression", "datetime_term", 
01097   "datetime_factor", "datetime_primary", "time_zone", 
01098   "time_zone_specifier", "string_value_expression", 
01099   "character_value_expression", "concatenation", "character_factor", 
01100   "character_primary", "bit_value_expression", "bit_concatenation", 
01101   "bit_factor", "bit_primary", "numeric_value_expression", "term", 
01102   "factor", "numeric_primary", "value_expression", 
01103   "value_expression_primary", "cast_specification", "cast_operand", 
01104   "cast_target", "case_expression", "value_expression_list", 
01105   "case_abbreviation", "case_specification", "simple_when_clause_list", 
01106   "simple_case", "searched_when_clause_list", "searched_case", 
01107   "simple_when_clause", "searched_when_clause", "else_clause", 
01108   "case_operand", "when_operand", "result", "result_expression", 
01109   "datetime_value_function", "current_date_value_function", 
01110   "current_time_value_function", "current_timestamp_value_function", 
01111   "string_value_function", "character_value_function", 
01112   "character_substring_function", "fold", "form_of_use_conversion", 
01113   "character_translation", "trim_function", "trim_operands", 
01114   "trim_source", "trim_specification", "trim_character", 
01115   "bit_value_function", "bit_substring_function", "start_position", 
01116   "string_length", "numeric_value_function", "position_expression", 
01117   "length_expression", "char_length_expression", 
01118   "octet_length_expression", "bit_length_expression", 
01119   "extract_expression", "extract_field", "time_zone_field", 
01120   "extract_source", "set_function_specification", "general_set_function", 
01121   "set_function_type", "set_quantifier", "column_reference", 
01122   "table_reference", "derived_table", "derived_column_list", 
01123   "column_name_list", "value_specification", 
01124   "unsigned_value_specification", "general_value_specification", 
01125   "simple_value_specification", "target_specification", 
01126   "simple_target_specification", "dynamic_parameter_specification", 
01127   "variable_specification", "search_condition_value_specification", 
01128   "data_type", "character_string_type", "national_character_string_type", 
01129   "bit_string_type", "numeric_type", "exact_numeric_type", 
01130   "approximate_numeric_type", "length", "precision", "scale", 
01131   "datetime_type", "time_precision", "timestamp_precision", 
01132   "time_fractional_seconds_precision", "interval_type", "identifier", 
01133   "actual_identifier", "authorization_identifier", "table_name", 
01134   "domain_name", "schema_name", "unqualified_schema_name", 
01135   "qualified_name", "qualified_identifier", "column_name", 
01136   "correlation_name", "cursor_name", "constraint_name", "collation_name", 
01137   "translation_name", "form_of_use_conversion_name", "connection_name", 
01138   "schema_location", "user_login", "literal", "unsigned_literal", 
01139   "general_literal", "signed_numeric_literal", "unsigned_numeric_literal", 
01140   "exact_numeric_literal", "sign", "approximate_numeric_literal", 
01141   "datetime_literal", "date_literal", "time_literal", "timestamp_literal", 
01142   "interval_literal", "regular_identifier", "identifier_body", 0
01143 };
01144 #endif
01145 
01146 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
01147 static const short yyr1[] =
01148 {
01149        0,   304,   304,   305,   306,   306,   307,   308,   308,   309,
01150      309,   309,   310,   310,   311,   312,   313,   313,   314,   315,
01151      316,   316,   316,   317,   317,   317,   317,   318,   319,   319,
01152      319,   320,   321,   321,   322,   322,   323,   324,   324,   324,
01153      324,   324,   325,   325,   326,   327,   328,   328,   328,   328,
01154      328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
01155      328,   328,   328,   329,   330,   331,   332,   333,   333,   334,
01156      335,   336,   337,   338,   339,   339,   339,   340,   341,   341,
01157      342,   343,   343,   343,   343,   343,   344,   344,   345,   345,
01158      346,   346,   347,   347,   348,   348,   349,   349,   350,   351,
01159      351,   351,   352,   352,   353,   354,   354,   354,   354,   355,
01160      356,   357,   357,   358,   359,   359,   360,   361,   361,   361,
01161      362,   363,   364,   364,   364,   365,   366,   366,   367,   368,
01162      368,   369,   369,   370,   371,   371,   371,   372,   372,   372,
01163      372,   372,   372,   373,   373,   374,   375,   375,   375,   375,
01164      376,   376,   376,   376,   377,   377,   377,   378,   379,   379,
01165      380,   380,   380,   380,   381,   381,   382,   382,   383,   383,
01166      383,   383,   383,   383,   384,   384,   385,   385,   385,   385,
01167      385,   385,   386,   386,   386,   386,   386,   386,   386,   386,
01168      387,   387,   387,   387,   387,   387,   388,   388,   388,   388,
01169      388,   389,   389,   389,   389,   390,   390,   390,   391,   391,
01170      391,   391,   391,   392,   393,   393,   394,   394,   395,   395,
01171      396,   396,   396,   396,   396,   397,   398,   398,   399,   400,
01172      401,   402,   403,   404,   405,   406,   406,   406,   406,   407,
01173      407,   408,   408,   408,   408,   408,   408,   408,   408,   408,
01174      408,   408,   408,   408,   408,   408,   408,   409,   409,   409,
01175      409,   410,   411,   411,   411,   411,   411,   411,   412,   412,
01176      413,   414,   415,   416,   417,   417,   418,   419,   420,   420,
01177      421,   421,   422,   422,   423,   424,   424,   424,   424,   424,
01178      425,   426,   427,   427,   427,   427,   428,   428,   429,   430,
01179      430,   431,   432,   432,   432,   432,   433,   434,   435,   435,
01180      435,   435,   436,   437,   437,   438,   439,   439,   439,   439,
01181      440,   440,   440,   441,   442,   442,   442,   442,   442,   442,
01182      442,   443,   443,   444,   444,   444,   444,   444,   444,   444,
01183      444,   444,   444,   444,   444,   444,   444,   444,   444,   445,
01184      445,   445,   445,   446,   446,   446,   446,   447,   447,   448,
01185      448,   449,   449,   449,   450,   450,   451,   452,   452,   453,
01186      454,   454,   455,   455,   456,   456,   457,   457,   457,   458,
01187      459,   459,   459,   459,   459,   460,   461,   461,   461,   461,
01188      461,   461,   461,   462,   462,   463,   464,   464,   465,   465,
01189      466,   466,   466,   466,   466,   466,   466,   466,   466,   467,
01190      468,   468,   469,   469,   470,   470,   471,   471,   471,   472,
01191      472,   472,   472,   472,   473,   473,   474,   474,   474,   474,
01192      474,   475,   476,   477,   477,   478,   478,   479,   479,   480,
01193      480,   480,   481,   481,   481,   482,   482,   482,   483,   484,
01194      485,   486,   486,   486,   486,   486,   486,   487,   488,   489,
01195      490,   490,   491,   492,   492,   493,   493,   494,   494,   494,
01196      494,   495,   496,   497,   498,   498,   499,   499,   500,   500,
01197      501,   501,   502,   503,   503,   503,   503,   503,   503,   504,
01198      504,   504,   504,   504,   504,   504,   504,   504,   504,   505,
01199      506,   507,   508,   509,   509,   510,   510,   510,   510,   510,
01200      510,   510,   510,   510,   511,   511,   512,   512,   512,   512,
01201      512,   513,   513,   514,   514,   515,   515,   515,   516,   517,
01202      517,   518,   519,   519,   520,   520,   521,   521,   522,   522,
01203      522,   522,   523,   523,   524,   524,   525,   526,   527,   527,
01204      528,   528,   529,   530,   530,   530,   531,   532,   532,   532,
01205      532,   532,   532,   532,   532,   533,   533,   534,   535,   536,
01206      536,   536,   536,   537,   537,   537,   538,   539,   539,   540,
01207      541,   541,   541,   541,   541,   541,   541,   541,   542,   543,
01208      543,   544,   544,   544,   545,   545,   546,   546,   546,   547,
01209      548,   549,   549,   549,   549,   550,   550,   550,   550,   551,
01210      551,   552,   552,   553,   554,   555,   556,   556,   556,   556,
01211      557,   558,   558,   559,   559,   560,   561,   561,   562,   562,
01212      563,   563,   564,   565,   565,   566,   566,   567,   567,   568,
01213      569,   570,   570,   571,   571,   571,   572,   572,   572,   573,
01214      573,   574,   574,   575,   575,   575,   575,   576,   576,   576,
01215      576,   576,   576,   576,   577,   578,   578,   579,   579,   580,
01216      580,   581,   581,   582,   582,   583,   583,   584,   584,   585,
01217      585,   586,   586,   587,   587,   588,   589,   590,   591,   592,
01218      593,   593,   594,   595,   595,   595,   596,   597,   597,   598,
01219      598,   599,   599,   600,   600,   600,   600,   600,   601,   601,
01220      602,   602,   603,   604,   605,   606,   606,   606,   606,   606,
01221      607,   608,   608,   608,   609,   610,   611,   611,   612,   613,
01222      614,   614,   614,   615,   616,   616,   616,   617,   617,   618,
01223      619,   620,   621,   621,   622,   622,   623,   623,   624,   624,
01224      625,   625,   626,   626,   626,   626,   626,   627,   627,   628,
01225      628,   628,   628,   629,   629,   629,   629,   629,   629,   629,
01226      629,   629,   629,   630,   631,   632,   632,   633,   633,   634,
01227      634,   635,   635,   635,   635,   635,   635,   635,   636,   636,
01228      637,   638,   639,   640,   641,   642,   642,   642,   642,   642,
01229      642,   643,   643,   643,   643,   643,   643,   643,   644,   644,
01230      644,   644,   644,   644,   644,   644,   644,   645,   645,   645,
01231      646,   646,   647,   647,   647,   647,   647,   647,   647,   647,
01232      647,   647,   647,   647,   648,   648,   648,   648,   649,   650,
01233      651,   652,   652,   652,   652,   652,   652,   652,   652,   652,
01234      653,   654,   655,   656,   657,   658,   658,   659,   659,   660,
01235      661,   662,   662,   663,   663,   664,   664,   664,   665,   666,
01236      667,   668,   668,   691,   691,   692,   693,   693,   694,   694,
01237      695,   695,   696,   696,   669,   670,   671,   672,   673,   674,
01238      675,   676,   676,   677,   677,   678,   678,   678,   678,   678,
01239      678,   679,   679,   680,   680,   681,   681,   682,   682,   683,
01240      684,   684,   684,   685,   686,   687,   688,   688,   689,   690,
01241      690,   690,   690,   690,   690,   690,   690,   690,   690,   690,
01242      690,   690,   690,   690,   690,   690,   690,   690,   690,   690,
01243      690,   690,   690,   690,   690,   690,   690,   690,   690,   690,
01244      690,   690,   690,   690,   690,   690,   690,   690,   690,   690,
01245      690,   690,   690
01246 };
01247 
01248 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
01249 static const short yyr2[] =
01250 {
01251        0,     2,     0,     3,     2,     1,     3,     1,     2,     1,
01252        1,     1,     2,     3,     1,     2,     1,     1,     1,     1,
01253        2,     2,     1,     1,     1,     1,     1,     1,     1,     1,
01254        1,     3,     1,     1,     3,     1,     3,     1,     1,     1,
01255        1,     1,     3,     1,     3,     3,     1,     1,     1,     1,
01256        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
01257        1,     1,     1,     1,     5,     1,     4,     1,     1,     4,
01258        3,     3,     3,     2,     1,     1,     1,     3,     1,     1,
01259        3,     5,     3,     3,     1,     1,     2,     1,     2,     1,
01260        4,     4,     3,     1,     1,     1,     3,     1,     3,     1,
01261        1,     1,     2,     2,     3,     2,     2,     2,     1,     3,
01262        1,     6,     4,     8,     3,     1,     3,     1,     1,     1,
01263        1,     4,     4,     1,     2,     1,     5,     3,     7,     6,
01264        5,     3,     1,     2,     6,     5,     4,     1,     1,     1,
01265        1,     2,     2,     3,     1,     2,     7,     6,     6,     5,
01266        3,     2,     2,     1,     3,     4,     2,     3,     3,     1,
01267        3,     2,     2,     1,     1,     1,     1,     1,     1,     1,
01268        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
01269        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
01270        0,     1,     1,     1,     1,     1,     1,     1,     1,     1,
01271        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
01272        1,     1,     1,     1,    10,     7,     3,     1,     9,     6,
01273        2,     1,     2,     2,     2,     3,     5,     4,     4,     4,
01274        3,     2,     2,     2,     4,     1,     1,     1,     1,     2,
01275        1,     8,     7,     7,     6,     7,     6,