Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/lex.cc

    r1b29996 r9059213  
    382382        (yy_c_buf_p) = yy_cp;
    383383
    384 #define YY_NUM_RULES 183
    385 #define YY_END_OF_BUFFER 184
     384#define YY_NUM_RULES 181
     385#define YY_END_OF_BUFFER 182
    386386/* This struct is not used in this scanner,
    387387   but its presence is necessary. */
     
    391391        flex_int32_t yy_nxt;
    392392        };
    393 static yyconst flex_int16_t yy_accept[895] =
     393static yyconst flex_int16_t yy_accept[892] =
    394394    {   0,
    395         0,    0,    0,    0,    0,    0,  118,  118,  121,  121,
    396       184,  182,    7,    9,    8,  141,  120,  103,  146,  149,
    397       117,  128,  129,  144,  142,  132,  143,  135,  145,  108,
    398       109,  110,  133,  134,  151,  153,  152,  154,  182,  103,
    399       126,  182,  127,  147,  103,  105,  103,  103,  103,  103,
     395        0,    0,    0,    0,    0,    0,  116,  116,  119,  119,
     396      182,  180,    7,    9,    8,  139,  118,  103,  144,  147,
     397      115,  126,  127,  142,  140,  130,  141,  133,  143,  108,
     398      109,  110,  131,  132,  149,  151,  150,  152,  180,  103,
     399      124,  180,  125,  145,  103,  105,  103,  103,  103,  103,
    400400      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
    401       103,  103,  130,  150,  131,  148,    7,  182,    4,    4,
    402       183,  106,  183,  107,  118,  119,  125,  121,  122,    7,
    403         9,    0,    8,  158,  177,  103,    0,  170,  140,  163,
    404       171,  168,  155,  166,  156,  167,  165,    0,  114,    3,
    405 
    406         0,  169,  113,  111,    0,    0,  111,  111,    0,    0,
    407       111,  110,  110,  110,    0,  110,  138,  139,  137,  159,
    408       161,  157,  162,  160,    0,    0,    0,    0,    0,    0,
     401      103,  103,  128,  148,  129,  146,    7,  180,    4,    4,
     402      181,  106,  181,  107,  116,  117,  123,  119,  120,    7,
     403        9,    0,    8,  156,  175,  103,    0,  168,  138,  161,
     404      169,  166,  153,  164,  154,  165,  163,    0,  113,    3,
     405
     406        0,  167,  113,  111,    0,    0,  111,  111,    0,    0,
     407      111,  110,  110,  110,    0,  110,  136,  137,  135,  157,
     408      159,  155,  160,  158,    0,    0,    0,    0,    0,    0,
    409409        0,    0,    0,    0,    0,    0,    0,    0,    0,  104,
    410       176,    0,  120,  117,  103,    0,    0,  173,    0,  103,
     410      174,    0,  118,  115,  103,    0,    0,  171,    0,  103,
    411411      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
    412412      103,  103,  103,  103,  103,  103,   38,  103,  103,  103,
    413413      103,  103,  103,  103,  103,  103,  103,   57,  103,  103,
    414414      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
    415       103,  103,  103,  103,  172,  164,    7,    0,    0,    0,
    416 
    417         2,    0,    5,  106,    0,    0,    0,  118,    0,  124,
    418       123,  123,    0,    0,    0,  121,    0,    0,    0,    0,
     415      103,  103,  103,  103,  170,  162,    7,    0,    0,    0,
     416
     417        2,    0,    5,  106,    0,    0,    0,  116,    0,  122,
     418      121,  121,    0,    0,    0,  119,    0,    0,    0,    0,
    419419        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    420         0,  136,  114,  115,    0,  115,  115,    0,    0,    6,
    421       115,  111,    0,    0,    0,  115,    0,  111,  111,  111,
     420        0,  134,  113,  113,    0,  113,  113,    0,    0,    6,
     421        0,  111,    0,    0,    0,  113,    0,  111,  111,  111,
    422422      111,    0,  112,    0,    0,  110,  110,  110,  110,    0,
    423       174,  175,    0,  180,  178,    0,    0,    0,  104,    0,
     423      172,  173,    0,  178,  176,    0,    0,    0,  104,    0,
    424424        0,    0,    0,    0,    0,    0,    0,  103,   17,  103,
    425425      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
     
    431431      103,  103,  103,  103,  103,   90,  103,  103,  103,  103,
    432432      103,  103,  103,    0,    0,    0,    0,    0,    0,    0,
    433         0,  123,    0,    0,    0,    0,    0,  123,    0,    0,
    434       181,    0,    0,    0,    0,    0,    0,    0,  115,    0,
    435       115,    0,  115,    0,  115,    0,    0,  115,    0,  111,
    436       111,    0,    0,  112,  112,    0,  112,    0,  112,  110,
    437       110,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    438 
    439         0,  179,  103,  103,  103,  103,  103,  103,  103,  103,
     433        0,  121,    0,    0,    0,    0,    0,  121,    0,    0,
     434      179,    0,    0,    0,    0,    0,    0,    0,  113,    0,
     435      113,    0,  113,    0,    0,  113,    0,  111,  111,    0,
     436        0,  112,  112,    0,  112,    0,  112,  110,  110,    0,
     437        0,    0,    0,    0,    0,    0,    0,    0,    0,  177,
     438
    440439      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
    441       103,  103,  103,  103,  103,   21,  103,   24,  103,   27,
    442       103,  103,  103,  103,  103,  103,  103,   41,  103,   43,
    443       103,  103,  103,  103,  103,  103,  103,   56,  103,   67,
    444440      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
    445       103,  103,  103,  103,  103,  103,   98,  103,  103,    0,
     441      103,  103,  103,   21,  103,   24,  103,   27,  103,  103,
     442      103,  103,  103,  103,  103,   41,  103,   43,  103,  103,
     443      103,  103,  103,  103,  103,   56,  103,   67,  103,  103,
     444      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
     445      103,  103,  103,  103,   98,  103,  103,    0,    0,    0,
    446446        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    447         0,    0,    0,  123,    0,    0,    0,    0,    0,  115,
    448         0,    0,    0,    0,    0,    0,    0,  112,  112,    0,
    449 
    450       116,    0,  112,  112,    0,    0,    0,    0,    0,    0,
    451         0,    0,    0,    0,    0,    0,    0,  103,  103,   22,
    452       103,  103,  103,  103,  103,  103,  103,   15,  103,  103,
     447        0,  121,    0,    0,    0,    0,    0,  113,    0,    0,
     448        0,    0,    0,    0,  112,  112,    0,  114,    0,  112,
     449
     450      112,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     451        0,    0,    0,    0,  103,  103,   22,  103,  103,  103,
     452      103,  103,  103,  103,   15,  103,  103,  103,  103,  103,
     453      103,  103,  103,  103,  103,  103,  103,  103,  103,   23,
     454       25,  103,   32,  103,  103,  103,  103,   40,  103,  103,
     455      103,  103,   49,  103,  103,   54,  103,  103,   71,  103,
     456      103,  103,   77,  103,  103,  103,  103,  103,   87,   89,
     457      103,  103,   95,  103,  103,  102,    0,    0,    0,    0,
     458        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     459        0,    0,    0,    0,    0,  114,    0,    0,  112,  114,
     460
     461      114,  114,  114,    0,  112,    0,    0,    0,    0,    0,
     462        0,    0,    0,    0,    0,  103,    0,  103,  103,  103,
    453463      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
    454       103,  103,   23,   25,  103,   32,  103,  103,  103,  103,
    455        40,  103,  103,  103,  103,   49,  103,  103,   54,  103,
    456       103,   71,  103,  103,  103,   77,  103,  103,  103,  103,
    457       103,   87,   89,  103,  103,   95,  103,  103,  102,    0,
    458         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    459         0,    0,    0,    0,    0,    0,    0,    0,  116,    0,
    460 
    461         0,  112,  116,  116,  116,  116,    0,  112,    0,    0,
    462         0,    0,    0,    0,    0,    0,    0,    0,  103,    0,
    463       103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
    464       103,  103,  103,  103,  103,  103,   59,  103,  103,  103,
    465       103,  103,  103,  103,  103,   28,  103,  103,  103,   39,
    466        42,   45,  103,  103,   52,  103,   61,   68,  103,  103,
    467        76,   78,   81,   82,   84,   85,  103,  103,   92,  103,
    468       103,    0,    1,    0,    0,    0,    0,    0,    0,  106,
    469         0,    0,    0,  123,    0,    0,    0,    0,  116,    0,
    470       116,  116,    0,    0,    0,    0,    0,    0,    0,    0,
    471 
    472         0,  103,  103,   18,  103,  103,  103,  103,  103,  103,
    473       103,   16,  103,  103,  103,   33,  103,  103,  103,  103,
    474       103,  103,  103,  103,  103,  103,  103,  103,   36,   37,
    475       103,   48,   53,  103,  103,  103,   91,  103,  103,    0,
    476         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    477         0,    0,   10,   11,   29,   55,  103,  103,  103,  103,
    478       103,  103,  103,  103,  103,  103,  103,   60,   62,   65,
    479       103,  103,   79,   93,  103,  103,   35,  103,   47,   72,
    480        73,  103,   96,   99,    0,    0,    0,    0,    0,    0,
    481         0,    0,    0,    0,    0,    0,  103,   69,  103,  103,
    482 
    483        12,  103,  103,   30,   34,  103,  103,  103,   66,  103,
    484       103,  103,  103,  103,  103,  103,    0,    0,    0,    0,
    485         0,    0,    0,    0,    0,    0,    0,    0,    0,   58,
    486       103,  103,  103,  103,  103,  103,  103,   50,   63,   74,
    487        80,   94,  100,  103,  103,  103,    0,    0,    0,    0,
    488         0,    0,    0,    0,  103,  103,   13,   19,  103,  103,
    489        31,  103,  103,  103,   26,   46,   88,    0,    0,  103,
    490       103,  103,  103,  103,  103,   75,  101,  103,   86,   20,
    491       103,  103,   44,   83,  103,  103,  103,  103,  103,  103,
    492       103,   97,   70,    0
     464      103,  103,  103,   59,  103,  103,  103,  103,  103,  103,
     465      103,  103,   28,  103,  103,  103,   39,   42,   45,  103,
     466      103,   52,  103,   61,   68,  103,  103,   76,   78,   81,
     467       82,   84,   85,  103,  103,   92,  103,  103,    0,    1,
     468        0,    0,    0,    0,    0,    0,  106,    0,    0,    0,
     469      121,    0,    0,    0,    0,  114,    0,  114,  114,    0,
     470        0,    0,    0,    0,    0,    0,    0,    0,  103,  103,
     471
     472       18,  103,  103,  103,  103,  103,  103,  103,   16,  103,
     473      103,  103,   33,  103,  103,  103,  103,  103,  103,  103,
     474      103,  103,  103,  103,  103,   36,   37,  103,   48,   53,
     475      103,  103,  103,   91,  103,  103,    0,    0,    0,    0,
     476        0,    0,    0,    0,    0,    0,    0,    0,    0,   10,
     477       11,   29,   55,  103,  103,  103,  103,  103,  103,  103,
     478      103,  103,  103,  103,   60,   62,   65,  103,  103,   79,
     479       93,  103,  103,   35,  103,   47,   72,   73,  103,   96,
     480       99,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     481        0,    0,    0,  103,   69,  103,  103,   12,  103,  103,
     482
     483       30,   34,  103,  103,  103,   66,  103,  103,  103,  103,
     484      103,  103,  103,    0,    0,    0,    0,    0,    0,    0,
     485        0,    0,    0,    0,    0,    0,   58,  103,  103,  103,
     486      103,  103,  103,  103,   50,   63,   74,   80,   94,  100,
     487      103,  103,  103,    0,    0,    0,    0,    0,    0,    0,
     488        0,  103,  103,   13,   19,  103,  103,   31,  103,  103,
     489      103,   26,   46,   88,    0,    0,  103,  103,  103,  103,
     490      103,  103,   75,  101,  103,   86,   20,  103,  103,   44,
     491       83,  103,  103,  103,  103,  103,  103,  103,   97,   70,
     492        0
    493493
    494494    } ;
     
    539539    } ;
    540540
    541 static yyconst flex_int16_t yy_base[1069] =
     541static yyconst flex_int16_t yy_base[1066] =
    542542    {   0,
    543         0,   84, 2307, 2305,   94,    0,  177,  178,  179,  180,
    544      2319, 2845,  191, 2845,  197,   55, 2845, 2265,   60,  173,
    545      2845, 2845, 2845,   56,  188, 2845,  191,  189,  204,  216,
    546       275,    0, 2284, 2845,  216, 2283,  152,  344,  155,  220,
    547      2845,  159, 2845,  217,  226, 2845,  185,  154,  212,  251,
     543        0,   84, 2285, 2282,   94,    0,  177,  178,  179,  180,
     544     2298, 2825,  191, 2825,  197,   55, 2825, 2244,   60,  173,
     545     2825, 2825, 2825,   56,  188, 2825,  191,  189,  204,  216,
     546      275,    0, 2262, 2825,  216, 2260,  152,  344,  155,  220,
     547     2825,  159, 2825,  217,  226, 2825,  185,  154,  212,  251,
    548548      237,  270,  235,  257,  241,  205,  193,  305,  314,  333,
    549       238,  228, 2845,  225, 2845, 2278,  402,  390, 2845, 2287,
    550      2845, 2255,  235, 2845,    0, 2845,  426,    0, 2845,  417,
    551      2845,  439,  451, 2845,  498, 2254,  264, 2845, 2845, 2845,
    552      2845, 2845, 2271, 2845, 2268, 2845, 2845, 2278,  559, 2845,
    553 
    554      2295, 2845,  438,  444,  511,  534,  289,  253,  197,  380,
    555       305,    0,  319,  280,  198,  322, 2845, 2845, 2845, 2265,
    556      2845, 2845, 2845, 2263, 2260,  218,  255, 2273,  298,  350,
    557       368,  312,  440,  398,  405, 2254,  441, 2203,  446, 2232,
    558      2845,  335, 2845, 2845,  468, 2226, 2223, 2845, 2196,  439,
     549      238,  228, 2825,  225, 2825, 2255,  402,  390, 2825, 2266,
     550     2825, 2234,  235, 2825,    0, 2825,  426,    0, 2825,  417,
     551     2825,  439,  451, 2825,  498, 2232,  264, 2825, 2825, 2825,
     552     2825, 2825, 2248, 2825, 2245, 2825, 2825, 2257,  559, 2825,
     553
     554     2274, 2825,  438,  444,  511,  534,  289,  253,  197,  380,
     555      305,    0,  319,  280,  198,  322, 2825, 2825, 2825, 2243,
     556     2825, 2825, 2825, 2240, 2237,  218,  255, 2252,  298,  350,
     557      368,  312,  440,  398,  405, 2233,  441, 2181,  446, 2209,
     558     2825,  335, 2825, 2825,  468, 2203, 2202, 2825, 2175,  439,
    559559      282,  433,  372,  281,  437,  434,  428,  570,  444,  466,
    560560      464,  469,  475,  321,  492,  438,  471,  445,  474,  512,
    561       489,  503,  496,  521,  276,  515,  516, 2224,  526,  510,
     561      489,  503,  496,  521,  276,  515,  516, 2202,  526,  510,
    562562      519,  525,  543,  522,  560,  553,  523,  561,  551,  544,
    563       599,  582,  593,  584, 2845, 2845,  660,  651, 2272,  666,
    564 
    565      2845,  678, 2845, 2219,  607, 2213, 2212,    0,  693, 2845,
    566      2845,  684, 2211, 2209, 2206,    0, 2227,  578,  608,  617,
    567       654,  679,  650,  683,  684,  687, 2224,  690,  691, 2201,
    568      2199, 2845,    0,  683,  710,  686,  700, 2179, 2230, 2845,
    569       730,  722,  427,  747,  756,  787,  770,  621, 2845, 2188,
    570      2161,    0,  795, 2205,  796,  700, 2845, 2181, 2156,  809,
    571      2845, 2845, 2188, 2845, 2845,  728,  733, 2165, 2163,  701,
    572      2159, 2158, 2156,    0, 2153,    0, 2122,  736,  746,  747,
    573       716,  689,  748,  566,  789,  659,  801,  751,  754,  785,
    574       776,  787,  808,  796,  739,  711,  806, 2152,  807,  815,
    575 
    576       817,  821,  809,  819,  827,  830,  831,  832,  833,  834,
    577       839,  840,  841,  842,  846,  853,  854,  844,  847,  855,
    578      2151,  860,  862,  861,  866,  864,  867,  869,  870,  872,
    579       873,  874,  878,  875,  883, 2149,  882,  928,  885,  888,
    580       894,  899,  892,  956,  958, 2143, 2140, 2139,    0, 2138,
    581         0,  945,  949, 2136,    0, 2133,    0, 2132,    0, 2153,
    582      2845,  930,  944, 2131, 2126,    0, 2125,    0, 2845,  959,
    583       979,  970, 2845,  985, 1025, 2124, 1001, 1047, 2122, 2845,
    584      2845,  943,  987, 1033,  986, 1072,  310, 1064,  987, 2845,
    585      2845, 2119, 2115, 2111,    0, 2109,    0, 2107,    0, 2104,
    586 
    587         0, 2845,  913,  947,  964,  966, 1005,  927, 1049,  939,
    588      1051,  968,  991,  986, 1041, 1053, 1003, 1059, 1063, 1066,
    589      1023, 1064, 1062, 1065,  978, 2105, 1072, 2103, 1078, 2100,
    590      1071, 1074, 1076, 1080, 1091, 1093, 1095, 2097, 1094, 2096,
    591      1082, 1098, 1099, 1100, 1101, 1105, 1106, 2095, 1107, 2093,
    592      1110, 1112, 1111, 1117, 1118, 1113, 1119, 1123, 1126, 1127,
    593      1129, 1130, 1131, 1140, 1142, 1143, 2090, 1144, 1147, 1195,
    594      2084,    0, 2083,    0, 2082,    0, 2080,    0, 1190, 2077,
    595         0, 2074,    0, 2073, 2072, 2070,    0, 2067,    0, 1197,
    596      2064, 1203, 1219, 1205, 1244, 1210, 1202, 1200, 2845, 1260,
    597 
    598      1278, 1271, 2075, 2050, 2060, 2057,    0, 2054,    0, 2053,
    599         0, 2052,    0, 2050,    0, 2047,    0, 1164, 1152, 2047,
    600      1184, 1182, 1226, 1157, 1227, 1196, 1254, 1146, 1237, 1255,
    601      1256, 1204, 1258, 1271, 1261, 1260, 1292, 1274, 1262, 1277,
    602      1278, 1280, 2046, 1186, 1289, 2045, 1279, 1282, 1290, 1295,
    603      2043, 1299, 1300, 1301, 1303, 2040, 1306, 1302, 2037, 1310,
    604      1311, 2036, 1309, 1312, 1315, 2035, 1220, 1314, 1316, 1322,
    605      1326, 1333, 2033, 1328, 1329, 2030, 1330, 1335, 2029, 2078,
    606      2023,    0, 2020,    0, 2019,    0, 2018,    0, 2016,    0,
    607      1983,    0, 1981,    0, 1980,    0, 1379, 1385, 1413, 1396,
    608 
    609      1977, 2845, 1402, 1351, 1389, 1403, 1974, 2845, 1973,    0,
    610      1972,    0, 1970,    0, 1967,    0,    0,    0, 1967,    0,
    611      1390, 1336, 1397, 1365, 1345, 1392, 1393, 1409, 1381, 1407,
    612      1412, 1414, 1419, 1420, 1422, 1424, 1427, 1431,  926, 1429,
    613      1432, 1438, 1433, 1435, 1440, 1966, 1437, 1441, 1445, 1965,
    614      1963, 1960, 1450, 1453, 1959, 1455, 1958, 1956, 1456, 1459,
    615      1953, 1952, 1951, 1949, 1942, 1940, 1458, 1461, 1939, 1464,
    616      1462, 1986, 2845, 1929,    0, 1925,    0,    0,    0, 1924,
    617         0,    0,    0, 2845,    0,    0,    0,    0, 1511, 1918,
    618      2845, 2845, 1517, 1917,    0, 1916,    0,    0,    0,    0,
    619 
    620      1914, 1474, 1468, 1914, 1443, 1493, 1498, 1476, 1504, 1505,
    621      1494, 1913, 1334, 1509, 1506, 1510, 1511, 1545, 1525, 1518,
    622      1543, 1530, 1523, 1529, 1531, 1534, 1535, 1539, 1912, 1910,
    623      1540, 1907, 1906, 1542, 1538, 1544, 1905, 1546, 1550,    0,
    624         0,    0, 1900, 1897, 1896, 1596,    0, 1895, 1893, 1890,
    625      1889, 1888, 1889, 1886, 1885, 1884, 1552, 1557, 1573, 1549,
    626      1551, 1553, 1575, 1555, 1577, 1582, 1607, 1882, 1583, 1879,
    627      1584, 1589, 1585, 1590, 1591, 1594, 1878, 1597, 1877, 1875,
    628      1872, 1598, 1871, 1870, 1865, 1862, 1861, 1860, 1858, 1851,
    629      1849, 1848, 1845, 1844, 1843, 1841, 1600, 1827, 1601, 1605,
    630 
    631      1608, 1602, 1609, 1610, 1818, 1614, 1629, 1615, 1817, 1604,
    632      1616, 1625, 1630, 1380, 1631, 1633, 1811, 1804, 1801, 1794,
    633      1792, 1791, 1770, 1769, 1768, 1761, 1759, 1758, 1716, 1716,
    634      1634, 1636, 1635, 1637, 1640, 1641, 1645, 1715, 1713, 1647,
    635      1712, 1711, 1648, 1652, 1653, 1654, 1703, 1701, 1700, 1698,
    636      1696, 1476, 1472, 1343, 1657, 1667, 1259, 1656, 1660, 1668,
    637      1150, 1671, 1675, 1676, 1031, 1027,  793,  752,  675, 1669,
    638      1677, 1680, 1681, 1682, 1684,  645,  607, 1686,  487,  441,
    639      1688, 1690,  394,  357, 1693, 1694, 1695, 1697, 1696, 1698,
    640      1700,  233,  137, 2845, 1773, 1786, 1799, 1809, 1819, 1832,
    641 
    642      1842, 1855, 1868, 1881, 1889, 1899, 1906, 1913, 1920, 1927,
    643      1934, 1941, 1948, 1955, 1962, 1969, 1973, 1981, 1987, 1994,
    644      2001, 2008, 2015, 2018, 2025, 2031, 2044, 2057, 2064, 2071,
    645      2078, 2085, 2088, 2095, 2098, 2105, 2108, 2115, 2118, 2125,
    646      2128, 2135, 2138, 2145, 2148, 2155, 2163, 2170, 2177, 2184,
    647      2191, 2194, 2201, 2204, 2211, 2214, 2221, 2227, 2240, 2247,
    648      2254, 2257, 2264, 2267, 2274, 2277, 2284, 2287, 2294, 2297,
    649      2304, 2307, 2314, 2321, 2324, 2331, 2334, 2341, 2348, 2355,
    650      2358, 2365, 2368, 2375, 2378, 2385, 2388, 2395, 2398, 2405,
    651      2411, 2424, 2431, 2438, 2441, 2448, 2451, 2458, 2461, 2468,
    652 
    653      2471, 2478, 2481, 2488, 2491, 2498, 2501, 2508, 2511, 2518,
    654      2525, 2528, 2535, 2538, 2545, 2548, 2555, 2558, 2561, 2567,
    655      2574, 2583, 2590, 2597, 2600, 2607, 2610, 2613, 2619, 2626,
    656      2629, 2632, 2635, 2638, 2641, 2644, 2647, 2654, 2657, 2664,
    657      2667, 2670, 2673, 2676, 2686, 2693, 2696, 2699, 2702, 2709,
    658      2716, 2723, 2726, 2733, 2740, 2747, 2754, 2761, 2768, 2775,
    659      2782, 2789, 2796, 2803, 2810, 2817, 2824, 2831
     563      599,  582,  593,  584, 2825, 2825,  660,  651, 2249,  666,
     564
     565     2825,  678, 2825, 2196,  607, 2192, 2191,    0,  693, 2825,
     566     2825,  684, 2189, 2186, 2183,    0, 2206,  578,  608,  617,
     567      654,  679,  650,  683,  684,  687, 2203,  690,  691, 2179,
     568     2159, 2825,    0,  683,  710,  686,  700, 2157, 2209, 2825,
     569      714,    0,  427,  746,  764,  786,  808,  621, 2825, 2165,
     570     2138,    0,  794, 2184,  795,  709, 2825, 2160, 2134,  832,
     571     2825, 2825, 2165, 2825, 2825,  711,  714, 2142, 2142,  717,
     572     2138, 2136, 2133,    0, 2130,    0, 2101,  694,  679,  712,
     573      709,  711,  698,  566,  726,  743,  771,  741,  790,  784,
     574      800,  795,  742,  744,  814,  816,  818, 2131,  819,  745,
     575
     576      820,  821,  822,  823,  824,  746,  825,  748,  659,  831,
     577      826,  833,  838,  839,  848,  850,  851,  844,  834,  857,
     578     2129,  858,  859,  860,  862,  861,  864,  865,  867,  868,
     579      866,  871,  876,  872,  878, 2126,  880,  689,  881,  882,
     580      892,  896,  893,  953,  954, 2120, 2119, 2118,    0, 2116,
     581        0,  941,  945, 2113,    0, 2112,    0, 2111,    0, 2131,
     582     2825,  940,  941, 2108, 2105,    0, 2104,    0, 2825,  953,
     583      975,  964, 2825,  981,  997, 1021, 2102, 2825, 2825,  939,
     584      940, 1006,  982, 1041,  310, 1039, 1004, 2825, 2825, 2099,
     585     2095, 2091,    0, 2089,    0, 2087,    0, 2084,    0, 2825,
     586
     587      886,  941,  960,  962,  977,  976,  980,  982, 1017, 1010,
     588     1002,  998, 1022, 1031, 1028, 1033, 1034, 1037, 1040, 1043,
     589     1038, 1041, 1053, 2085, 1055, 2083, 1045, 2080, 1056, 1061,
     590     1063, 1065, 1066, 1067, 1070, 2077, 1071, 2076, 1073, 1074,
     591     1075, 1078, 1080, 1081, 1085, 2075, 1087, 2073, 1084, 1089,
     592     1091, 1097, 1099, 1092, 1102, 1103, 1105, 1106, 1108,  905,
     593     1109, 1116, 1110, 1122, 2070, 1120, 1123, 1179, 2064,    0,
     594     2063,    0, 2062,    0, 2060,    0, 1166, 2057,    0, 2054,
     595        0, 2053, 2052, 2050,    0, 2047,    0, 1173, 2044, 1179,
     596     1137, 1195, 1181, 1178, 1176, 2825, 1219, 1231, 1253, 2055,
     597
     598     2030, 2040, 2037,    0, 2034,    0, 2033,    0, 2032,    0,
     599     2030,    0, 2027,    0, 1141, 1172, 2027, 1180, 1155, 1196,
     600     1157, 1216, 1207, 1231, 1125, 1210, 1232, 1214, 1187, 1236,
     601     1235, 1237, 1238, 1272, 1249, 1252, 1250, 1253, 1254, 2026,
     602     1261, 1256, 2025, 1260, 1263, 1264, 1257, 2023, 1271, 1268,
     603     1269, 1273, 2020, 1275, 1282, 2017, 1283, 1284, 2016, 1276,
     604     1286, 1289, 2015, 1294, 1291, 1296, 1295, 1297, 1310, 2013,
     605     1305, 1308, 2010, 1307, 1300, 2009, 2058, 2003,    0, 2000,
     606        0, 1999,    0, 1998,    0, 1996,    0, 1963,    0, 1961,
     607        0, 1960,    0, 1355, 1361, 1389, 1372, 1957, 2825, 1378,
     608
     609     1325, 1365, 1379, 1954, 2825, 1953,    0, 1952,    0, 1950,
     610        0, 1947,    0,    0,    0, 1947,    0, 1366, 1312, 1311,
     611     1341, 1323, 1368, 1369, 1374, 1356, 1383, 1372, 1388, 1390,
     612     1393, 1395, 1396, 1398, 1400, 1431, 1406, 1407, 1411, 1408,
     613     1413, 1414, 1946, 1409, 1416, 1419, 1945, 1943, 1940, 1422,
     614     1424, 1939, 1429, 1938, 1936, 1425, 1430, 1933, 1932, 1931,
     615     1929, 1926, 1922, 1436, 1433, 1918, 1439, 1440, 1964, 2825,
     616     1895,    0, 1894,    0,    0,    0, 1896,    0,    0,    0,
     617     2825,    0,    0,    0,    0, 1486, 1891, 2825, 2825, 1492,
     618     1888,    0, 1887,    0,    0,    0,    0, 1886, 1447, 1444,
     619
     620     1887, 1449, 1471, 1479, 1450, 1480, 1482, 1469, 1884, 1486,
     621     1490, 1488, 1502, 1452, 1510, 1504, 1491, 1519, 1506, 1498,
     622     1508, 1512, 1513, 1514, 1515, 1883, 1882, 1518, 1880, 1877,
     623     1517, 1520, 1523, 1876, 1521, 1525,    0,    0,    0, 1872,
     624     1870, 1867, 1575,    0, 1866, 1865, 1863, 1860, 1859, 1861,
     625     1859, 1856, 1855, 1531, 1538, 1527, 1528, 1530, 1533, 1552,
     626     1539, 1554, 1553, 1586, 1854, 1559, 1852, 1560, 1561, 1564,
     627     1570, 1572, 1571, 1849, 1574, 1848, 1847, 1845, 1575, 1842,
     628     1841, 1837, 1835, 1828, 1826, 1825, 1822, 1821, 1820, 1818,
     629     1801, 1792, 1791, 1576, 1791, 1579, 1577, 1580, 1582, 1581,
     630
     631     1585, 1784, 1589, 1616, 1593, 1781, 1591, 1599, 1605, 1592,
     632     1606, 1609, 1610, 1771, 1769, 1768, 1747, 1746, 1745, 1738,
     633     1736, 1735, 1693, 1689, 1688, 1687, 1689, 1611, 1612, 1614,
     634     1615, 1618, 1625, 1621, 1686, 1683, 1627, 1682, 1681, 1631,
     635     1635, 1441, 1637, 1677, 1674, 1354, 1319, 1318, 1267, 1212,
     636     1210, 1639, 1640, 1211, 1647, 1623, 1649, 1178, 1652, 1653,
     637     1657, 1177, 1126,  964,  937,  903, 1641, 1643, 1659, 1663,
     638     1664, 1665,  788,  752, 1629,  607,  487, 1666, 1669,  394,
     639      357, 1670, 1672, 1671, 1674, 1676, 1675, 1678,  233,  137,
     640     2825, 1750, 1763, 1776, 1786, 1796, 1809, 1819, 1832, 1845,
     641
     642     1858, 1866, 1876, 1883, 1890, 1897, 1904, 1911, 1918, 1925,
     643     1932, 1939, 1952, 1959, 1963, 1971, 1974, 1981, 1988, 1995,
     644     1998, 2005, 2011, 2024, 2037, 2044, 2051, 2058, 2065, 2068,
     645     2075, 2078, 2085, 2088, 2095, 2098, 2105, 2108, 2115, 2118,
     646     2125, 2128, 2135, 2143, 2150, 2157, 2164, 2171, 2174, 2181,
     647     2184, 2191, 2194, 2201, 2207, 2220, 2227, 2234, 2237, 2244,
     648     2247, 2254, 2257, 2264, 2267, 2274, 2277, 2284, 2287, 2294,
     649     2301, 2304, 2311, 2314, 2321, 2328, 2335, 2338, 2345, 2348,
     650     2355, 2358, 2365, 2368, 2375, 2378, 2385, 2391, 2404, 2411,
     651     2418, 2421, 2428, 2431, 2438, 2441, 2448, 2451, 2458, 2461,
     652
     653     2468, 2471, 2478, 2481, 2488, 2491, 2498, 2505, 2508, 2515,
     654     2518, 2525, 2528, 2535, 2538, 2541, 2547, 2554, 2563, 2570,
     655     2577, 2580, 2587, 2590, 2593, 2599, 2606, 2609, 2612, 2615,
     656     2618, 2621, 2624, 2627, 2634, 2637, 2644, 2647, 2650, 2653,
     657     2656, 2666, 2673, 2676, 2679, 2682, 2689, 2696, 2703, 2706,
     658     2713, 2720, 2727, 2734, 2741, 2748, 2755, 2762, 2769, 2776,
     659     2783, 2790, 2797, 2804, 2811
    660660    } ;
    661661
    662 static yyconst flex_int16_t yy_def[1069] =
     662static yyconst flex_int16_t yy_def[1066] =
    663663    {   0,
    664       894,    1,  895,  895,  894,    5,  896,  896,  897,  897,
    665       894,  894,  894,  894,  894,  894,  894,  898,  894,  894,
    666       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    667       894,   31,  894,  894,  894,  894,  894,  894,  899,  898,
    668       894,  894,  894,  894,  898,  894,  898,  898,  898,  898,
    669       898,  898,  898,  898,  898,  898,  898,  898,  898,  898,
    670       898,  898,  894,  894,  894,  894,  894,  900,  894,  894,
    671       894,  901,  894,  894,  902,  894,  894,  903,  894,  894,
    672       894,  894,  894,  894,  894,  898,  894,  894,  894,  894,
    673       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    674 
    675       904,  894,  894,   30,  894,  894,  894,  894,  905,   30,
    676       894,   31,  894,  894,   31,  894,  894,  894,  894,  894,
    677       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    678       894,  894,  894,  894,  894,  894,  894,  894,  894,  906,
    679       894,  894,  894,  894,  898,  907,  908,  894,  894,  898,
    680       898,  898,  898,  898,  898,  898,  898,  898,  898,  898,
    681       898,  898,  898,  898,  898,  898,  898,  898,  898,  898,
    682       898,  898,  898,  898,  898,  898,  898,  898,  898,  898,
    683       898,  898,  898,  898,  898,  898,  898,  898,  898,  898,
    684       898,  898,  898,  898,  894,  894,  894,  900,  900,  900,
    685 
    686       894,  900,  894,  901,  894,  909,  910,  902,  894,  894,
    687       894,  894,  911,  912,  913,  903,  894,  894,  894,  894,
    688       894,  894,  894,  894,  894,  894,  894,  894,  894,  914,
    689       915,  894,   99,  894,  894,  894,  894,   99,  904,  894,
    690        99,  110,  242,  894,  894,  894,  894,  894,  894,  894,
    691       894,  916,  917,  918,  894,  894,  894,  894,  894,  894,
    692       894,  894,  894,  894,  894,  894,  894,  894,  919,  894,
    693       920,  921,  922,  923,  924,  925,  894,  926,  926,  926,
    694       926,  926,  926,  926,  926,  926,  926,  926,  926,  926,
    695       926,  926,  926,  926,  926,  926,  926,  926,  926,  926,
    696 
    697       926,  926,  926,  926,  926,  926,  926,  926,  926,  926,
    698       926,  926,  926,  926,  926,  926,  926,  926,  926,  926,
    699       926,  926,  926,  926,  926,  926,  926,  926,  926,  926,
    700       926,  926,  926,  926,  926,  926,  926,  926,  926,  926,
    701       926,  926,  926,  927,  928,  929,  930,  931,  932,  933,
    702       934,  894,  894,  935,  936,  937,  938,  939,  940,  894,
    703       894,  894,  894,  894,  941,  942,  943,  944,  894,  894,
    704       894,  894,  894,  894,  894,  375,  894,  371,  378,  894,
    705       894,  945,  946,  947,  894,  894,  894,  947,  894,  894,
    706       894,  948,  949,  950,  951,  952,  953,  954,  955,  956,
    707 
    708       957,  894,  958,  958,  958,  958,  958,  958,  958,  958,
    709       958,  958,  958,  958,  958,  958,  958,  958,  958,  958,
    710       958,  958,  958,  958,  958,  958,  958,  958,  958,  958,
    711       958,  958,  958,  958,  958,  958,  958,  958,  958,  958,
    712       958,  958,  958,  958,  958,  958,  958,  958,  958,  958,
    713       958,  958,  958,  958,  958,  958,  958,  958,  958,  958,
    714       958,  958,  958,  958,  958,  958,  958,  958,  958,  959,
    715       960,  961,  962,  963,  964,  965,  966,  967,  894,  968,
    716       969,  970,  971,  972,  972,  973,  974,  975,  976,  894,
    717       490,  894,  894,  977,  894,  977,  894,  894,  894,  894,
    718 
    719       894,  894,  894,  894,  978,  979,  980,  981,  982,  983,
    720       984,  985,  986,  987,  988,  989,  990,  991,  991,  991,
    721       991,  991,  991,  991,  991,  991,  991,  991,  991,  991,
    722       991,  991,  991,  991,  991,  991,  991,  991,  991,  991,
    723       991,  991,  991,  991,  991,  991,  991,  991,  991,  991,
    724       991,  991,  991,  991,  991,  991,  991,  991,  991,  991,
    725       991,  991,  991,  991,  991,  991,  991,  991,  991,  991,
    726       991,  991,  991,  991,  991,  991,  991,  991,  991,  992,
     664      891,    1,  892,  892,  891,    5,  893,  893,  894,  894,
     665      891,  891,  891,  891,  891,  891,  891,  895,  891,  891,
     666      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     667      891,   31,  891,  891,  891,  891,  891,  891,  896,  895,
     668      891,  891,  891,  891,  895,  891,  895,  895,  895,  895,
     669      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
     670      895,  895,  891,  891,  891,  891,  891,  897,  891,  891,
     671      891,  898,  891,  891,  899,  891,  891,  900,  891,  891,
     672      891,  891,  891,  891,  891,  895,  891,  891,  891,  891,
     673      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     674
     675      901,  891,   99,   30,  891,  891,  891,  891,  902,   30,
     676      891,   31,  891,  891,   31,  891,  891,  891,  891,  891,
     677      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     678      891,  891,  891,  891,  891,  891,  891,  891,  891,  903,
     679      891,  891,  891,  891,  895,  904,  905,  891,  891,  895,
     680      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
     681      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
     682      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
     683      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
     684      895,  895,  895,  895,  891,  891,  891,  897,  897,  897,
     685
     686      891,  897,  891,  898,  891,  906,  907,  899,  891,  891,
     687      891,  891,  908,  909,  910,  900,  891,  891,  891,  891,
     688      891,  891,  891,  891,  891,  891,  891,  891,  891,  911,
     689      912,  891,   99,  891,  891,  891,  891,   99,  913,  891,
     690      891,  104,  104,  891,  891,  891,  891,  891,  891,  891,
     691      891,  914,  915,  916,  891,  891,  891,  891,  891,  891,
     692      891,  891,  891,  891,  891,  891,  891,  891,  903,  891,
     693      917,  918,  919,  920,  921,  922,  891,  923,  923,  923,
     694      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
     695      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
     696
     697      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
     698      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
     699      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
     700      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
     701      923,  923,  923,  924,  925,  926,  927,  928,  929,  930,
     702      931,  891,  891,  932,  933,  934,  935,  936,  937,  891,
     703      891,  891,  891,  891,  938,  939,  940,  941,  891,  891,
     704      891,  891,  891,  891,  891,  371,  376,  891,  891,  942,
     705      943,  944,  891,  891,  891,  944,  891,  891,  891,  945,
     706      946,  947,  948,  949,  950,  951,  952,  953,  954,  891,
     707
     708      955,  955,  955,  955,  955,  955,  955,  955,  955,  955,
     709      955,  955,  955,  955,  955,  955,  955,  955,  955,  955,
     710      955,  955,  955,  955,  955,  955,  955,  955,  955,  955,
     711      955,  955,  955,  955,  955,  955,  955,  955,  955,  955,
     712      955,  955,  955,  955,  955,  955,  955,  955,  955,  955,
     713      955,  955,  955,  955,  955,  955,  955,  955,  955,  955,
     714      955,  955,  955,  955,  955,  955,  955,  956,  957,  958,
     715      959,  960,  961,  962,  963,  964,  891,  965,  966,  967,
     716      968,  969,  969,  970,  971,  972,  973,  891,  488,  891,
     717      974,  891,  974,  891,  891,  891,  891,  891,  891,  891,
     718
     719      891,  975,  976,  977,  978,  979,  980,  981,  982,  983,
     720      984,  985,  986,  987,  988,  988,  988,  988,  988,  988,
     721      988,  988,  988,  988,  988,  988,  988,  988,  988,  988,
     722      988,  988,  988,  988,  988,  988,  988,  988,  988,  988,
     723      988,  988,  988,  988,  988,  988,  988,  988,  988,  988,
     724      988,  988,  988,  988,  988,  988,  988,  988,  988,  988,
     725      988,  988,  988,  988,  988,  988,  988,  988,  988,  988,
     726      988,  988,  988,  988,  988,  988,  989,  990,  991,  992,
    727727      993,  994,  995,  996,  997,  998,  999, 1000, 1001, 1002,
    728      1003, 1004, 1005, 1006, 1007, 1008,  894,  894,  894,  894,
    729 
    730      1009,  894,  599,  894,  894,  894,  603,  894, 1010, 1011,
    731      1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021,
    732      1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020,
    733      1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020,
    734      1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020,
    735      1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020,
    736      1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020,
    737      1020, 1022,  894, 1023, 1024, 1025, 1026, 1027, 1028, 1029,
    738      1030, 1031, 1032,  894, 1033, 1034, 1035, 1036,  894,  689,
    739       894,  894,  894, 1037, 1038, 1039, 1040, 1041, 1042, 1043,
    740 
    741      1044, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045,
    742      1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045,
    743      1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045,
    744      1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1046,
    745      1047, 1048, 1049, 1050, 1051,  894, 1052, 1037, 1039, 1053,
    746      1054, 1044, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045,
    747      1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045,
    748      1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045,
    749      1045, 1045, 1045, 1045, 1055, 1056, 1049, 1057, 1050, 1058,
    750      1051, 1059, 1060, 1053, 1061, 1054, 1045, 1045, 1045, 1045,
    751 
    752      1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045,
    753      1045, 1045, 1045, 1045, 1045, 1045, 1062, 1055, 1063, 1056,
    754      1064, 1057, 1065, 1058, 1066, 1059, 1067, 1060, 1061, 1045,
    755      1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045,
    756      1045, 1045, 1045, 1045, 1045, 1045, 1068, 1062, 1063, 1064,
    757      1065, 1039, 1066, 1067, 1045, 1045, 1045, 1045, 1045, 1045,
    758      1045, 1045, 1045, 1045, 1045, 1045, 1045, 1068, 1039, 1045,
    759      1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045,
    760      1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045,
    761      1045, 1045, 1045,    0,  894,  894,  894,  894,  894,  894,
    762 
    763       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    764       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    765       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    766       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    767       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    768       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    769       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    770       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    771       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    772       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    773 
    774       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    775       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    776       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    777       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    778       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    779       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    780       894,  894,  894,  894,  894,  894,  894,  894
     728     1003, 1004, 1005,  891,  891,  891,  891, 1006,  891,  596,
     729
     730      891,  891,  891,  600,  891, 1007, 1008, 1009, 1010, 1011,
     731     1012, 1013, 1014, 1015, 1016, 1017, 1018, 1017, 1017, 1017,
     732     1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
     733     1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
     734     1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
     735     1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
     736     1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1019,  891,
     737     1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029,
     738      891, 1030, 1031, 1032, 1033,  891,  686,  891,  891,  891,
     739     1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1042,
     740
     741     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     742     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     743     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     744     1042, 1042, 1042, 1042, 1042, 1042, 1043, 1044, 1045, 1046,
     745     1047, 1048,  891, 1049, 1034, 1036, 1050, 1051, 1041, 1042,
     746     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     747     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     748     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     749     1042, 1052, 1053, 1046, 1054, 1047, 1055, 1048, 1056, 1057,
     750     1050, 1058, 1051, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     751
     752     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     753     1042, 1042, 1042, 1059, 1052, 1060, 1053, 1061, 1054, 1062,
     754     1055, 1063, 1056, 1064, 1057, 1058, 1042, 1042, 1042, 1042,
     755     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     756     1042, 1042, 1042, 1065, 1059, 1060, 1061, 1062, 1036, 1063,
     757     1064, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     758     1042, 1042, 1042, 1042, 1065, 1036, 1042, 1042, 1042, 1042,
     759     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     760     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     761        0,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     762
     763      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     764      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     765      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     766      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     767      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     768      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     769      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     770      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     771      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     772      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     773
     774      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     775      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     776      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     777      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     778      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     779      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     780      891,  891,  891,  891,  891
    781781    } ;
    782782
    783 static yyconst flex_int16_t yy_nxt[2931] =
     783static yyconst flex_int16_t yy_nxt[2911] =
    784784    {   0,
    785785       12,   13,   14,   15,   15,   15,   13,   16,   17,   12,
     
    806806
    807807       83,   83,   83,   82,   91,   93,   87,  142,  146,   98,
    808        95,   99,   99,   99,   99,   99,   99,  252,  894,   94,
     808       95,   99,   99,   99,   99,   99,   99,  252,  891,   94,
    809809      100,   85,   96,   97,   85,  101,  161,  118,  143,   77,
    810810       77,   77,   77,  144,  147,  102,  103,   87,  104,  104,
     
    821821      115,  264,  248,   87,   87,  173,  106,  174,  249,  231,
    822822      175,  143,  116,  263,  176,  264,  144,  259,  317,  283,
    823       114,  125,  280,  503,  249,  126,  127,   87,  128,  191,
     823      114,  125,  280,  500,  249,  126,  127,   87,  128,  191,
    824824      129,  130,  256,  131,  249,  132,   87,  265,  257,  184,
    825       185,  257,  248,   87,  133,  134,  135,  504,  188,  186,
     825      185,  257,  248,   87,  133,  134,  135,  501,  188,  186,
    826826      249,  263,  187,  264,  271,   87,  189,  265,  145,  256,
    827827      305,  200,  201,  190,  257,  136,  200,  257,  137,  263,
    828828
    829       894,  264,  192,  197,   81,   82,   82,   82,  197,   87,
     829      891,  264,  192,  197,   81,   82,   82,   82,  197,   87,
    830830      272,  198,  202,  202,  202,  202,  202,  202,   80,   81,
    831831       82,   82,   82,   80,   87,  138,  139,  209,  210,  263,
    832       894,  264,  209,  282,  211,  255,  263,  267,  264,  211,
    833        82,   81,   82,   82,   82,   82,   87,  894,  212,  212,
    834       212,  212,   82,   81,   83,   83,   83,   82,  894,  211,
    835       241,  241,  241,  241,  241,  241,  242,  242,  242,  242,
     832      891,  264,  209,  282,  211,  255,  263,  267,  264,  211,
     833       82,   81,   82,   82,   82,   82,   87,  891,  212,  212,
     834      212,  212,   82,   81,   83,   83,   83,   82,  891,  211,
     835       99,   99,   99,   99,   99,   99,  242,  242,  242,  242,
    836836      266,  263,  263,  264,  264,  213,  143,  263,  211,  264,
    837        87,  144,  377,  211,  211,   87,   87,  211,  211,   87,
    838        87,   87,  286,   87,  894,  211,   87,   87,  211,  243,
     837       87,  144,  375,  211,  211,   87,   87,  211,  211,   87,
     838       87,   87,  286,  241,  891,  211,   87,   87,  211,  243,
    839839
    840840      211,  214,  211,  281,  215,  217,  278,  284,  285,  218,
    841841      219,  307,  298,  279,  220,  221,   87,  222,   87,  223,
    842        87,   87,  894,   87,  309,  300,   87,   87,  224,  225,
     842       87,   87,  891,   87,  309,  300,   87,   87,  224,  225,
    843843      226,  103,  303,  105,  105,  105,  105,  105,  105,   87,
    844844      299,   87,  301,  302,   87,  304,  308,  310,   87,  227,
     
    852852      331,  361,   87,   87,  238,  337,  326,  327,   87,  236,
    853853      235,  236,   87,  329,  237,  332,  236,  287,  288,  289,
    854       336,  290,  291,  334,   87,  292,   87,  293,  409,  360,
     854      336,  290,  291,  334,   87,  292,   87,  293,  407,  360,
    855855      330,  361,  294,  295,  296,   87,  297,  339,  360,  343,
    856856      361,   87,  200,  201,  338,  340,  346,  200,  341,   87,
    857857      342,  197,   81,   82,   82,   82,  197,  200,  201,  198,
    858       380,  361,  200,  202,  202,  202,  202,  202,  202,  344,
     858      378,  361,  200,  202,  202,  202,  202,  202,  202,  344,
    859859      201,  360,  347,  361,  344,  360,  345,  361,  202,  202,
    860       202,  202,  202,  202,  209,  210,  380,   87,  361,  209,
     860      202,  202,  202,  202,  209,  210,  378,  143,  361,  209,
    861861
    862862      202,  202,  202,  202,  202,  202,  352,  352,  352,  352,
    863863      360,   87,  361,  362,  360,  360,  361,  361,  360,  363,
    864864      361,  360,  360,  361,  361,  369,  369,  370,  369,  370,
    865       894,  411,  371,  371,  371,  371,  371,  371,  373,  353,
    866       373,   87,  103,  373,  242,  242,  242,  242,  369,  390,
    867       392,  369,  375,  375,  375,  375,  375,  375,  407,  263,
    868       373,  264,  373,   87,  263,  372,  264,  373,   87,  105,
    869       105,  105,  105,  105,  105,  390,  393,  243,  246,  246,
    870       246,  246,  246,  246,  406,  376,  106,  245,   87,  245,
    871       424,   87,  246,  246,  246,  246,  246,  246,   87,   87,
    872 
    873        87,  403,  255,   87,  423,  408,   87,  894,  106,  378,
    874       378,  378,  378,  378,  378,  383,  404,  405,  105,  105,
    875       105,  105,  105,  105,  416,  234,  415,  236,   87,  237,
    876       236,  112,  112,  112,  112,  112,  112,   87,  385,   87,
    877       386,   87,  379,  418,  387,   87,  410,  236,   87,  236,
    878       388,  255,  237,   87,  236,  419,  420,  422,   87,   87,
    879        87,   87,  389,  417,  260,  421,  386,   87,  412,   87,
    880       387,   87,  427,   87,  413,  414,  425,  426,  428,   87,
    881       429,  430,   87,   87,   87,   87,   87,  434,  435,  431,
    882       436,   87,   87,   87,   87,  438,   87,  439,   87,   87,
    883 
    884       432,  433,  441,  443,  437,   87,   87,   87,  440,  442,
    885       444,  445,   87,   87,   87,  447,   87,  448,   87,   87,
    886       449,   87,   87,  450,   87,   87,   87,   87,  446,  451,
    887        87,  453,  452,  458,   87,   87,  143,   87,  454,  457,
    888        87,  456,  455,  464,   87,  462,   87,  459,  463,  460,
    889       721,   87,  461,  466,  467,  465,  468,  344,  201,  469,
    890       201,  360,  344,  361,  345,   87,  199,  211,  211,  211,
    891       211,  352,  352,  352,  352,  360,  518,  361,   87,   87,
    892        87,  371,  371,  371,  371,  371,  371,  370,  495,  370,
    893       523,   87,  371,  371,  371,  371,  371,  371,  496,   87,
    894 
    895       479,  490,  490,  490,  490,  490,  490,  233,  233,  233,
    896       233,  233,  233,  525,  495,  519,   87,  234,   87,  236,
    897        87,  237,  236,  242,  242,  242,  242,  105,  105,  498,
    898        87,  520,  495,  527,  491,  499,  499,  521,   87,  236,
    899       374,  236,  497,   87,  237,  542,  236,  375,  375,  375,
    900       375,  375,  375,  383,  498,   87,  377,   87,  495,  528,
    901       529,  499,  499,  234,  235,  236,  522,  237,  236,  378,
    902       378,  378,  378,  378,  378,   87,  385,  533,  386,   87,
    903       376,  538,  387,   87,  894,  236,  235,  236,  388,  500,
    904       237,  500,  236,   87,  501,  501,  501,  501,  501,  501,
    905 
    906       389,   87,  379,   87,  386,   87,  530,  385,  387,  386,
    907       524,   87,  526,  387,   87,   87,   87,   87,   87,  505,
    908       535,  531,  532,   87,   87,  540,   87,  502,   87,  534,
    909        87,  389,   87,  536,   87,  386,  541,  539,  543,  387,
    910       537,  547,  544,   87,  545,   87,   87,   87,  546,  549,
    911        87,   87,   87,   87,  553,  548,  551,   87,   87,   87,
    912       550,  552,   87,   87,   87,   87,  555,  559,  557,   87,
    913        87,   87,  554,  562,  556,   87,  560,  558,   87,   87,
    914       567,   87,   87,   87,  563,  561,  570,  566,  571,  564,
    915       565,  569,   87,  568,   87,   87,   87,  201,   87,   87,
    916 
    917       574,  630,   87,  580,   87,  573,  577,  572,  579,   87,
    918       575,  576,  211,  211,  211,  211,   87,  622,  578,  490,
    919       490,  490,  490,  490,  490,  375,  375,  375,  375,  375,
    920       375,  626,  645,  621,   87,  234,   87,  236,   87,  237,
    921       236,  378,  378,  378,  378,  378,  378,  495,   87,  602,
    922       495,  623,  491,  628,  624,  495,   87,  236,  492,  236,
    923       496,  598,  237,  598,  236,  601,  599,  599,  599,  599,
    924       599,  599,   87,  495,  493,  602,  495,  634,   87,   87,
    925       662,  495,  501,  501,  501,  501,  501,  501,  500,   87,
    926       500,  625,  627,  501,  501,  501,  501,  501,  501,  600,
    927 
    928       603,  603,  603,  603,  603,  603,   87,   87,   87,  631,
    929        87,   87,   87,   87,   87,  639,  604,  629,  605,  635,
    930       606,  605,  632,   87,  637,  638,   87,  633,  636,   87,
    931        87,   87,   87,  607,   87,  640,  641,  644,  605,  643,
    932       605,   87,   87,  606,   87,  605,  642,   87,  647,  648,
    933       646,   87,   87,   87,   87,   87,  650,  649,   87,  656,
    934       651,   87,   87,   87,   87,  653,   87,   87,   87,  652,
    935       654,  657,  658,  655,   87,  664,  663,  660,   87,  667,
    936        87,   87,   87,  659,  661,   87,   87,   87,   87,  668,
    937       666,  669,  762,  691,  691,  704,  665,   87,  894,  670,
    938 
    939       671,  490,  490,  490,  490,  490,  490,  599,  599,  599,
    940       599,  599,  599,  598,  707,  598,  691,   87,  599,  599,
    941       599,  599,  599,  599,  603,  603,  603,  603,  603,  603,
    942       706,  691,   87,   87,  597,  689,  689,  689,  689,  689,
    943       689,  692,   87,  692,   87,   87,  692,  702,  844,   87,
    944       711,  604,  709,  605,  691,  606,  605,  607,  705,   87,
    945       703,   87,  712,  692,   87,  692,   87,  708,  690,  710,
    946       692,   87,   87,  605,   87,  605,   87,  713,  606,   87,
    947       605,   87,  719,   87,   87,   87,  715,   87,  714,   87,
    948        87,  717,   87,   87,  716,   87,  722,   87,  718,  724,
    949 
    950       720,  727,   87,  725,  723,   87,  730,   87,   87,  726,
    951        87,   87,  728,   87,   87,  729,   87,  734,  735,  736,
    952        87,  755,  731,  737,  733,  738,   87,  894,   87,  739,
    953       754,  869,  732,  689,  689,  689,  689,  689,  689,  603,
    954       603,  603,  603,  603,  603,   87,   87,  753,  758,  604,
    955        87,  605,  756,  606,  605,  757,   87,   87,   87,  759,
    956       760,   87,   87,   87,  761,  765,  690,  764,  767,  770,
    957        87,  605,  693,  605,  763,   87,  606,   87,  605,  769,
    958       768,   87,   87,   87,  766,  771,   87,   87,  772,  773,
    959        87,   87,   87,  774,   87,   87,   87,   87,   87,  775,
    960 
    961       777,   87,   87,   87,   87,   87,  783,   87,  776,   87,
    962       778,  784,  781,  801,  780,  779,  800,  782,  689,  689,
    963       689,  689,  689,  689,  797,   87,  798,   87,  802,   87,
    964       799,  807,  805,  804,   87,   87,   87,   87,  808,  809,
    965       811,   87,   87,   87,  803,  812,   87,  806,  810,   87,
    966        87,  746,   87,   87,   87,  838,   87,   87,  813,   87,
    967        87,   87,   87,  833,  835,  836,   87,   87,   87,  814,
    968       839,  841,  815,  816,  831,  832,  834,   87,  840,  830,
    969       842,   87,   87,   87,  837,   87,   87,   87,   87,   87,
    970       857,  843,   87,   87,  845,  856,  861,   87,  858,   87,
    971 
    972        87,  846,  863,  864,   87,   87,   87,  855,   87,   87,
    973       859,  872,   87,  865,  862,  867,  860,  866,  870,   87,
    974        87,   87,  873,   87,  871,  874,  875,   87,   87,   87,
    975       876,  877,   87,   87,   87,  880,   87,  882,   87,  883,
    976        87,  878,   87,  881,  879,   87,   87,   87,   87,   87,
    977        87,  894,   87,  894,  887,  894,  894,  886,  868,  888,
    978       884,  885,  893,   87,   87,   87,  891,   87,   87,  889,
    979       890,  894,  892,   69,   69,   69,   69,   69,   69,   69,
    980        69,   69,   69,   69,   69,   69,   75,   75,   75,   75,
    981        75,   75,   75,   75,   75,   75,   75,   75,   75,   78,
    982 
    983        78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    984        78,   78,   86,  894,  854,   86,  894,   86,   86,   86,
    985        86,   86,  140,  853,  894,  851,  140,  140,  140,  140,
    986       140,  140,  199,  199,  199,  199,  199,  199,  199,  199,
    987       199,  199,  199,  199,  199,  204,  894,  850,  204,  894,
    988       204,  204,  204,  204,  204,  208,  849,  208,  208,  894,
    989       208,  208,  208,  208,  208,  208,  848,  208,  216,   87,
    990        87,  216,  216,  216,  216,  216,  216,  216,  216,   87,
    991       216,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    992       239,  239,  239,  239,  253,  253,  894,  253,  829,  894,
    993 
    994       828,  253,  269,  826,  894,  269,  824,  269,  269,  269,
    995       269,  269,  273,  894,  273,  822,  894,  820,  273,  275,
    996       818,  275,   87,   87,   87,  275,  348,   87,  348,   87,
    997        87,   87,  348,  350,   87,  350,   87,   87,   87,  350,
    998       354,   87,  354,  894,  796,  794,  354,  356,  894,  356,
    999       894,  791,  789,  356,  358,  787,  358,   87,   87,   87,
    1000       358,  365,   87,  365,   87,   87,   87,  365,  367,  752,
    1001       367,  749,  748,  746,  367,  382,  205,  382,  384,  384,
    1002       742,  384,  384,  384,  741,  384,  253,  253,  673,  253,
    1003       269,   87,   87,  269,   87,  269,  269,  269,  269,  269,
    1004 
    1005       394,   87,  394,   87,   87,   87,  394,  396,   87,  396,
    1006        87,   87,   87,  396,  398,   87,  398,   87,   87,   87,
    1007       398,  273,  700,  273,  400,  699,  400,  697,  695,  693,
    1008       400,  275,  601,  275,   86,  688,  687,   86,  685,   86,
     865      435,   87,  371,  371,  371,  371,  371,  371,  373,  353,
     866      373,   87,  263,  373,  264,  263,   87,  264,  369,  402,
     867       87,  369,  234,  235,  236,  406,  237,  236,  388,  401,
     868      373,   87,  373,   87,   87,  372,  390,  373,  105,  105,
     869      105,  105,  105,  105,  236,  235,  236,  404,   87,  237,
     870      405,  236,  403,  408,  388,  106,  246,  246,  246,  246,
     871      246,  246,  391,   87,   87,   87,   87,   87,   87,  419,
     872
     873       87,  255,  425,  432,   87,  420,  434,  106,  376,  376,
     874      376,  376,  376,  376,  381,  409,  413,  105,  105,  105,
     875      105,  105,  105,   87,  234,  245,  236,  245,  237,  236,
     876      246,  246,  246,  246,  246,  246,   87,  383,  410,  384,
     877       87,  377,   87,  385,  411,  412,  236,   87,  236,  386,
     878      255,  237,   87,  236,  112,  112,  112,  112,  112,  112,
     879      414,  387,  415,  417,  418,  384,   87,  416,   87,  385,
     880       87,   87,   87,   87,   87,   87,   87,   87,   87,  421,
     881      427,  426,  433,   87,  437,   87,   87,  260,  423,  424,
     882       87,   87,  436,  429,  428,  422,   87,  430,  431,  439,
     883
     884       87,  438,   87,   87,  446,  441,  440,  442,  443,   87,
     885       87,   87,   87,   87,   87,  445,   87,   87,   87,   87,
     886       87,  448,  447,   87,   87,  444,  449,  451,   87,  456,
     887       87,  450,   87,   87,   87,  452,  455,  454,   87,  453,
     888      457,  462,  460,  461,   87,   87,  458,  464,   87,  515,
     889      459,  463,  465,  466,  344,  201,  201,   87,  891,  344,
     890      467,  345,  199,  211,  211,  211,  211,  352,  352,  352,
     891      352,  360,  360,  361,  361,  371,  371,  371,  371,  371,
     892      371,  370,  569,  370,  492,  492,  371,  371,  371,  371,
     893      371,  371,  891,   87,  493,  494,  477,  488,  488,  488,
     894
     895      488,  488,  488,  233,  233,  233,  233,  233,  233,  516,
     896      492,  492,   87,  234,   87,  236,   87,  237,  236,  242,
     897      242,  242,  242,  105,  105,  495,  381,  517,   87,   87,
     898      489,  496,   87,  518,   87,  236,  374,  236,  519,  520,
     899      237,  521,  236,  376,  376,  376,  376,  376,  376,  383,
     900       87,  384,  375,  496,   87,  385,  522,  496,  497,  891,
     901      497,  386,   87,  498,  498,  498,  498,  498,  498,   87,
     902      525,  495,  526,  387,   87,  524,  377,  384,  523,  496,
     903       87,  385,  383,   87,  384,   87,   87,  527,  385,   87,
     904       87,  532,   87,   87,  502,   87,  499,   87,  535,  528,
     905
     906      529,  537,  530,  531,  533,   87,  387,   87,   87,  541,
     907      384,  534,  538,   87,  385,   87,  536,   87,   87,   87,
     908      539,  540,   87,   87,  546,   87,   87,   87,  544,  542,
     909       87,  548,   87,   87,  547,  543,   87,   87,  549,   87,
     910      545,   87,  552,   87,   87,  550,  556,  554,  551,   87,
     911      559,   87,  553,  555,   87,   87,  557,   87,   87,  558,
     912       87,   87,   87,  564,  560,  567,  563,  568,   87,  561,
     913      566,  562,   87,  565,   87,   87,  571,   87,   87,  573,
     914      627,  201,  492,  570,  576,  574,  572,  577,  211,  211,
     915      211,  211,  493,   87,  575,  488,  488,  488,  488,  488,
     916
     917      488,  376,  376,  376,  376,  376,  376,   87,  492,   87,
     918      618,  234,  595,  236,  595,  237,  236,  596,  596,  596,
     919      596,  596,  596,  492,   87,  599,  492,  621,  489,   87,
     920       87,  623,   87,  236,  490,  236,  598,  619,  237,   87,
     921      236,  498,  498,  498,  498,  498,  498,  620,   87,  492,
     922      597,  599,  492,  600,  600,  600,  600,  600,  600,   87,
     923      631,  622,   87,   87,  625,  891,   87,  891,   87,  601,
     924      497,  602,  497,  603,  602,  498,  498,  498,  498,  498,
     925      498,  624,  628,   87,   87,  630,  604,   87,   87,   87,
     926       87,  602,  633,  602,  626,  636,  603,  632,  602,  629,
     927
     928      634,   87,   87,  635,   87,   87,   87,  642,   87,   87,
     929      637,  641,   87,   87,  640,   87,   87,  643,  647,  639,
     930       87,   87,  866,   87,   87,   87,  638,   87,   87,  644,
     931      645,  646,  648,  650,   87,   87,   87,  649,   87,  653,
     932      651,   87,  652,   87,  654,  655,   87,   87,   87,   87,
     933      656,  657,   87,  660,  659,  661,  664,   87,  658,   87,
     934       87,  663,   87,   87,   87,  668,  665,  688,  688,  662,
     935      666,  701,  702,  891,  891,   87,  667,  488,  488,  488,
     936      488,  488,  488,  596,  596,  596,  596,  596,  596,  595,
     937      688,  595,  704,   87,  596,  596,  596,  596,  596,  596,
     938
     939      600,  600,  600,  600,  600,  600,  703,  688,   87,  891,
     940      594,  686,  686,  686,  686,  686,  686,  689,   87,  689,
     941       87,   87,  689,  699,   87,  708,   87,  601,  706,  602,
     942      688,  603,  602,  604,  707,   87,  700,  710,  709,  689,
     943       87,  689,   87,  705,  687,   87,  689,   87,   87,  602,
     944       87,  602,   87,  716,  603,  718,  602,  712,   87,   87,
     945       87,   87,  711,   87,  714,   87,   87,  713,   87,  717,
     946      715,   87,  721,  719,   87,  724,   87,   87,  722,  720,
     947      727,   87,   87,   87,  725,   87,  731,  723,   87,  732,
     948      726,   87,   87,   87,  728,  734,   87,  733,  730,   87,
     949
     950      735,   87,   87,  729,   87,  863,  751,  736,  686,  686,
     951      686,  686,  686,  686,  600,  600,  600,  600,  600,  600,
     952      750,   87,  755,   87,  601,  763,  602,  752,  603,  602,
     953      753,   87,   87,  764,   87,  756,  754,  757,   87,  758,
     954       87,  687,   87,   87,  759,  767,  602,  690,  602,  761,
     955       87,  603,  766,  602,   87,  760,   87,  762,   87,  765,
     956       87,  768,   87,  769,   87,   87,   87,   87,  770,   87,
     957       87,   87,   87,   87,  771,   87,  774,   87,  772,   87,
     958       87,  780,   87,   87,  796,   87,  781,  773,  775,  777,
     959       87,   87,  798,  776,  778,  797,  779,  686,  686,  686,
     960
     961      686,  686,  686,  794,   87,   87,   87,  795,  799,  802,
     962      804,   87,   87,   87,  805,  806,   87,  801,  803,  808,
     963      807,  800,   87,   87,   87,  809,   87,   87,   87,   87,
     964      743,   87,   87,   87,   87,  830,  832,   87,   87,  810,
     965      833,   87,  835,   87,   87,   87,  811,  829,  836,  812,
     966      813,   87,  828,  840,  838,  827,  831,   87,   87,  834,
     967      839,   87,   87,   87,   87,  837,   87,   87,   87,  854,
     968       87,  853,  842,   87,  841,   87,  855,   87,  843,   87,
     969      858,   87,  860,   87,  852,  870,  861,   87,  856,   87,
     970      859,   87,   87,   87,  857,   87,  862,  868,  864,   87,
     971
     972      867,   87,  869,  881,   87,   87,  871,  872,  873,   87,
     973      876,   87,  874,  875,  877,   87,   87,   87,   87,  879,
     974      880,   87,   87,   87,   87,  878,   87,   87,   87,  891,
     975       87,  884,  865,   87,   87,   87,  883,  885,   87,  882,
     976      890,   87,  891,  891,  851,  886,  888,  887,  891,  889,
     977       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
     978       69,   69,   69,   75,   75,   75,   75,   75,   75,   75,
     979       75,   75,   75,   75,   75,   75,   78,   78,   78,   78,
     980       78,   78,   78,   78,   78,   78,   78,   78,   78,   86,
     981      850,  891,   86,  848,   86,   86,   86,   86,   86,  140,
     982
     983      891,  847,  891,  140,  140,  140,  140,  140,  140,  199,
     984      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
     985      199,  199,  204,  846,  891,  204,  845,  204,  204,  204,
     986      204,  204,  208,   87,  208,  208,   87,  208,  208,  208,
     987      208,  208,  208,   87,  208,  216,  891,  826,  216,  216,
     988      216,  216,  216,  216,  216,  216,  891,  216,  239,  239,
     989      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
     990      239,  253,  253,  825,  253,  823,  891,  821,  253,  269,
     991      891,  819,  269,  891,  269,  269,  269,  269,  269,  273,
     992      817,  273,  815,   87,   87,  273,  275,   87,  275,   87,
     993
     994       87,   87,  275,  348,   87,  348,   87,   87,   87,  348,
     995      350,   87,  350,   87,  891,  793,  350,  354,  791,  354,
     996      891,  891,  788,  354,  356,  786,  356,  784,   87,   87,
     997      356,  358,   87,  358,   87,   87,   87,  358,  365,   87,
     998      365,  749,  746,  745,  365,  367,  743,  367,  205,  739,
     999      738,  367,  239,  239,  239,  239,  239,  239,  239,  239,
     1000      239,  239,  239,  239,  239,  380,  670,  380,  382,  382,
     1001       87,  382,  382,  382,   87,  382,  253,  253,   87,  253,
     1002      392,   87,  392,   87,   87,   87,  392,  394,   87,  394,
     1003       87,   87,   87,  394,  396,   87,  396,   87,   87,   87,
     1004
     1005      396,  273,  697,  273,  398,  696,  398,  694,  692,  690,
     1006      398,  275,  598,  275,   86,  685,  684,   86,  682,   86,
    10091007       86,   86,   86,   86,  199,  199,  199,  199,  199,  199,
    1010       199,  199,  199,  199,  199,  199,  199,  470,  470,  470,
    1011       470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
    1012       471,  683,  471,  681,  679,  677,  471,  473,  675,  473,
    1013       673,   87,   87,  473,  475,   87,  475,   87,   87,   87,
    1014       475,  348,   87,  348,  477,   87,  477,   87,   87,   87,
    1015 
    1016       477,  350,  620,  350,  480,  618,  480,  616,  614,  612,
    1017       480,  354,  610,  354,  482,  505,  482,  608,  608,  597,
    1018       482,  356,  596,  356,  484,  594,  484,  485,  485,  592,
    1019       484,  358,  590,  358,  486,  588,  486,  586,  584,  582,
    1020       486,  365,   87,  365,  488,   87,  488,   87,   87,   87,
    1021       488,  367,   87,  367,  494,   87,  494,   87,  494,  517,
    1022       494,  382,  515,  382,  513,  382,  511,  382,  384,  384,
    1023       509,  384,  384,  384,  507,  384,  506,  493,  506,  492,
    1024       489,  487,  506,  508,  361,  508,  361,  485,  483,  508,
    1025       510,  481,  510,  478,  476,  474,  510,  394,  472,  394,
    1026 
    1027       512,   87,  512,   87,   87,  402,  512,  396,  401,  396,
    1028       514,  399,  514,  397,  395,  270,  514,  398,  265,  398,
    1029       516,  264,  516,  391,  391,  252,  516,  400,  381,  400,
    1030        86,  381,  240,   86,  374,   86,   86,   86,   86,   86,
    1031       470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
    1032       470,  470,  470,  581,  368,  581,  366,  364,  360,  581,
    1033       471,  359,  471,  583,  357,  583,  355,  351,  349,  583,
    1034       473,  205,  473,  585,  201,  585,   87,  277,  276,  585,
    1035       475,  274,  475,  587,  270,  587,  265,  268,  265,  587,
    1036       477,  263,  477,  589,  262,  589,  261,  240,  232,  589,
    1037 
    1038       480,   85,  480,  591,   85,  591,   87,  205,  203,  591,
    1039       482,   85,  482,  484,  122,  484,  117,   87,  894,  484,
    1040       593,   70,  593,   70,  894,  894,  593,  486,  894,  486,
    1041       595,  894,  595,  894,  894,  894,  595,  488,  894,  488,
    1042       494,  894,  494,  894,  494,  894,  494,  384,  894,  384,
    1043       894,  894,  894,  384,  609,  894,  609,  894,  894,  894,
    1044       609,  506,  894,  506,  611,  894,  611,  894,  894,  894,
    1045       611,  508,  894,  508,  613,  894,  613,  894,  894,  894,
    1046       613,  510,  894,  510,  615,  894,  615,  894,  894,  894,
    1047       615,  512,  894,  512,  617,  894,  617,  894,  894,  894,
    1048 
    1049       617,  514,  894,  514,  619,  894,  619,  894,  894,  894,
    1050       619,  516,  894,  516,   86,  894,  894,   86,  894,   86,
    1051        86,   86,   86,   86,  672,  672,  672,  672,  672,  672,
    1052       672,  672,  672,  672,  672,  672,  672,  674,  894,  674,
    1053       894,  894,  894,  674,  581,  894,  581,  676,  894,  676,
    1054       894,  894,  894,  676,  583,  894,  583,  678,  894,  678,
    1055       894,  894,  894,  678,  585,  894,  585,  680,  894,  680,
    1056       894,  894,  894,  680,  587,  894,  587,  682,  894,  682,
    1057       894,  894,  894,  682,  589,  894,  589,  684,  894,  684,
    1058       894,  894,  894,  684,  591,  894,  591,  686,  894,  686,
    1059 
    1060       894,  894,  894,  686,  593,  894,  593,   86,  894,   86,
    1061       894,  894,  894,   86,  595,  894,  595,  494,  894,  494,
    1062       894,  894,  894,  494,  694,  894,  694,  894,  894,  894,
    1063       694,  609,  894,  609,  696,  894,  696,  894,  894,  894,
    1064       696,  611,  894,  611,  698,  894,  698,  894,  894,  894,
    1065       698,  613,  894,  613,  140,  894,  140,  894,  894,  894,
    1066       140,  615,  894,  615,  701,  894,  701,  617,  894,  617,
    1067        86,  894,  894,   86,  894,   86,   86,   86,   86,   86,
    1068       619,  894,  619,  672,  672,  672,  672,  672,  672,  672,
    1069       672,  672,  672,  672,  672,  672,  740,  894,  740,  894,
    1070 
    1071       894,  894,  740,  674,  894,  674,  204,  894,  204,  894,
    1072       894,  894,  204,  676,  894,  676,  743,  894,  743,  678,
    1073       894,  678,  204,  894,  894,  204,  894,  204,  204,  204,
    1074       204,  204,  680,  894,  680,  744,  894,  744,  682,  894,
    1075       682,  684,  894,  684,  745,  894,  745,  686,  894,  686,
    1076        86,  894,   86,  747,  894,  747,  894,  894,  894,  747,
    1077       694,  894,  694,  269,  894,  269,  894,  894,  894,  269,
    1078       696,  894,  696,  750,  894,  750,  698,  894,  698,  140,
    1079       894,  140,  751,  894,  751,  894,  894,  894,  751,   86,
    1080       894,  894,   86,  894,   86,   86,   86,   86,   86,  785,
    1081 
    1082       894,  785,  740,  894,  740,  204,  894,  204,  786,  894,
    1083       786,  894,  894,  894,  786,  788,  894,  788,  894,  894,
    1084       894,  788,  790,  894,  790,  894,  894,  894,  790,  792,
    1085       894,  792,  793,  894,  793,  894,  894,  894,  793,  795,
    1086       894,  795,  894,  894,  894,  795,  817,  894,  817,  894,
    1087       894,  894,  817,  819,  894,  819,  894,  894,  894,  819,
    1088       821,  894,  821,  894,  894,  894,  821,  823,  894,  823,
    1089       894,  894,  894,  823,  825,  894,  825,  894,  894,  894,
    1090       825,  827,  894,  827,  894,  894,  894,  827,  619,  894,
    1091       619,  894,  894,  894,  619,  847,  894,  847,  894,  894,
    1092 
    1093       894,  847,  680,  894,  680,  894,  894,  894,  680,  684,
    1094       894,  684,  894,  894,  894,  684,   86,  894,   86,  894,
    1095       894,  894,   86,  852,  894,  852,  894,  894,  894,  852,
    1096       140,  894,  140,  894,  894,  894,  140,  204,  894,  204,
    1097       894,  894,  894,  204,   11,  894,  894,  894,  894,  894,
    1098       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1099       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1100       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1101       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1102       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1103 
    1104       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1105       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1106       894,  894,  894,  894,  894,  894,  894,  894,  894,  894
     1008      199,  199,  199,  199,  199,  199,  199,  468,  468,  468,
     1009      468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
     1010      469,  680,  469,  678,  676,  674,  469,  471,  672,  471,
     1011      670,   87,   87,  471,  473,   87,  473,   87,   87,   87,
     1012      473,  348,   87,  348,  475,   87,  475,   87,   87,   87,
     1013      475,  350,  617,  350,  478,  615,  478,  613,  611,  609,
     1014      478,  354,  607,  354,  480,  502,  480,  605,  605,  594,
     1015
     1016      480,  356,  593,  356,  482,  591,  482,  483,  483,  589,
     1017      482,  358,  587,  358,  484,  585,  484,  583,  581,  579,
     1018      484,  365,   87,  365,  486,   87,  486,   87,   87,   87,
     1019      486,  367,   87,  367,  491,   87,  491,   87,  491,  514,
     1020      491,  380,  512,  380,  510,  380,  508,  380,  382,  382,
     1021      506,  382,  382,  382,  504,  382,  503,  490,  503,  487,
     1022      485,  361,  503,  505,  361,  505,  483,  481,  479,  505,
     1023      507,  476,  507,  474,  472,  470,  507,  392,   87,  392,
     1024      509,   87,  509,   87,  400,  399,  509,  394,  397,  394,
     1025      511,  395,  511,  393,  270,  265,  511,  396,  264,  396,
     1026
     1027      513,  389,  513,  389,  252,  379,  513,  398,  379,  398,
     1028       86,  240,  374,   86,  368,   86,   86,   86,   86,   86,
     1029      468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
     1030      468,  468,  468,  578,  366,  578,  364,  360,  359,  578,
     1031      469,  357,  469,  580,  355,  580,  351,  349,  205,  580,
     1032      471,  201,  471,  582,   87,  582,  277,  276,  274,  582,
     1033      473,  270,  473,  584,  265,  584,  268,  265,  263,  584,
     1034      475,  262,  475,  586,  261,  586,  240,  232,   85,  586,
     1035      478,   85,  478,  588,   87,  588,  205,  203,   85,  588,
     1036      480,  122,  480,  482,  117,  482,   87,  891,   70,  482,
     1037
     1038      590,   70,  590,  891,  891,  891,  590,  484,  891,  484,
     1039      592,  891,  592,  891,  891,  891,  592,  486,  891,  486,
     1040      491,  891,  491,  891,  491,  891,  491,  382,  891,  382,
     1041      891,  891,  891,  382,  606,  891,  606,  891,  891,  891,
     1042      606,  503,  891,  503,  608,  891,  608,  891,  891,  891,
     1043      608,  505,  891,  505,  610,  891,  610,  891,  891,  891,
     1044      610,  507,  891,  507,  612,  891,  612,  891,  891,  891,
     1045      612,  509,  891,  509,  614,  891,  614,  891,  891,  891,
     1046      614,  511,  891,  511,  616,  891,  616,  891,  891,  891,
     1047      616,  513,  891,  513,   86,  891,  891,   86,  891,   86,
     1048
     1049       86,   86,   86,   86,  669,  669,  669,  669,  669,  669,
     1050      669,  669,  669,  669,  669,  669,  669,  671,  891,  671,
     1051      891,  891,  891,  671,  578,  891,  578,  673,  891,  673,
     1052      891,  891,  891,  673,  580,  891,  580,  675,  891,  675,
     1053      891,  891,  891,  675,  582,  891,  582,  677,  891,  677,
     1054      891,  891,  891,  677,  584,  891,  584,  679,  891,  679,
     1055      891,  891,  891,  679,  586,  891,  586,  681,  891,  681,
     1056      891,  891,  891,  681,  588,  891,  588,  683,  891,  683,
     1057      891,  891,  891,  683,  590,  891,  590,   86,  891,   86,
     1058      891,  891,  891,   86,  592,  891,  592,  491,  891,  491,
     1059
     1060      891,  891,  891,  491,  691,  891,  691,  891,  891,  891,
     1061      691,  606,  891,  606,  693,  891,  693,  891,  891,  891,
     1062      693,  608,  891,  608,  695,  891,  695,  891,  891,  891,
     1063      695,  610,  891,  610,  140,  891,  140,  891,  891,  891,
     1064      140,  612,  891,  612,  698,  891,  698,  614,  891,  614,
     1065       86,  891,  891,   86,  891,   86,   86,   86,   86,   86,
     1066      616,  891,  616,  669,  669,  669,  669,  669,  669,  669,
     1067      669,  669,  669,  669,  669,  669,  737,  891,  737,  891,
     1068      891,  891,  737,  671,  891,  671,  204,  891,  204,  891,
     1069      891,  891,  204,  673,  891,  673,  740,  891,  740,  675,
     1070
     1071      891,  675,  204,  891,  891,  204,  891,  204,  204,  204,
     1072      204,  204,  677,  891,  677,  741,  891,  741,  679,  891,
     1073      679,  681,  891,  681,  742,  891,  742,  683,  891,  683,
     1074       86,  891,   86,  744,  891,  744,  891,  891,  891,  744,
     1075      691,  891,  691,  269,  891,  269,  891,  891,  891,  269,
     1076      693,  891,  693,  747,  891,  747,  695,  891,  695,  140,
     1077      891,  140,  748,  891,  748,  891,  891,  891,  748,   86,
     1078      891,  891,   86,  891,   86,   86,   86,   86,   86,  782,
     1079      891,  782,  737,  891,  737,  204,  891,  204,  783,  891,
     1080      783,  891,  891,  891,  783,  785,  891,  785,  891,  891,
     1081
     1082      891,  785,  787,  891,  787,  891,  891,  891,  787,  789,
     1083      891,  789,  790,  891,  790,  891,  891,  891,  790,  792,
     1084      891,  792,  891,  891,  891,  792,  814,  891,  814,  891,
     1085      891,  891,  814,  816,  891,  816,  891,  891,  891,  816,
     1086      818,  891,  818,  891,  891,  891,  818,  820,  891,  820,
     1087      891,  891,  891,  820,  822,  891,  822,  891,  891,  891,
     1088      822,  824,  891,  824,  891,  891,  891,  824,  616,  891,
     1089      616,  891,  891,  891,  616,  844,  891,  844,  891,  891,
     1090      891,  844,  677,  891,  677,  891,  891,  891,  677,  681,
     1091      891,  681,  891,  891,  891,  681,   86,  891,   86,  891,
     1092
     1093      891,  891,   86,  849,  891,  849,  891,  891,  891,  849,
     1094      140,  891,  140,  891,  891,  891,  140,  204,  891,  204,
     1095      891,  891,  891,  204,   11,  891,  891,  891,  891,  891,
     1096      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1097      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1098      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1099      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1100      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1101      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1102      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1103
     1104      891,  891,  891,  891,  891,  891,  891,  891,  891,  891
    11071105    } ;
    11081106
    1109 static yyconst flex_int16_t yy_chk[2931] =
     1107static yyconst flex_int16_t yy_chk[2911] =
    11101108    {   0,
    11111109        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    11281126        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    11291127        5,    5,    5,    5,    5,    5,    5,    5,    5,    7,
    1130         8,    9,   10,   37,   37,   20,   39,    9,   10,  893,
     1128        8,    9,   10,   37,   37,   20,   39,    9,   10,  890,
    11311129        7,    8,   13,   13,   13,   13,   13,   13,   15,   15,
    11321130
     
    11391137       47,   45,   45,   45,   49,   30,   30,   45,   45,   49,
    11401138       45,   30,   40,   45,   45,   40,   49,   30,   45,   56,
    1141        62,   45,   49,   30,   73,  892,  127,   53,  127,   51,
     1139       62,   45,   49,   30,   73,  889,  127,   53,  127,   51,
    11421140       61,   30,   62,   55,   30,   31,  108,   31,   31,   31,
    11431141
     
    11471145       31,  129,  107,  154,  151,   52,   31,   52,  107,   87,
    11481146       52,   60,   31,  132,   52,  132,   60,  114,  175,  154,
    1149        31,   38,  151,  387,  111,   38,   38,   58,   38,   60,
     1147       31,   38,  151,  385,  111,   38,   38,   58,   38,   60,
    11501148       38,   38,  113,   38,  107,   38,   59,  130,  113,   58,
    1151        58,  116,  111,  164,   38,   38,   38,  387,   59,   58,
     1149       58,  116,  111,  164,   38,   38,   38,  385,   59,   58,
    11521150      111,  130,   58,  130,  142,   60,   59,  131,   60,  116,
    11531151      164,   68,   68,   59,  113,   38,   68,  116,   38,  131,
    11541152
    1155       110,  131,   60,   67,   67,   67,   67,   67,   67,  884,
     1153      110,  131,   60,   67,   67,   67,   67,   67,   67,  881,
    11561154      142,   67,   68,   68,   68,   68,   68,   68,   80,   80,
    11571155       80,   80,   80,   80,  153,   38,   38,   77,   77,  134,
    11581156      110,  134,   77,  153,   77,  110,  135,  135,  135,   77,
    1159        82,   82,   82,   82,   82,   82,  883,  243,   77,   77,
     1157       82,   82,   82,   82,   82,   82,  880,  243,   77,   77,
    11601158       77,   77,   83,   83,   83,   83,   83,   83,  110,   77,
    11611159      103,  103,  103,  103,  103,  103,  104,  104,  104,  104,
    11621160      133,  133,  137,  133,  137,   77,  145,  139,   77,  139,
    11631161      157,  145,  243,   77,   77,  152,  156,   77,   77,  155,
    1164       166,  150,  157,  880,  104,   77,  159,  168,   77,  104,
     1162      166,  150,  157,  103,  104,   77,  159,  168,   77,  104,
    11651163
    11661164       77,   77,   77,  152,   77,   85,  150,  155,  156,   85,
    11671165       85,  166,  159,  150,   85,   85,  161,   85,  160,   85,
    11681166      145,  162,  104,  167,  168,  161,  169,  163,   85,   85,
    1169        85,  105,  163,  105,  105,  105,  105,  105,  105,  879,
     1167       85,  105,  163,  105,  105,  105,  105,  105,  105,  877,
    11701168      160,  171,  162,  162,  165,  163,  167,  169,  173,   85,
    11711169      105,  106,   85,  106,  165,  172,  106,  106,  106,  106,
     
    11801178      189,  158,  158,  188,  192,  158,  194,  158,  284,  219,
    11811179      185,  219,  158,  158,  158,  193,  158,  192,  220,  194,
    1182       220,  191,  198,  198,  191,  192,  205,  198,  193,  877,
     1180      220,  191,  198,  198,  191,  192,  205,  198,  193,  876,
    11831181      193,  197,  197,  197,  197,  197,  197,  200,  200,  197,
    11841182      248,  221,  200,  198,  198,  198,  198,  198,  198,  202,
    11851183      202,  223,  205,  223,  202,  221,  202,  221,  200,  200,
    1186       200,  200,  200,  200,  209,  209,  248,  876,  222,  209,
     1184      200,  200,  200,  200,  209,  209,  248,  338,  222,  209,
    11871185
    11881186      202,  202,  202,  202,  202,  202,  212,  212,  212,  212,
    1189       222,  286,  222,  224,  224,  225,  224,  225,  226,  226,
     1187      222,  309,  222,  224,  224,  225,  224,  225,  226,  226,
    11901188      226,  228,  229,  228,  229,  234,  234,  235,  236,  235,
    1191       869,  286,  235,  235,  235,  235,  235,  235,  237,  212,
    1192       237,  282,  242,  237,  242,  242,  242,  242,  234,  256,
    1193       270,  236,  241,  241,  241,  241,  241,  241,  282,  266,
    1194       237,  266,  237,  296,  267,  235,  267,  237,  281,  244,
    1195       244,  244,  244,  244,  244,  256,  270,  242,  245,  245,
    1196       245,  245,  245,  245,  281,  241,  244,  247,  278,  247,
    1197       296,  295,  247,  247,  247,  247,  247,  247,  279,  280,
    1198 
    1199       283,  278,  244,  288,  295,  283,  289,  868,  244,  246,
    1200       246,  246,  246,  246,  246,  253,  279,  280,  255,  255,
    1201       255,  255,  255,  255,  289,  246,  288,  246,  291,  246,
    1202       246,  260,  260,  260,  260,  260,  260,  290,  253,  292,
    1203       253,  285,  246,  291,  253,  867,  285,  246,  294,  246,
    1204       253,  255,  246,  287,  246,  292,  292,  294,  297,  299,
    1205       293,  303,  253,  290,  260,  293,  253,  300,  287,  301,
    1206       253,  304,  300,  302,  287,  287,  297,  299,  301,  305,
    1207       302,  303,  306,  307,  308,  309,  310,  306,  307,  304,
    1208       308,  311,  312,  313,  314,  310,  318,  311,  315,  319,
    1209 
    1210       305,  305,  313,  315,  309,  316,  317,  320,  312,  314,
    1211       316,  317,  322,  324,  323,  318,  326,  319,  325,  327,
    1212       320,  328,  329,  322,  330,  331,  332,  334,  317,  323,
    1213       333,  325,  324,  330,  337,  335,  338,  339,  326,  329,
    1214       340,  328,  327,  337,  343,  334,  341,  331,  335,  332,
    1215       639,  342,  333,  340,  341,  339,  342,  344,  344,  343,
    1216       345,  362,  344,  362,  344,  403,  345,  352,  352,  352,
    1217       352,  353,  353,  353,  353,  363,  403,  363,  639,  408,
    1218       338,  370,  370,  370,  370,  370,  370,  372,  382,  372,
    1219       408,  410,  372,  372,  372,  372,  372,  372,  382,  404,
    1220 
    1221       352,  371,  371,  371,  371,  371,  371,  374,  374,  374,
    1222       374,  374,  374,  410,  382,  404,  405,  371,  406,  371,
    1223       412,  371,  371,  377,  377,  377,  377,  377,  377,  385,
    1224       425,  405,  383,  412,  371,  385,  389,  406,  414,  371,
    1225       374,  371,  383,  413,  371,  425,  371,  375,  375,  375,
    1226       375,  375,  375,  384,  389,  417,  377,  407,  383,  413,
    1227       414,  385,  389,  375,  375,  375,  407,  375,  375,  378,
    1228       378,  378,  378,  378,  378,  421,  384,  417,  384,  866,
    1229       375,  421,  384,  865,  388,  375,  375,  375,  384,  386,
    1230       375,  386,  375,  415,  386,  386,  386,  386,  386,  386,
    1231 
    1232       384,  409,  378,  411,  384,  416,  415,  388,  384,  388,
    1233       409,  418,  411,  388,  423,  419,  422,  424,  420,  388,
    1234       419,  416,  416,  431,  427,  423,  432,  386,  433,  418,
    1235       429,  388,  434,  420,  441,  388,  424,  422,  427,  388,
    1236       420,  433,  429,  435,  431,  436,  439,  437,  432,  435,
    1237       442,  443,  444,  445,  441,  434,  437,  446,  447,  449,
    1238       436,  439,  451,  453,  452,  456,  443,  447,  445,  454,
    1239       455,  457,  442,  452,  444,  458,  449,  446,  459,  460,
    1240       457,  461,  462,  463,  453,  451,  460,  456,  461,  454,
    1241       455,  459,  464,  458,  465,  466,  468,  470,  528,  469,
    1242 
    1243       464,  528,  861,  470,  519,  463,  466,  462,  469,  524,
    1244       464,  465,  479,  479,  479,  479,  518,  519,  468,  490,
    1245       490,  490,  490,  490,  490,  492,  492,  492,  492,  492,
    1246       492,  524,  544,  518,  522,  490,  521,  490,  544,  490,
    1247       490,  493,  493,  493,  493,  493,  493,  497,  526,  498,
    1248       494,  521,  490,  526,  522,  496,  532,  490,  492,  490,
    1249       494,  495,  490,  495,  490,  496,  495,  495,  495,  495,
    1250       495,  495,  567,  497,  493,  498,  494,  532,  523,  525,
    1251       567,  496,  500,  500,  500,  500,  500,  500,  502,  529,
    1252       502,  523,  525,  502,  502,  502,  502,  502,  502,  495,
    1253 
    1254       501,  501,  501,  501,  501,  501,  527,  530,  531,  529,
    1255       533,  857,  536,  535,  539,  537,  501,  527,  501,  533,
    1256       501,  501,  530,  534,  535,  536,  538,  531,  534,  540,
    1257       541,  547,  542,  501,  548,  538,  539,  542,  501,  541,
    1258       501,  545,  549,  501,  537,  501,  540,  550,  547,  548,
    1259       545,  552,  553,  554,  558,  555,  550,  549,  557,  558,
    1260       552,  563,  560,  561,  564,  554,  568,  565,  569,  553,
    1261       555,  560,  561,  557,  570,  569,  568,  564,  571,  572,
    1262       574,  575,  577,  563,  565,  572,  713,  578,  622,  574,
    1263       571,  575,  713,  604,  604,  622,  570,  625,  854,  577,
    1264 
    1265       578,  597,  597,  597,  597,  597,  597,  598,  598,  598,
    1266       598,  598,  598,  600,  625,  600,  604,  624,  600,  600,
    1267       600,  600,  600,  600,  603,  603,  603,  603,  603,  603,
    1268       624,  605,  814,  629,  597,  599,  599,  599,  599,  599,
    1269       599,  606,  621,  606,  626,  627,  606,  621,  814,  623,
    1270       629,  599,  627,  599,  605,  599,  599,  603,  623,  630,
    1271       621,  628,  630,  606,  631,  606,  632,  626,  599,  628,
    1272       606,  633,  634,  599,  635,  599,  636,  631,  599,  637,
    1273       599,  640,  637,  638,  641,  643,  633,  644,  632,  647,
    1274       642,  635,  645,  648,  634,  705,  640,  649,  636,  642,
    1275 
    1276       638,  645,  653,  643,  641,  654,  649,  656,  659,  644,
    1277       667,  660,  647,  668,  671,  648,  670,  659,  660,  667,
    1278       703,  705,  653,  668,  656,  670,  702,  853,  708,  671,
    1279       703,  852,  654,  689,  689,  689,  689,  689,  689,  693,
    1280       693,  693,  693,  693,  693,  706,  711,  702,  708,  689,
    1281       707,  689,  706,  689,  689,  707,  709,  710,  715,  709,
    1282       710,  714,  716,  717,  711,  716,  689,  715,  718,  721,
    1283       720,  689,  693,  689,  714,  723,  689,  719,  689,  720,
    1284       719,  724,  722,  725,  717,  722,  726,  727,  723,  724,
    1285       735,  728,  731,  725,  734,  721,  736,  718,  738,  726,
    1286 
    1287       728,  760,  739,  761,  757,  762,  738,  764,  727,  758,
    1288       731,  739,  735,  761,  734,  731,  760,  736,  746,  746,
    1289       746,  746,  746,  746,  757,  759,  758,  763,  762,  765,
    1290       759,  767,  765,  764,  766,  769,  771,  773,  769,  771,
    1291       773,  772,  774,  775,  763,  774,  776,  766,  772,  778,
    1292       782,  746,  797,  799,  802,  807,  810,  800,  775,  767,
    1293       801,  803,  804,  801,  803,  804,  806,  808,  811,  776,
    1294       808,  811,  778,  782,  799,  800,  802,  812,  810,  797,
    1295       812,  807,  813,  815,  806,  816,  831,  833,  832,  834,
    1296       833,  813,  835,  836,  815,  832,  836,  837,  834,  840,
    1297 
    1298       843,  816,  840,  843,  844,  845,  846,  831,  858,  855,
    1299       835,  858,  859,  844,  837,  846,  835,  845,  855,  856,
    1300       860,  870,  859,  862,  856,  860,  862,  863,  864,  871,
    1301       863,  864,  872,  873,  874,  872,  875,  874,  878,  875,
    1302       881,  870,  882,  873,  871,  885,  886,  887,  889,  888,
    1303       890,  851,  891,  850,  885,  849,  848,  882,  847,  886,
    1304       878,  881,  891,  842,  841,  839,  889,  838,  830,  887,
    1305       888,  829,  890,  895,  895,  895,  895,  895,  895,  895,
    1306       895,  895,  895,  895,  895,  895,  896,  896,  896,  896,
    1307       896,  896,  896,  896,  896,  896,  896,  896,  896,  897,
    1308 
     1189      309,  279,  235,  235,  235,  235,  235,  235,  237,  212,
     1190      237,  338,  266,  237,  266,  267,  278,  267,  234,  279,
     1191      283,  236,  241,  241,  241,  283,  241,  241,  256,  278,
     1192      237,  281,  237,  282,  280,  235,  270,  237,  244,  244,
     1193      244,  244,  244,  244,  241,  241,  241,  281,  285,  241,
     1194      282,  241,  280,  285,  256,  244,  245,  245,  245,  245,
     1195      245,  245,  270,  288,  293,  286,  294,  300,  306,  293,
     1196
     1197      308,  244,  300,  306,  874,  294,  308,  244,  246,  246,
     1198      246,  246,  246,  246,  253,  286,  288,  255,  255,  255,
     1199      255,  255,  255,  287,  246,  247,  246,  247,  246,  246,
     1200      247,  247,  247,  247,  247,  247,  290,  253,  287,  253,
     1201      873,  246,  289,  253,  287,  287,  246,  292,  246,  253,
     1202      255,  246,  291,  246,  260,  260,  260,  260,  260,  260,
     1203      289,  253,  290,  292,  292,  253,  295,  291,  296,  253,
     1204      297,  299,  301,  302,  303,  304,  305,  307,  311,  295,
     1205      302,  301,  307,  310,  311,  312,  319,  260,  297,  299,
     1206      313,  314,  310,  304,  303,  296,  318,  305,  305,  313,
     1207
     1208      315,  312,  316,  317,  319,  315,  314,  316,  317,  320,
     1209      322,  323,  324,  326,  325,  318,  327,  328,  331,  329,
     1210      330,  322,  320,  332,  334,  317,  323,  325,  333,  330,
     1211      335,  324,  337,  339,  340,  326,  329,  328,  401,  327,
     1212      331,  337,  334,  335,  341,  343,  332,  340,  342,  401,
     1213      333,  339,  341,  342,  344,  344,  345,  460,  866,  344,
     1214      343,  344,  345,  352,  352,  352,  352,  353,  353,  353,
     1215      353,  362,  363,  362,  363,  370,  370,  370,  370,  370,
     1216      370,  372,  460,  372,  380,  381,  372,  372,  372,  372,
     1217      372,  372,  865,  402,  380,  381,  352,  371,  371,  371,
     1218
     1219      371,  371,  371,  374,  374,  374,  374,  374,  374,  402,
     1220      380,  381,  403,  371,  404,  371,  864,  371,  371,  375,
     1221      375,  375,  375,  375,  375,  383,  382,  403,  406,  405,
     1222      371,  383,  407,  404,  408,  371,  374,  371,  405,  406,
     1223      371,  407,  371,  376,  376,  376,  376,  376,  376,  382,
     1224      412,  382,  375,  387,  411,  382,  408,  383,  384,  386,
     1225      384,  382,  410,  384,  384,  384,  384,  384,  384,  409,
     1226      411,  387,  412,  382,  413,  410,  376,  382,  409,  387,
     1227      415,  382,  386,  414,  386,  416,  417,  413,  386,  418,
     1228      421,  417,  419,  422,  386,  420,  384,  427,  419,  414,
     1229
     1230      414,  421,  415,  416,  418,  423,  386,  425,  429,  427,
     1231      386,  418,  422,  430,  386,  431,  420,  432,  433,  434,
     1232      423,  425,  435,  437,  433,  439,  440,  441,  431,  429,
     1233      442,  435,  443,  444,  434,  430,  449,  445,  437,  447,
     1234      432,  450,  441,  451,  454,  439,  445,  443,  440,  452,
     1235      450,  453,  442,  444,  455,  456,  447,  457,  458,  449,
     1236      459,  461,  463,  455,  451,  458,  454,  459,  462,  452,
     1237      457,  453,  466,  456,  464,  467,  462,  525,  863,  463,
     1238      525,  468,  491,  461,  467,  464,  462,  468,  477,  477,
     1239      477,  477,  491,  515,  466,  488,  488,  488,  488,  488,
     1240
     1241      488,  490,  490,  490,  490,  490,  490,  519,  491,  521,
     1242      515,  488,  492,  488,  492,  488,  488,  492,  492,  492,
     1243      492,  492,  492,  494,  516,  495,  493,  519,  488,  862,
     1244      858,  521,  518,  488,  490,  488,  493,  516,  488,  529,
     1245      488,  497,  497,  497,  497,  497,  497,  518,  520,  494,
     1246      492,  495,  493,  498,  498,  498,  498,  498,  498,  523,
     1247      529,  520,  526,  854,  523,  851,  528,  850,  522,  498,
     1248      499,  498,  499,  498,  498,  499,  499,  499,  499,  499,
     1249      499,  522,  526,  524,  527,  528,  498,  531,  530,  532,
     1250      533,  498,  531,  498,  524,  534,  498,  530,  498,  527,
     1251
     1252      532,  535,  537,  533,  536,  538,  539,  541,  542,  547,
     1253      535,  539,  544,  541,  538,  545,  546,  542,  547,  537,
     1254      550,  551,  849,  549,  534,  552,  536,  554,  560,  544,
     1255      545,  546,  549,  551,  555,  557,  558,  550,  561,  555,
     1256      552,  562,  554,  565,  557,  558,  564,  567,  566,  568,
     1257      560,  561,  575,  565,  564,  566,  569,  571,  562,  574,
     1258      572,  568,  569,  620,  619,  575,  571,  601,  601,  567,
     1259      572,  619,  620,  848,  847,  622,  574,  594,  594,  594,
     1260      594,  594,  594,  595,  595,  595,  595,  595,  595,  597,
     1261      601,  597,  622,  621,  597,  597,  597,  597,  597,  597,
     1262
     1263      600,  600,  600,  600,  600,  600,  621,  602,  626,  846,
     1264      594,  596,  596,  596,  596,  596,  596,  603,  618,  603,
     1265      623,  624,  603,  618,  628,  626,  625,  596,  624,  596,
     1266      602,  596,  596,  600,  625,  627,  618,  628,  627,  603,
     1267      629,  603,  630,  623,  596,  631,  603,  632,  633,  596,
     1268      634,  596,  635,  634,  596,  636,  596,  630,  637,  638,
     1269      640,  644,  629,  639,  632,  641,  642,  631,  645,  635,
     1270      633,  646,  639,  637,  650,  642,  651,  656,  640,  638,
     1271      646,  653,  657,  636,  644,  665,  656,  641,  664,  657,
     1272      645,  667,  668,  842,  650,  665,  700,  664,  653,  699,
     1273
     1274      667,  702,  705,  651,  714,  842,  700,  668,  686,  686,
     1275      686,  686,  686,  686,  690,  690,  690,  690,  690,  690,
     1276      699,  708,  705,  703,  686,  714,  686,  702,  686,  686,
     1277      703,  704,  706,  715,  707,  706,  704,  707,  710,  708,
     1278      712,  686,  711,  717,  710,  718,  686,  690,  686,  712,
     1279      720,  686,  717,  686,  713,  711,  716,  713,  719,  716,
     1280      721,  719,  715,  720,  722,  723,  724,  725,  721,  731,
     1281      728,  718,  732,  735,  722,  733,  725,  736,  723,  756,
     1282      757,  735,  758,  754,  756,  759,  736,  724,  728,  731,
     1283      755,  761,  758,  728,  732,  757,  733,  743,  743,  743,
     1284
     1285      743,  743,  743,  754,  760,  763,  762,  755,  759,  762,
     1286      764,  766,  768,  769,  766,  768,  770,  761,  763,  770,
     1287      769,  760,  771,  773,  772,  771,  775,  779,  794,  797,
     1288      743,  796,  798,  800,  799,  798,  800,  801,  764,  772,
     1289      801,  803,  804,  807,  810,  805,  773,  797,  805,  775,
     1290      779,  808,  796,  810,  808,  794,  799,  809,  811,  803,
     1291      809,  812,  813,  828,  829,  807,  830,  831,  804,  830,
     1292      832,  829,  812,  834,  811,  856,  831,  833,  813,  837,
     1293      833,  875,  837,  840,  828,  856,  840,  841,  832,  843,
     1294      834,  852,  853,  867,  832,  868,  841,  853,  843,  855,
     1295
     1296      852,  857,  855,  875,  859,  860,  857,  859,  860,  861,
     1297      868,  869,  861,  867,  869,  870,  871,  872,  878,  871,
     1298      872,  879,  882,  884,  883,  870,  885,  887,  886,  845,
     1299      888,  882,  844,  839,  838,  836,  879,  883,  835,  878,
     1300      888,  827,  826,  825,  824,  884,  886,  885,  823,  887,
     1301      892,  892,  892,  892,  892,  892,  892,  892,  892,  892,
     1302      892,  892,  892,  893,  893,  893,  893,  893,  893,  893,
     1303      893,  893,  893,  893,  893,  893,  894,  894,  894,  894,
     1304      894,  894,  894,  894,  894,  894,  894,  894,  894,  895,
     1305      822,  821,  895,  820,  895,  895,  895,  895,  895,  896,
     1306
     1307      819,  818,  817,  896,  896,  896,  896,  896,  896,  897,
    13091308      897,  897,  897,  897,  897,  897,  897,  897,  897,  897,
    1310       897,  897,  898,  828,  827,  898,  826,  898,  898,  898,
    1311       898,  898,  899,  825,  824,  823,  899,  899,  899,  899,
    1312       899,  899,  900,  900,  900,  900,  900,  900,  900,  900,
    1313       900,  900,  900,  900,  900,  901,  822,  821,  901,  820,
    1314       901,  901,  901,  901,  901,  902,  819,  902,  902,  818,
    1315       902,  902,  902,  902,  902,  902,  817,  902,  903,  809,
    1316       805,  903,  903,  903,  903,  903,  903,  903,  903,  798,
    1317       903,  904,  904,  904,  904,  904,  904,  904,  904,  904,
    1318       904,  904,  904,  904,  905,  905,  796,  905,  795,  794,
    1319 
    1320       793,  905,  906,  792,  791,  906,  790,  906,  906,  906,
    1321       906,  906,  907,  789,  907,  788,  787,  786,  907,  908,
    1322       785,  908,  784,  783,  781,  908,  909,  780,  909,  779,
    1323       777,  770,  909,  910,  768,  910,  756,  755,  754,  910,
    1324       911,  753,  911,  752,  751,  750,  911,  912,  749,  912,
    1325       748,  745,  744,  912,  913,  743,  913,  737,  733,  732,
    1326       913,  914,  730,  914,  729,  712,  704,  914,  915,  701,
    1327       915,  696,  694,  690,  915,  916,  680,  916,  917,  917,
    1328       676,  917,  917,  917,  674,  917,  918,  918,  672,  918,
    1329       919,  669,  666,  919,  665,  919,  919,  919,  919,  919,
    1330 
    1331       920,  664,  920,  663,  662,  661,  920,  921,  658,  921,
    1332       657,  655,  652,  921,  922,  651,  922,  650,  646,  619,
    1333       922,  923,  615,  923,  924,  613,  924,  611,  609,  607,
    1334       924,  925,  601,  925,  926,  595,  593,  926,  591,  926,
    1335       926,  926,  926,  926,  927,  927,  927,  927,  927,  927,
    1336       927,  927,  927,  927,  927,  927,  927,  928,  928,  928,
    1337       928,  928,  928,  928,  928,  928,  928,  928,  928,  928,
    1338       929,  589,  929,  587,  585,  583,  929,  930,  581,  930,
    1339       580,  579,  576,  930,  931,  573,  931,  566,  562,  559,
    1340       931,  932,  556,  932,  933,  551,  933,  546,  543,  520,
    1341 
    1342       933,  934,  516,  934,  935,  514,  935,  512,  510,  508,
    1343       935,  936,  506,  936,  937,  505,  937,  504,  503,  491,
    1344       937,  938,  488,  938,  939,  486,  939,  485,  484,  482,
    1345       939,  940,  480,  940,  941,  477,  941,  475,  473,  471,
    1346       941,  942,  467,  942,  943,  450,  943,  448,  440,  438,
    1347       943,  944,  430,  944,  945,  428,  945,  426,  945,  400,
    1348       945,  946,  398,  946,  396,  946,  394,  946,  947,  947,
    1349       393,  947,  947,  947,  392,  947,  948,  379,  948,  376,
    1350       367,  365,  948,  949,  364,  949,  360,  358,  356,  949,
    1351       950,  354,  950,  350,  348,  347,  950,  951,  346,  951,
    1352 
    1353       952,  336,  952,  321,  298,  277,  952,  953,  275,  953,
    1354       954,  273,  954,  272,  271,  269,  954,  955,  268,  955,
    1355       956,  263,  956,  259,  258,  254,  956,  957,  251,  957,
    1356       958,  250,  239,  958,  238,  958,  958,  958,  958,  958,
    1357       959,  959,  959,  959,  959,  959,  959,  959,  959,  959,
    1358       959,  959,  959,  960,  231,  960,  230,  227,  217,  960,
    1359       961,  215,  961,  962,  214,  962,  213,  207,  206,  962,
    1360       963,  204,  963,  964,  199,  964,  178,  149,  147,  964,
    1361       965,  146,  965,  966,  140,  966,  138,  136,  128,  966,
    1362       967,  125,  967,  968,  124,  968,  120,  101,   98,  968,
    1363 
    1364       969,   95,  969,  970,   93,  970,   86,   72,   70,  970,
    1365       971,   66,  971,  972,   36,  972,   33,   18,   11,  972,
    1366       973,    4,  973,    3,    0,    0,  973,  974,    0,  974,
    1367       975,    0,  975,    0,    0,    0,  975,  976,    0,  976,
    1368       977,    0,  977,    0,  977,    0,  977,  978,    0,  978,
    1369         0,    0,    0,  978,  979,    0,  979,    0,    0,    0,
    1370       979,  980,    0,  980,  981,    0,  981,    0,    0,    0,
    1371       981,  982,    0,  982,  983,    0,  983,    0,    0,    0,
    1372       983,  984,    0,  984,  985,    0,  985,    0,    0,    0,
    1373       985,  986,    0,  986,  987,    0,  987,    0,    0,    0,
    1374 
    1375       987,  988,    0,  988,  989,    0,  989,    0,    0,    0,
    1376       989,  990,    0,  990,  991,    0,    0,  991,    0,  991,
    1377       991,  991,  991,  991,  992,  992,  992,  992,  992,  992,
    1378       992,  992,  992,  992,  992,  992,  992,  993,    0,  993,
    1379         0,    0,    0,  993,  994,    0,  994,  995,    0,  995,
    1380         0,    0,    0,  995,  996,    0,  996,  997,    0,  997,
    1381         0,    0,    0,  997,  998,    0,  998,  999,    0,  999,
    1382         0,    0,    0,  999, 1000,    0, 1000, 1001,    0, 1001,
    1383         0,    0,    0, 1001, 1002,    0, 1002, 1003,    0, 1003,
    1384         0,    0,    0, 1003, 1004,    0, 1004, 1005,    0, 1005,
    1385 
    1386         0,    0,    0, 1005, 1006,    0, 1006, 1007,    0, 1007,
    1387         0,    0,    0, 1007, 1008,    0, 1008, 1009,    0, 1009,
    1388         0,    0,    0, 1009, 1010,    0, 1010,    0,    0,    0,
    1389      1010, 1011,    0, 1011, 1012,    0, 1012,    0,    0,    0,
    1390      1012, 1013,    0, 1013, 1014,    0, 1014,    0,    0,    0,
    1391      1014, 1015,    0, 1015, 1016,    0, 1016,    0,    0,    0,
    1392      1016, 1017,    0, 1017, 1018,    0, 1018, 1019,    0, 1019,
    1393      1020,    0,    0, 1020,    0, 1020, 1020, 1020, 1020, 1020,
    1394      1021,    0, 1021, 1022, 1022, 1022, 1022, 1022, 1022, 1022,
    1395      1022, 1022, 1022, 1022, 1022, 1022, 1023,    0, 1023,    0,
    1396 
    1397         0,    0, 1023, 1024,    0, 1024, 1025,    0, 1025,    0,
    1398         0,    0, 1025, 1026,    0, 1026, 1027,    0, 1027, 1028,
    1399         0, 1028, 1029,    0,    0, 1029,    0, 1029, 1029, 1029,
    1400      1029, 1029, 1030,    0, 1030, 1031,    0, 1031, 1032,    0,
    1401      1032, 1033,    0, 1033, 1034,    0, 1034, 1035,    0, 1035,
    1402      1036,    0, 1036, 1037,    0, 1037,    0,    0,    0, 1037,
    1403      1038,    0, 1038, 1039,    0, 1039,    0,    0,    0, 1039,
    1404      1040,    0, 1040, 1041,    0, 1041, 1042,    0, 1042, 1043,
    1405         0, 1043, 1044,    0, 1044,    0,    0,    0, 1044, 1045,
    1406         0,    0, 1045,    0, 1045, 1045, 1045, 1045, 1045, 1046,
    1407 
    1408         0, 1046, 1047,    0, 1047, 1048,    0, 1048, 1049,    0,
    1409      1049,    0,    0,    0, 1049, 1050,    0, 1050,    0,    0,
    1410         0, 1050, 1051,    0, 1051,    0,    0,    0, 1051, 1052,
    1411         0, 1052, 1053,    0, 1053,    0,    0,    0, 1053, 1054,
    1412         0, 1054,    0,    0,    0, 1054, 1055,    0, 1055,    0,
    1413         0,    0, 1055, 1056,    0, 1056,    0,    0,    0, 1056,
    1414      1057,    0, 1057,    0,    0,    0, 1057, 1058,    0, 1058,
    1415         0,    0,    0, 1058, 1059,    0, 1059,    0,    0,    0,
    1416      1059, 1060,    0, 1060,    0,    0,    0, 1060, 1061,    0,
    1417      1061,    0,    0,    0, 1061, 1062,    0, 1062,    0,    0,
    1418 
    1419         0, 1062, 1063,    0, 1063,    0,    0,    0, 1063, 1064,
    1420         0, 1064,    0,    0,    0, 1064, 1065,    0, 1065,    0,
    1421         0,    0, 1065, 1066,    0, 1066,    0,    0,    0, 1066,
    1422      1067,    0, 1067,    0,    0,    0, 1067, 1068,    0, 1068,
    1423         0,    0,    0, 1068,  894,  894,  894,  894,  894,  894,
    1424       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1425       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1426       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1427       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1428       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1429 
    1430       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1431       894,  894,  894,  894,  894,  894,  894,  894,  894,  894,
    1432       894,  894,  894,  894,  894,  894,  894,  894,  894,  894
     1309      897,  897,  898,  816,  815,  898,  814,  898,  898,  898,
     1310      898,  898,  899,  806,  899,  899,  802,  899,  899,  899,
     1311      899,  899,  899,  795,  899,  900,  793,  792,  900,  900,
     1312      900,  900,  900,  900,  900,  900,  791,  900,  901,  901,
     1313      901,  901,  901,  901,  901,  901,  901,  901,  901,  901,
     1314      901,  902,  902,  790,  902,  789,  788,  787,  902,  903,
     1315      786,  785,  903,  784,  903,  903,  903,  903,  903,  904,
     1316      783,  904,  782,  781,  780,  904,  905,  778,  905,  777,
     1317
     1318      776,  774,  905,  906,  767,  906,  765,  753,  752,  906,
     1319      907,  751,  907,  750,  749,  748,  907,  908,  747,  908,
     1320      746,  745,  742,  908,  909,  741,  909,  740,  734,  730,
     1321      909,  910,  729,  910,  727,  726,  709,  910,  911,  701,
     1322      911,  698,  693,  691,  911,  912,  687,  912,  677,  673,
     1323      671,  912,  913,  913,  913,  913,  913,  913,  913,  913,
     1324      913,  913,  913,  913,  913,  914,  669,  914,  915,  915,
     1325      666,  915,  915,  915,  663,  915,  916,  916,  662,  916,
     1326      917,  661,  917,  660,  659,  658,  917,  918,  655,  918,
     1327      654,  652,  649,  918,  919,  648,  919,  647,  643,  616,
     1328
     1329      919,  920,  612,  920,  921,  610,  921,  608,  606,  604,
     1330      921,  922,  598,  922,  923,  592,  590,  923,  588,  923,
     1331      923,  923,  923,  923,  924,  924,  924,  924,  924,  924,
     1332      924,  924,  924,  924,  924,  924,  924,  925,  925,  925,
     1333      925,  925,  925,  925,  925,  925,  925,  925,  925,  925,
     1334      926,  586,  926,  584,  582,  580,  926,  927,  578,  927,
     1335      577,  576,  573,  927,  928,  570,  928,  563,  559,  556,
     1336      928,  929,  553,  929,  930,  548,  930,  543,  540,  517,
     1337      930,  931,  513,  931,  932,  511,  932,  509,  507,  505,
     1338      932,  933,  503,  933,  934,  502,  934,  501,  500,  489,
     1339
     1340      934,  935,  486,  935,  936,  484,  936,  483,  482,  480,
     1341      936,  937,  478,  937,  938,  475,  938,  473,  471,  469,
     1342      938,  939,  465,  939,  940,  448,  940,  446,  438,  436,
     1343      940,  941,  428,  941,  942,  426,  942,  424,  942,  398,
     1344      942,  943,  396,  943,  394,  943,  392,  943,  944,  944,
     1345      391,  944,  944,  944,  390,  944,  945,  377,  945,  367,
     1346      365,  364,  945,  946,  360,  946,  358,  356,  354,  946,
     1347      947,  350,  947,  348,  347,  346,  947,  948,  336,  948,
     1348      949,  321,  949,  298,  277,  275,  949,  950,  273,  950,
     1349      951,  272,  951,  271,  269,  268,  951,  952,  263,  952,
     1350
     1351      953,  259,  953,  258,  254,  251,  953,  954,  250,  954,
     1352      955,  239,  238,  955,  231,  955,  955,  955,  955,  955,
     1353      956,  956,  956,  956,  956,  956,  956,  956,  956,  956,
     1354      956,  956,  956,  957,  230,  957,  227,  217,  215,  957,
     1355      958,  214,  958,  959,  213,  959,  207,  206,  204,  959,
     1356      960,  199,  960,  961,  178,  961,  149,  147,  146,  961,
     1357      962,  140,  962,  963,  138,  963,  136,  128,  125,  963,
     1358      964,  124,  964,  965,  120,  965,  101,   98,   95,  965,
     1359      966,   93,  966,  967,   86,  967,   72,   70,   66,  967,
     1360      968,   36,  968,  969,   33,  969,   18,   11,    4,  969,
     1361
     1362      970,    3,  970,    0,    0,    0,  970,  971,    0,  971,
     1363      972,    0,  972,    0,    0,    0,  972,  973,    0,  973,
     1364      974,    0,  974,    0,  974,    0,  974,  975,    0,  975,
     1365        0,    0,    0,  975,  976,    0,  976,    0,    0,    0,
     1366      976,  977,    0,  977,  978,    0,  978,    0,    0,    0,
     1367      978,  979,    0,  979,  980,    0,  980,    0,    0,    0,
     1368      980,  981,    0,  981,  982,    0,  982,    0,    0,    0,
     1369      982,  983,    0,  983,  984,    0,  984,    0,    0,    0,
     1370      984,  985,    0,  985,  986,    0,  986,    0,    0,    0,
     1371      986,  987,    0,  987,  988,    0,    0,  988,    0,  988,
     1372
     1373      988,  988,  988,  988,  989,  989,  989,  989,  989,  989,
     1374      989,  989,  989,  989,  989,  989,  989,  990,    0,  990,
     1375        0,    0,    0,  990,  991,    0,  991,  992,    0,  992,
     1376        0,    0,    0,  992,  993,    0,  993,  994,    0,  994,
     1377        0,    0,    0,  994,  995,    0,  995,  996,    0,  996,
     1378        0,    0,    0,  996,  997,    0,  997,  998,    0,  998,
     1379        0,    0,    0,  998,  999,    0,  999, 1000,    0, 1000,
     1380        0,    0,    0, 1000, 1001,    0, 1001, 1002,    0, 1002,
     1381        0,    0,    0, 1002, 1003,    0, 1003, 1004,    0, 1004,
     1382        0,    0,    0, 1004, 1005,    0, 1005, 1006,    0, 1006,
     1383
     1384        0,    0,    0, 1006, 1007,    0, 1007,    0,    0,    0,
     1385     1007, 1008,    0, 1008, 1009,    0, 1009,    0,    0,    0,
     1386     1009, 1010,    0, 1010, 1011,    0, 1011,    0,    0,    0,
     1387     1011, 1012,    0, 1012, 1013,    0, 1013,    0,    0,    0,
     1388     1013, 1014,    0, 1014, 1015,    0, 1015, 1016,    0, 1016,
     1389     1017,    0,    0, 1017,    0, 1017, 1017, 1017, 1017, 1017,
     1390     1018,    0, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019,
     1391     1019, 1019, 1019, 1019, 1019, 1019, 1020,    0, 1020,    0,
     1392        0,    0, 1020, 1021,    0, 1021, 1022,    0, 1022,    0,
     1393        0,    0, 1022, 1023,    0, 1023, 1024,    0, 1024, 1025,
     1394
     1395        0, 1025, 1026,    0,    0, 1026,    0, 1026, 1026, 1026,
     1396     1026, 1026, 1027,    0, 1027, 1028,    0, 1028, 1029,    0,
     1397     1029, 1030,    0, 1030, 1031,    0, 1031, 1032,    0, 1032,
     1398     1033,    0, 1033, 1034,    0, 1034,    0,    0,    0, 1034,
     1399     1035,    0, 1035, 1036,    0, 1036,    0,    0,    0, 1036,
     1400     1037,    0, 1037, 1038,    0, 1038, 1039,    0, 1039, 1040,
     1401        0, 1040, 1041,    0, 1041,    0,    0,    0, 1041, 1042,
     1402        0,    0, 1042,    0, 1042, 1042, 1042, 1042, 1042, 1043,
     1403        0, 1043, 1044,    0, 1044, 1045,    0, 1045, 1046,    0,
     1404     1046,    0,    0,    0, 1046, 1047,    0, 1047,    0,    0,
     1405
     1406        0, 1047, 1048,    0, 1048,    0,    0,    0, 1048, 1049,
     1407        0, 1049, 1050,    0, 1050,    0,    0,    0, 1050, 1051,
     1408        0, 1051,    0,    0,    0, 1051, 1052,    0, 1052,    0,
     1409        0,    0, 1052, 1053,    0, 1053,    0,    0,    0, 1053,
     1410     1054,    0, 1054,    0,    0,    0, 1054, 1055,    0, 1055,
     1411        0,    0,    0, 1055, 1056,    0, 1056,    0,    0,    0,
     1412     1056, 1057,    0, 1057,    0,    0,    0, 1057, 1058,    0,
     1413     1058,    0,    0,    0, 1058, 1059,    0, 1059,    0,    0,
     1414        0, 1059, 1060,    0, 1060,    0,    0,    0, 1060, 1061,
     1415        0, 1061,    0,    0,    0, 1061, 1062,    0, 1062,    0,
     1416
     1417        0,    0, 1062, 1063,    0, 1063,    0,    0,    0, 1063,
     1418     1064,    0, 1064,    0,    0,    0, 1064, 1065,    0, 1065,
     1419        0,    0,    0, 1065,  891,  891,  891,  891,  891,  891,
     1420      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1421      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1422      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1423      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1424      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1425      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1426      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1427
     1428      891,  891,  891,  891,  891,  891,  891,  891,  891,  891
    14331429    } ;
    14341430
    14351431/* Table of booleans, true if rule could match eol. */
    1436 static yyconst flex_int32_t yy_rule_can_match_eol[184] =
     1432static yyconst flex_int32_t yy_rule_can_match_eol[182] =
    14371433    {   0,
    143814341, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     
    14411437    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14421438    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1443     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
    1444     0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     1439    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
     1440    1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14451441    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14461442    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1447     0, 0, 0, 0,     };
     1443    0, 0,     };
    14481444
    14491445static yy_state_type yy_last_accepting_state;
     
    14731469 * Created On       : Sat Sep 22 08:58:10 2001
    14741470 * Last Modified By : Peter A. Buhr
    1475  * Last Modified On : Wed Oct 26 17:32:30 2016
    1476  * Update Count     : 499
     1471 * Last Modified On : Tue Oct 18 22:19:37 2016
     1472 * Update Count     : 488
    14771473 */
    14781474#line 20 "lex.ll"
     
    15351531
    15361532
    1537 #line 1538 "Parser/lex.cc"
     1533#line 1534 "Parser/lex.cc"
    15381534
    15391535#define INITIAL 0
     
    17271723        register int yy_act;
    17281724   
    1729 #line 138 "lex.ll"
     1725#line 136 "lex.ll"
    17301726
    17311727                                   /* line directives */
    1732 #line 1733 "Parser/lex.cc"
     1728#line 1729 "Parser/lex.cc"
    17331729
    17341730        if ( !(yy_init) )
     
    17841780                                {
    17851781                                yy_current_state = (int) yy_def[yy_current_state];
    1786                                 if ( yy_current_state >= 895 )
     1782                                if ( yy_current_state >= 892 )
    17871783                                        yy_c = yy_meta[(unsigned int) yy_c];
    17881784                                }
     
    17901786                        ++yy_cp;
    17911787                        }
    1792                 while ( yy_base[yy_current_state] != 2845 );
     1788                while ( yy_base[yy_current_state] != 2825 );
    17931789
    17941790yy_find_action:
     
    18271823/* rule 1 can match eol */
    18281824YY_RULE_SETUP
    1829 #line 140 "lex.ll"
     1825#line 138 "lex.ll"
    18301826{
    18311827        /* " stop highlighting */
     
    18531849/* rule 2 can match eol */
    18541850YY_RULE_SETUP
    1855 #line 162 "lex.ll"
     1851#line 160 "lex.ll"
    18561852;
    18571853        YY_BREAK
     
    18591855case 3:
    18601856YY_RULE_SETUP
    1861 #line 165 "lex.ll"
     1857#line 163 "lex.ll"
    18621858{ BEGIN COMMENT; }
    18631859        YY_BREAK
     
    18651861/* rule 4 can match eol */
    18661862YY_RULE_SETUP
    1867 #line 166 "lex.ll"
     1863#line 164 "lex.ll"
    18681864;
    18691865        YY_BREAK
    18701866case 5:
    18711867YY_RULE_SETUP
    1872 #line 167 "lex.ll"
     1868#line 165 "lex.ll"
    18731869{ BEGIN 0; }
    18741870        YY_BREAK
     
    18771873/* rule 6 can match eol */
    18781874YY_RULE_SETUP
    1879 #line 170 "lex.ll"
     1875#line 168 "lex.ll"
    18801876;
    18811877        YY_BREAK
     
    18831879case 7:
    18841880YY_RULE_SETUP
    1885 #line 173 "lex.ll"
     1881#line 171 "lex.ll"
    18861882{ WHITE_RETURN(' '); }
    18871883        YY_BREAK
    18881884case 8:
    18891885YY_RULE_SETUP
    1890 #line 174 "lex.ll"
     1886#line 172 "lex.ll"
    18911887{ WHITE_RETURN(' '); }
    18921888        YY_BREAK
     
    18941890/* rule 9 can match eol */
    18951891YY_RULE_SETUP
    1896 #line 175 "lex.ll"
     1892#line 173 "lex.ll"
    18971893{ NEWLINE_RETURN(); }
    18981894        YY_BREAK
     
    19001896case 10:
    19011897YY_RULE_SETUP
     1898#line 176 "lex.ll"
     1899{ KEYWORD_RETURN(ALIGNAS); }                    // C11
     1900        YY_BREAK
     1901case 11:
     1902YY_RULE_SETUP
     1903#line 177 "lex.ll"
     1904{ KEYWORD_RETURN(ALIGNOF); }                    // C11
     1905        YY_BREAK
     1906case 12:
     1907YY_RULE_SETUP
    19021908#line 178 "lex.ll"
    1903 { KEYWORD_RETURN(ALIGNAS); }                    // C11
    1904         YY_BREAK
    1905 case 11:
     1909{ KEYWORD_RETURN(ALIGNOF); }                    // GCC
     1910        YY_BREAK
     1911case 13:
    19061912YY_RULE_SETUP
    19071913#line 179 "lex.ll"
    1908 { KEYWORD_RETURN(ALIGNOF); }                    // C11
    1909         YY_BREAK
    1910 case 12:
     1914{ KEYWORD_RETURN(ALIGNOF); }                    // GCC
     1915        YY_BREAK
     1916case 14:
    19111917YY_RULE_SETUP
    19121918#line 180 "lex.ll"
    1913 { KEYWORD_RETURN(ALIGNOF); }                    // GCC
    1914         YY_BREAK
    1915 case 13:
     1919{ KEYWORD_RETURN(ASM); }
     1920        YY_BREAK
     1921case 15:
    19161922YY_RULE_SETUP
    19171923#line 181 "lex.ll"
    1918 { KEYWORD_RETURN(ALIGNOF); }                    // GCC
    1919         YY_BREAK
    1920 case 14:
     1924{ KEYWORD_RETURN(ASM); }                                // GCC
     1925        YY_BREAK
     1926case 16:
    19211927YY_RULE_SETUP
    19221928#line 182 "lex.ll"
    1923 { KEYWORD_RETURN(ASM); }
    1924         YY_BREAK
    1925 case 15:
     1929{ KEYWORD_RETURN(ASM); }                                // GCC
     1930        YY_BREAK
     1931case 17:
    19261932YY_RULE_SETUP
    19271933#line 183 "lex.ll"
    1928 { KEYWORD_RETURN(ASM); }                                // GCC
    1929         YY_BREAK
    1930 case 16:
     1934{ KEYWORD_RETURN(AT); }                                 // CFA
     1935        YY_BREAK
     1936case 18:
    19311937YY_RULE_SETUP
    19321938#line 184 "lex.ll"
    1933 { KEYWORD_RETURN(ASM); }                                // GCC
    1934         YY_BREAK
    1935 case 17:
     1939{ KEYWORD_RETURN(ATOMIC); }                             // C11
     1940        YY_BREAK
     1941case 19:
    19361942YY_RULE_SETUP
    19371943#line 185 "lex.ll"
    1938 { KEYWORD_RETURN(AT); }                                 // CFA
    1939         YY_BREAK
    1940 case 18:
     1944{ KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
     1945        YY_BREAK
     1946case 20:
    19411947YY_RULE_SETUP
    19421948#line 186 "lex.ll"
    1943 { KEYWORD_RETURN(ATOMIC); }                             // C11
    1944         YY_BREAK
    1945 case 19:
     1949{ KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
     1950        YY_BREAK
     1951case 21:
    19461952YY_RULE_SETUP
    19471953#line 187 "lex.ll"
    1948 { KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    1949         YY_BREAK
    1950 case 20:
     1954{ KEYWORD_RETURN(AUTO); }
     1955        YY_BREAK
     1956case 22:
    19511957YY_RULE_SETUP
    19521958#line 188 "lex.ll"
    1953 { KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    1954         YY_BREAK
    1955 case 21:
     1959{ KEYWORD_RETURN(BOOL); }                               // C99
     1960        YY_BREAK
     1961case 23:
    19561962YY_RULE_SETUP
    19571963#line 189 "lex.ll"
    1958 { KEYWORD_RETURN(AUTO); }
    1959         YY_BREAK
    1960 case 22:
     1964{ KEYWORD_RETURN(BREAK); }
     1965        YY_BREAK
     1966case 24:
    19611967YY_RULE_SETUP
    19621968#line 190 "lex.ll"
    1963 { KEYWORD_RETURN(BOOL); }                               // C99
    1964         YY_BREAK
    1965 case 23:
     1969{ KEYWORD_RETURN(CASE); }
     1970        YY_BREAK
     1971case 25:
    19661972YY_RULE_SETUP
    19671973#line 191 "lex.ll"
    1968 { KEYWORD_RETURN(BREAK); }
    1969         YY_BREAK
    1970 case 24:
     1974{ KEYWORD_RETURN(CATCH); }                              // CFA
     1975        YY_BREAK
     1976case 26:
    19711977YY_RULE_SETUP
    19721978#line 192 "lex.ll"
    1973 { KEYWORD_RETURN(CASE); }
    1974         YY_BREAK
    1975 case 25:
     1979{ KEYWORD_RETURN(CATCHRESUME); }                // CFA
     1980        YY_BREAK
     1981case 27:
    19761982YY_RULE_SETUP
    19771983#line 193 "lex.ll"
    1978 { KEYWORD_RETURN(CATCH); }                              // CFA
    1979         YY_BREAK
    1980 case 26:
     1984{ KEYWORD_RETURN(CHAR); }
     1985        YY_BREAK
     1986case 28:
    19811987YY_RULE_SETUP
    19821988#line 194 "lex.ll"
    1983 { KEYWORD_RETURN(CATCHRESUME); }                // CFA
    1984         YY_BREAK
    1985 case 27:
     1989{ KEYWORD_RETURN(CHOOSE); }                             // CFA
     1990        YY_BREAK
     1991case 29:
    19861992YY_RULE_SETUP
    19871993#line 195 "lex.ll"
    1988 { KEYWORD_RETURN(CHAR); }
    1989         YY_BREAK
    1990 case 28:
     1994{ KEYWORD_RETURN(COMPLEX); }                    // C99
     1995        YY_BREAK
     1996case 30:
    19911997YY_RULE_SETUP
    19921998#line 196 "lex.ll"
    1993 { KEYWORD_RETURN(CHOOSE); }                             // CFA
    1994         YY_BREAK
    1995 case 29:
     1999{ KEYWORD_RETURN(COMPLEX); }                    // GCC
     2000        YY_BREAK
     2001case 31:
    19962002YY_RULE_SETUP
    19972003#line 197 "lex.ll"
    1998 { KEYWORD_RETURN(COMPLEX); }                    // C99
    1999         YY_BREAK
    2000 case 30:
     2004{ KEYWORD_RETURN(COMPLEX); }                    // GCC
     2005        YY_BREAK
     2006case 32:
    20012007YY_RULE_SETUP
    20022008#line 198 "lex.ll"
    2003 { KEYWORD_RETURN(COMPLEX); }                    // GCC
    2004         YY_BREAK
    2005 case 31:
     2009{ KEYWORD_RETURN(CONST); }
     2010        YY_BREAK
     2011case 33:
    20062012YY_RULE_SETUP
    20072013#line 199 "lex.ll"
    2008 { KEYWORD_RETURN(COMPLEX); }                    // GCC
    2009         YY_BREAK
    2010 case 32:
     2014{ KEYWORD_RETURN(CONST); }                              // GCC
     2015        YY_BREAK
     2016case 34:
    20112017YY_RULE_SETUP
    20122018#line 200 "lex.ll"
    2013 { KEYWORD_RETURN(CONST); }
    2014         YY_BREAK
    2015 case 33:
     2019{ KEYWORD_RETURN(CONST); }                              // GCC
     2020        YY_BREAK
     2021case 35:
    20162022YY_RULE_SETUP
    20172023#line 201 "lex.ll"
    2018 { KEYWORD_RETURN(CONST); }                              // GCC
    2019         YY_BREAK
    2020 case 34:
     2024{ KEYWORD_RETURN(CONTINUE); }
     2025        YY_BREAK
     2026case 36:
    20212027YY_RULE_SETUP
    20222028#line 202 "lex.ll"
    2023 { KEYWORD_RETURN(CONST); }                              // GCC
    2024         YY_BREAK
    2025 case 35:
     2029{ KEYWORD_RETURN(DEFAULT); }
     2030        YY_BREAK
     2031case 37:
    20262032YY_RULE_SETUP
    20272033#line 203 "lex.ll"
    2028 { KEYWORD_RETURN(CONTINUE); }
    2029         YY_BREAK
    2030 case 36:
     2034{ KEYWORD_RETURN(DISABLE); }                    // CFA
     2035        YY_BREAK
     2036case 38:
    20312037YY_RULE_SETUP
    20322038#line 204 "lex.ll"
    2033 { KEYWORD_RETURN(DEFAULT); }
    2034         YY_BREAK
    2035 case 37:
     2039{ KEYWORD_RETURN(DO); }
     2040        YY_BREAK
     2041case 39:
    20362042YY_RULE_SETUP
    20372043#line 205 "lex.ll"
    2038 { KEYWORD_RETURN(DISABLE); }                    // CFA
    2039         YY_BREAK
    2040 case 38:
     2044{ KEYWORD_RETURN(DOUBLE); }
     2045        YY_BREAK
     2046case 40:
    20412047YY_RULE_SETUP
    20422048#line 206 "lex.ll"
    2043 { KEYWORD_RETURN(DO); }
    2044         YY_BREAK
    2045 case 39:
     2049{ KEYWORD_RETURN(DTYPE); }                              // CFA
     2050        YY_BREAK
     2051case 41:
    20462052YY_RULE_SETUP
    20472053#line 207 "lex.ll"
    2048 { KEYWORD_RETURN(DOUBLE); }
    2049         YY_BREAK
    2050 case 40:
     2054{ KEYWORD_RETURN(ELSE); }
     2055        YY_BREAK
     2056case 42:
    20512057YY_RULE_SETUP
    20522058#line 208 "lex.ll"
    2053 { KEYWORD_RETURN(DTYPE); }                              // CFA
    2054         YY_BREAK
    2055 case 41:
     2059{ KEYWORD_RETURN(ENABLE); }                             // CFA
     2060        YY_BREAK
     2061case 43:
    20562062YY_RULE_SETUP
    20572063#line 209 "lex.ll"
    2058 { KEYWORD_RETURN(ELSE); }
    2059         YY_BREAK
    2060 case 42:
     2064{ KEYWORD_RETURN(ENUM); }
     2065        YY_BREAK
     2066case 44:
    20612067YY_RULE_SETUP
    20622068#line 210 "lex.ll"
    2063 { KEYWORD_RETURN(ENABLE); }                             // CFA
    2064         YY_BREAK
    2065 case 43:
     2069{ KEYWORD_RETURN(EXTENSION); }                  // GCC
     2070        YY_BREAK
     2071case 45:
    20662072YY_RULE_SETUP
    20672073#line 211 "lex.ll"
    2068 { KEYWORD_RETURN(ENUM); }
    2069         YY_BREAK
    2070 case 44:
     2074{ KEYWORD_RETURN(EXTERN); }
     2075        YY_BREAK
     2076case 46:
    20712077YY_RULE_SETUP
    20722078#line 212 "lex.ll"
    2073 { KEYWORD_RETURN(EXTENSION); }                  // GCC
    2074         YY_BREAK
    2075 case 45:
     2079{ KEYWORD_RETURN(FALLTHRU); }                   // CFA
     2080        YY_BREAK
     2081case 47:
    20762082YY_RULE_SETUP
    20772083#line 213 "lex.ll"
    2078 { KEYWORD_RETURN(EXTERN); }
    2079         YY_BREAK
    2080 case 46:
     2084{ KEYWORD_RETURN(FALLTHRU); }                   // CFA
     2085        YY_BREAK
     2086case 48:
    20812087YY_RULE_SETUP
    20822088#line 214 "lex.ll"
    2083 { KEYWORD_RETURN(FALLTHRU); }                   // CFA
    2084         YY_BREAK
    2085 case 47:
     2089{ KEYWORD_RETURN(FINALLY); }                    // CFA
     2090        YY_BREAK
     2091case 49:
    20862092YY_RULE_SETUP
    20872093#line 215 "lex.ll"
    2088 { KEYWORD_RETURN(FALLTHRU); }                   // CFA
    2089         YY_BREAK
    2090 case 48:
     2094{ KEYWORD_RETURN(FLOAT); }
     2095        YY_BREAK
     2096case 50:
    20912097YY_RULE_SETUP
    20922098#line 216 "lex.ll"
    2093 { KEYWORD_RETURN(FINALLY); }                    // CFA
    2094         YY_BREAK
    2095 case 49:
     2099{ KEYWORD_RETURN(FLOAT); }                              // GCC
     2100        YY_BREAK
     2101case 51:
    20962102YY_RULE_SETUP
    20972103#line 217 "lex.ll"
    2098 { KEYWORD_RETURN(FLOAT); }
    2099         YY_BREAK
    2100 case 50:
     2104{ KEYWORD_RETURN(FOR); }
     2105        YY_BREAK
     2106case 52:
    21012107YY_RULE_SETUP
    21022108#line 218 "lex.ll"
    2103 { KEYWORD_RETURN(FLOAT); }                              // GCC
    2104         YY_BREAK
    2105 case 51:
     2109{ KEYWORD_RETURN(FORALL); }                             // CFA
     2110        YY_BREAK
     2111case 53:
    21062112YY_RULE_SETUP
    21072113#line 219 "lex.ll"
    2108 { KEYWORD_RETURN(FOR); }
    2109         YY_BREAK
    2110 case 52:
     2114{ KEYWORD_RETURN(FORTRAN); }
     2115        YY_BREAK
     2116case 54:
    21112117YY_RULE_SETUP
    21122118#line 220 "lex.ll"
    2113 { KEYWORD_RETURN(FORALL); }                             // CFA
    2114         YY_BREAK
    2115 case 53:
     2119{ KEYWORD_RETURN(FTYPE); }                              // CFA
     2120        YY_BREAK
     2121case 55:
    21162122YY_RULE_SETUP
    21172123#line 221 "lex.ll"
    2118 { KEYWORD_RETURN(FORTRAN); }
    2119         YY_BREAK
    2120 case 54:
     2124{ KEYWORD_RETURN(GENERIC); }                    // C11
     2125        YY_BREAK
     2126case 56:
    21212127YY_RULE_SETUP
    21222128#line 222 "lex.ll"
    2123 { KEYWORD_RETURN(FTYPE); }                              // CFA
    2124         YY_BREAK
    2125 case 55:
     2129{ KEYWORD_RETURN(GOTO); }
     2130        YY_BREAK
     2131case 57:
    21262132YY_RULE_SETUP
    21272133#line 223 "lex.ll"
    2128 { KEYWORD_RETURN(GENERIC); }                    // C11
    2129         YY_BREAK
    2130 case 56:
     2134{ KEYWORD_RETURN(IF); }
     2135        YY_BREAK
     2136case 58:
    21312137YY_RULE_SETUP
    21322138#line 224 "lex.ll"
    2133 { KEYWORD_RETURN(GOTO); }
    2134         YY_BREAK
    2135 case 57:
     2139{ KEYWORD_RETURN(IMAGINARY); }                  // C99
     2140        YY_BREAK
     2141case 59:
    21362142YY_RULE_SETUP
    21372143#line 225 "lex.ll"
    2138 { KEYWORD_RETURN(IF); }
    2139         YY_BREAK
    2140 case 58:
     2144{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
     2145        YY_BREAK
     2146case 60:
    21412147YY_RULE_SETUP
    21422148#line 226 "lex.ll"
    2143 { KEYWORD_RETURN(IMAGINARY); }                  // C99
    2144         YY_BREAK
    2145 case 59:
     2149{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
     2150        YY_BREAK
     2151case 61:
    21462152YY_RULE_SETUP
    21472153#line 227 "lex.ll"
    2148 { KEYWORD_RETURN(IMAGINARY); }                  // GCC
    2149         YY_BREAK
    2150 case 60:
     2154{ KEYWORD_RETURN(INLINE); }                             // C99
     2155        YY_BREAK
     2156case 62:
    21512157YY_RULE_SETUP
    21522158#line 228 "lex.ll"
    2153 { KEYWORD_RETURN(IMAGINARY); }                  // GCC
    2154         YY_BREAK
    2155 case 61:
     2159{ KEYWORD_RETURN(INLINE); }                             // GCC
     2160        YY_BREAK
     2161case 63:
    21562162YY_RULE_SETUP
    21572163#line 229 "lex.ll"
    2158 { KEYWORD_RETURN(INLINE); }                             // C99
    2159         YY_BREAK
    2160 case 62:
     2164{ KEYWORD_RETURN(INLINE); }                             // GCC
     2165        YY_BREAK
     2166case 64:
    21612167YY_RULE_SETUP
    21622168#line 230 "lex.ll"
    2163 { KEYWORD_RETURN(INLINE); }                             // GCC
    2164         YY_BREAK
    2165 case 63:
     2169{ KEYWORD_RETURN(INT); }
     2170        YY_BREAK
     2171case 65:
    21662172YY_RULE_SETUP
    21672173#line 231 "lex.ll"
    2168 { KEYWORD_RETURN(INLINE); }                             // GCC
    2169         YY_BREAK
    2170 case 64:
     2174{ KEYWORD_RETURN(INT); }                                // GCC
     2175        YY_BREAK
     2176case 66:
    21712177YY_RULE_SETUP
    21722178#line 232 "lex.ll"
    2173 { KEYWORD_RETURN(INT); }
    2174         YY_BREAK
    2175 case 65:
     2179{ KEYWORD_RETURN(LABEL); }                              // GCC
     2180        YY_BREAK
     2181case 67:
    21762182YY_RULE_SETUP
    21772183#line 233 "lex.ll"
    2178 { KEYWORD_RETURN(INT); }                                // GCC
    2179         YY_BREAK
    2180 case 66:
     2184{ KEYWORD_RETURN(LONG); }
     2185        YY_BREAK
     2186case 68:
    21812187YY_RULE_SETUP
    21822188#line 234 "lex.ll"
    2183 { KEYWORD_RETURN(LABEL); }                              // GCC
    2184         YY_BREAK
    2185 case 67:
     2189{ KEYWORD_RETURN(LVALUE); }                             // CFA
     2190        YY_BREAK
     2191case 69:
    21862192YY_RULE_SETUP
    21872193#line 235 "lex.ll"
    2188 { KEYWORD_RETURN(LONG); }
    2189         YY_BREAK
    2190 case 68:
     2194{ KEYWORD_RETURN(NORETURN); }                   // C11
     2195        YY_BREAK
     2196case 70:
    21912197YY_RULE_SETUP
    21922198#line 236 "lex.ll"
    2193 { KEYWORD_RETURN(LVALUE); }                             // CFA
    2194         YY_BREAK
    2195 case 69:
     2199{ KEYWORD_RETURN(OFFSETOF); }           // GCC
     2200        YY_BREAK
     2201case 71:
    21962202YY_RULE_SETUP
    21972203#line 237 "lex.ll"
    2198 { KEYWORD_RETURN(NORETURN); }                   // C11
    2199         YY_BREAK
    2200 case 70:
     2204{ KEYWORD_RETURN(OTYPE); }                              // CFA
     2205        YY_BREAK
     2206case 72:
    22012207YY_RULE_SETUP
    22022208#line 238 "lex.ll"
    2203 { KEYWORD_RETURN(OFFSETOF); }           // GCC
    2204         YY_BREAK
    2205 case 71:
     2209{ KEYWORD_RETURN(REGISTER); }
     2210        YY_BREAK
     2211case 73:
    22062212YY_RULE_SETUP
    22072213#line 239 "lex.ll"
    2208 { KEYWORD_RETURN(OTYPE); }                              // CFA
    2209         YY_BREAK
    2210 case 72:
     2214{ KEYWORD_RETURN(RESTRICT); }                   // C99
     2215        YY_BREAK
     2216case 74:
    22112217YY_RULE_SETUP
    22122218#line 240 "lex.ll"
    2213 { KEYWORD_RETURN(REGISTER); }
    2214         YY_BREAK
    2215 case 73:
     2219{ KEYWORD_RETURN(RESTRICT); }                   // GCC
     2220        YY_BREAK
     2221case 75:
    22162222YY_RULE_SETUP
    22172223#line 241 "lex.ll"
    2218 { KEYWORD_RETURN(RESTRICT); }                   // C99
    2219         YY_BREAK
    2220 case 74:
     2224{ KEYWORD_RETURN(RESTRICT); }                   // GCC
     2225        YY_BREAK
     2226case 76:
    22212227YY_RULE_SETUP
    22222228#line 242 "lex.ll"
    2223 { KEYWORD_RETURN(RESTRICT); }                   // GCC
    2224         YY_BREAK
    2225 case 75:
     2229{ KEYWORD_RETURN(RETURN); }
     2230        YY_BREAK
     2231case 77:
    22262232YY_RULE_SETUP
    22272233#line 243 "lex.ll"
    2228 { KEYWORD_RETURN(RESTRICT); }                   // GCC
    2229         YY_BREAK
    2230 case 76:
     2234{ KEYWORD_RETURN(SHORT); }
     2235        YY_BREAK
     2236case 78:
    22312237YY_RULE_SETUP
    22322238#line 244 "lex.ll"
    2233 { KEYWORD_RETURN(RETURN); }
    2234         YY_BREAK
    2235 case 77:
     2239{ KEYWORD_RETURN(SIGNED); }
     2240        YY_BREAK
     2241case 79:
    22362242YY_RULE_SETUP
    22372243#line 245 "lex.ll"
    2238 { KEYWORD_RETURN(SHORT); }
    2239         YY_BREAK
    2240 case 78:
     2244{ KEYWORD_RETURN(SIGNED); }                             // GCC
     2245        YY_BREAK
     2246case 80:
    22412247YY_RULE_SETUP
    22422248#line 246 "lex.ll"
    2243 { KEYWORD_RETURN(SIGNED); }
    2244         YY_BREAK
    2245 case 79:
     2249{ KEYWORD_RETURN(SIGNED); }                             // GCC
     2250        YY_BREAK
     2251case 81:
    22462252YY_RULE_SETUP
    22472253#line 247 "lex.ll"
    2248 { KEYWORD_RETURN(SIGNED); }                             // GCC
    2249         YY_BREAK
    2250 case 80:
     2254{ KEYWORD_RETURN(SIZEOF); }
     2255        YY_BREAK
     2256case 82:
    22512257YY_RULE_SETUP
    22522258#line 248 "lex.ll"
    2253 { KEYWORD_RETURN(SIGNED); }                             // GCC
    2254         YY_BREAK
    2255 case 81:
     2259{ KEYWORD_RETURN(STATIC); }
     2260        YY_BREAK
     2261case 83:
    22562262YY_RULE_SETUP
    22572263#line 249 "lex.ll"
    2258 { KEYWORD_RETURN(SIZEOF); }
    2259         YY_BREAK
    2260 case 82:
     2264{ KEYWORD_RETURN(STATICASSERT); }               // C11
     2265        YY_BREAK
     2266case 84:
    22612267YY_RULE_SETUP
    22622268#line 250 "lex.ll"
    2263 { KEYWORD_RETURN(STATIC); }
    2264         YY_BREAK
    2265 case 83:
     2269{ KEYWORD_RETURN(STRUCT); }
     2270        YY_BREAK
     2271case 85:
    22662272YY_RULE_SETUP
    22672273#line 251 "lex.ll"
    2268 { KEYWORD_RETURN(STATICASSERT); }               // C11
    2269         YY_BREAK
    2270 case 84:
     2274{ KEYWORD_RETURN(SWITCH); }
     2275        YY_BREAK
     2276case 86:
    22712277YY_RULE_SETUP
    22722278#line 252 "lex.ll"
    2273 { KEYWORD_RETURN(STRUCT); }
    2274         YY_BREAK
    2275 case 85:
     2279{ KEYWORD_RETURN(THREADLOCAL); }                // C11
     2280        YY_BREAK
     2281case 87:
    22762282YY_RULE_SETUP
    22772283#line 253 "lex.ll"
    2278 { KEYWORD_RETURN(SWITCH); }
    2279         YY_BREAK
    2280 case 86:
     2284{ KEYWORD_RETURN(THROW); }                              // CFA
     2285        YY_BREAK
     2286case 88:
    22812287YY_RULE_SETUP
    22822288#line 254 "lex.ll"
    2283 { KEYWORD_RETURN(THREADLOCAL); }                // C11
    2284         YY_BREAK
    2285 case 87:
     2289{ KEYWORD_RETURN(THROWRESUME); }                // CFA
     2290        YY_BREAK
     2291case 89:
    22862292YY_RULE_SETUP
    22872293#line 255 "lex.ll"
    2288 { KEYWORD_RETURN(THROW); }                              // CFA
    2289         YY_BREAK
    2290 case 88:
     2294{ KEYWORD_RETURN(TRAIT); }                              // CFA
     2295        YY_BREAK
     2296case 90:
    22912297YY_RULE_SETUP
    22922298#line 256 "lex.ll"
    2293 { KEYWORD_RETURN(THROWRESUME); }                // CFA
    2294         YY_BREAK
    2295 case 89:
     2299{ KEYWORD_RETURN(TRY); }                                // CFA
     2300        YY_BREAK
     2301case 91:
    22962302YY_RULE_SETUP
    22972303#line 257 "lex.ll"
    2298 { KEYWORD_RETURN(TRAIT); }                              // CFA
    2299         YY_BREAK
    2300 case 90:
     2304{ KEYWORD_RETURN(TYPEDEF); }
     2305        YY_BREAK
     2306case 92:
    23012307YY_RULE_SETUP
    23022308#line 258 "lex.ll"
    2303 { KEYWORD_RETURN(TRY); }                                // CFA
    2304         YY_BREAK
    2305 case 91:
     2309{ KEYWORD_RETURN(TYPEOF); }                             // GCC
     2310        YY_BREAK
     2311case 93:
    23062312YY_RULE_SETUP
    23072313#line 259 "lex.ll"
    2308 { KEYWORD_RETURN(TYPEDEF); }
    2309         YY_BREAK
    2310 case 92:
     2314{ KEYWORD_RETURN(TYPEOF); }                             // GCC
     2315        YY_BREAK
     2316case 94:
    23112317YY_RULE_SETUP
    23122318#line 260 "lex.ll"
    23132319{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    23142320        YY_BREAK
    2315 case 93:
     2321case 95:
    23162322YY_RULE_SETUP
    23172323#line 261 "lex.ll"
    2318 { KEYWORD_RETURN(TYPEOF); }                             // GCC
    2319         YY_BREAK
    2320 case 94:
     2324{ KEYWORD_RETURN(UNION); }
     2325        YY_BREAK
     2326case 96:
    23212327YY_RULE_SETUP
    23222328#line 262 "lex.ll"
    2323 { KEYWORD_RETURN(TYPEOF); }                             // GCC
    2324         YY_BREAK
    2325 case 95:
     2329{ KEYWORD_RETURN(UNSIGNED); }
     2330        YY_BREAK
     2331case 97:
    23262332YY_RULE_SETUP
    23272333#line 263 "lex.ll"
    2328 { KEYWORD_RETURN(UNION); }
    2329         YY_BREAK
    2330 case 96:
     2334{ KEYWORD_RETURN(VALIST); }                     // GCC
     2335        YY_BREAK
     2336case 98:
    23312337YY_RULE_SETUP
    23322338#line 264 "lex.ll"
    2333 { KEYWORD_RETURN(UNSIGNED); }
    2334         YY_BREAK
    2335 case 97:
     2339{ KEYWORD_RETURN(VOID); }
     2340        YY_BREAK
     2341case 99:
    23362342YY_RULE_SETUP
    23372343#line 265 "lex.ll"
    2338 { KEYWORD_RETURN(VALIST); }                     // GCC
    2339         YY_BREAK
    2340 case 98:
     2344{ KEYWORD_RETURN(VOLATILE); }
     2345        YY_BREAK
     2346case 100:
    23412347YY_RULE_SETUP
    23422348#line 266 "lex.ll"
    2343 { KEYWORD_RETURN(VOID); }
    2344         YY_BREAK
    2345 case 99:
     2349{ KEYWORD_RETURN(VOLATILE); }                   // GCC
     2350        YY_BREAK
     2351case 101:
    23462352YY_RULE_SETUP
    23472353#line 267 "lex.ll"
    2348 { KEYWORD_RETURN(VOLATILE); }
    2349         YY_BREAK
    2350 case 100:
     2354{ KEYWORD_RETURN(VOLATILE); }                   // GCC
     2355        YY_BREAK
     2356case 102:
    23512357YY_RULE_SETUP
    23522358#line 268 "lex.ll"
    2353 { KEYWORD_RETURN(VOLATILE); }                   // GCC
    2354         YY_BREAK
    2355 case 101:
    2356 YY_RULE_SETUP
    2357 #line 269 "lex.ll"
    2358 { KEYWORD_RETURN(VOLATILE); }                   // GCC
    2359         YY_BREAK
    2360 case 102:
    2361 YY_RULE_SETUP
    2362 #line 270 "lex.ll"
    23632359{ KEYWORD_RETURN(WHILE); }
    23642360        YY_BREAK
     
    23662362case 103:
    23672363YY_RULE_SETUP
     2364#line 271 "lex.ll"
     2365{ IDENTIFIER_RETURN(); }
     2366        YY_BREAK
     2367case 104:
     2368YY_RULE_SETUP
     2369#line 272 "lex.ll"
     2370{ ATTRIBUTE_RETURN(); }
     2371        YY_BREAK
     2372case 105:
     2373YY_RULE_SETUP
    23682374#line 273 "lex.ll"
     2375{ BEGIN BKQUOTE; }
     2376        YY_BREAK
     2377case 106:
     2378YY_RULE_SETUP
     2379#line 274 "lex.ll"
    23692380{ IDENTIFIER_RETURN(); }
    23702381        YY_BREAK
    2371 case 104:
    2372 YY_RULE_SETUP
    2373 #line 274 "lex.ll"
    2374 { ATTRIBUTE_RETURN(); }
    2375         YY_BREAK
    2376 case 105:
     2382case 107:
    23772383YY_RULE_SETUP
    23782384#line 275 "lex.ll"
    2379 { BEGIN BKQUOTE; }
    2380         YY_BREAK
    2381 case 106:
    2382 YY_RULE_SETUP
    2383 #line 276 "lex.ll"
    2384 { IDENTIFIER_RETURN(); }
    2385         YY_BREAK
    2386 case 107:
    2387 YY_RULE_SETUP
    2388 #line 277 "lex.ll"
    23892385{ BEGIN 0; }
    23902386        YY_BREAK
     
    23922388case 108:
    23932389YY_RULE_SETUP
     2390#line 278 "lex.ll"
     2391{ NUMERIC_RETURN(ZERO); }                               // CFA
     2392        YY_BREAK
     2393case 109:
     2394YY_RULE_SETUP
     2395#line 279 "lex.ll"
     2396{ NUMERIC_RETURN(ONE); }                                // CFA
     2397        YY_BREAK
     2398case 110:
     2399YY_RULE_SETUP
    23942400#line 280 "lex.ll"
    2395 { NUMERIC_RETURN(ZERO); }                               // CFA
    2396         YY_BREAK
    2397 case 109:
     2401{ NUMERIC_RETURN(INTEGERconstant); }
     2402        YY_BREAK
     2403case 111:
    23982404YY_RULE_SETUP
    23992405#line 281 "lex.ll"
    2400 { NUMERIC_RETURN(ONE); }                                // CFA
    2401         YY_BREAK
    2402 case 110:
     2406{ NUMERIC_RETURN(INTEGERconstant); }
     2407        YY_BREAK
     2408case 112:
    24032409YY_RULE_SETUP
    24042410#line 282 "lex.ll"
    24052411{ NUMERIC_RETURN(INTEGERconstant); }
    24062412        YY_BREAK
    2407 case 111:
     2413case 113:
    24082414YY_RULE_SETUP
    24092415#line 283 "lex.ll"
    2410 { NUMERIC_RETURN(INTEGERconstant); }
    2411         YY_BREAK
    2412 case 112:
     2416{ NUMERIC_RETURN(FLOATINGconstant); }
     2417        YY_BREAK
     2418case 114:
    24132419YY_RULE_SETUP
    24142420#line 284 "lex.ll"
    2415 { NUMERIC_RETURN(INTEGERconstant); }
    2416         YY_BREAK
    2417 case 113:
    2418 YY_RULE_SETUP
    2419 #line 285 "lex.ll"
    2420 { NUMERIC_RETURN(REALDECIMALconstant); } // must appear before floating_constant
    2421         YY_BREAK
    2422 case 114:
    2423 YY_RULE_SETUP
    2424 #line 286 "lex.ll"
    2425 { NUMERIC_RETURN(REALFRACTIONconstant); } // must appear before floating_constant
    2426         YY_BREAK
     2421{ NUMERIC_RETURN(FLOATINGconstant); }
     2422        YY_BREAK
     2423/* character constant, allows empty value */
    24272424case 115:
    24282425YY_RULE_SETUP
    24292426#line 287 "lex.ll"
    2430 { NUMERIC_RETURN(FLOATINGconstant); }
     2427{ BEGIN QUOTE; rm_underscore(); strtext = new std::string( yytext, yyleng ); }
    24312428        YY_BREAK
    24322429case 116:
    24332430YY_RULE_SETUP
    24342431#line 288 "lex.ll"
    2435 { NUMERIC_RETURN(FLOATINGconstant); }
    2436         YY_BREAK
    2437 /* character constant, allows empty value */
     2432{ strtext->append( yytext, yyleng ); }
     2433        YY_BREAK
    24382434case 117:
    2439 YY_RULE_SETUP
    2440 #line 291 "lex.ll"
    2441 { BEGIN QUOTE; rm_underscore(); strtext = new std::string( yytext, yyleng ); }
    2442         YY_BREAK
    2443 case 118:
    2444 YY_RULE_SETUP
    2445 #line 292 "lex.ll"
    2446 { strtext->append( yytext, yyleng ); }
    2447         YY_BREAK
    2448 case 119:
    2449 /* rule 119 can match eol */
    2450 YY_RULE_SETUP
    2451 #line 293 "lex.ll"
     2435/* rule 117 can match eol */
     2436YY_RULE_SETUP
     2437#line 289 "lex.ll"
    24522438{ BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(CHARACTERconstant); }
    24532439        YY_BREAK
    24542440/* ' stop highlighting */
    24552441/* string constant */
     2442case 118:
     2443YY_RULE_SETUP
     2444#line 293 "lex.ll"
     2445{ BEGIN STRING; rm_underscore(); strtext = new std::string( yytext, yyleng ); }
     2446        YY_BREAK
     2447case 119:
     2448YY_RULE_SETUP
     2449#line 294 "lex.ll"
     2450{ strtext->append( yytext, yyleng ); }
     2451        YY_BREAK
    24562452case 120:
    2457 YY_RULE_SETUP
    2458 #line 297 "lex.ll"
    2459 { BEGIN STRING; rm_underscore(); strtext = new std::string( yytext, yyleng ); }
    2460         YY_BREAK
     2453/* rule 120 can match eol */
     2454YY_RULE_SETUP
     2455#line 295 "lex.ll"
     2456{ BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(STRINGliteral); }
     2457        YY_BREAK
     2458/* " stop highlighting */
     2459/* common character/string constant */
    24612460case 121:
    24622461YY_RULE_SETUP
    2463 #line 298 "lex.ll"
    2464 { strtext->append( yytext, yyleng ); }
     2462#line 299 "lex.ll"
     2463{ rm_underscore(); strtext->append( yytext, yyleng ); }
    24652464        YY_BREAK
    24662465case 122:
    24672466/* rule 122 can match eol */
    24682467YY_RULE_SETUP
    2469 #line 299 "lex.ll"
    2470 { BEGIN 0; strtext->append( yytext, yyleng ); RETURN_STR(STRINGliteral); }
    2471         YY_BREAK
    2472 /* " stop highlighting */
    2473 /* common character/string constant */
     2468#line 300 "lex.ll"
     2469{}                                              // continuation (ALSO HANDLED BY CPP)
     2470        YY_BREAK
    24742471case 123:
    24752472YY_RULE_SETUP
    2476 #line 303 "lex.ll"
    2477 { rm_underscore(); strtext->append( yytext, yyleng ); }
    2478         YY_BREAK
     2473#line 301 "lex.ll"
     2474{ strtext->append( yytext, yyleng ); } // unknown escape character
     2475        YY_BREAK
     2476/* punctuation */
    24792477case 124:
    2480 /* rule 124 can match eol */
    24812478YY_RULE_SETUP
    24822479#line 304 "lex.ll"
    2483 {}                                              // continuation (ALSO HANDLED BY CPP)
     2480{ ASCIIOP_RETURN(); }
    24842481        YY_BREAK
    24852482case 125:
    24862483YY_RULE_SETUP
    24872484#line 305 "lex.ll"
    2488 { strtext->append( yytext, yyleng ); } // unknown escape character
    2489         YY_BREAK
    2490 /* punctuation */
     2485{ ASCIIOP_RETURN(); }
     2486        YY_BREAK
    24912487case 126:
     2488YY_RULE_SETUP
     2489#line 306 "lex.ll"
     2490{ ASCIIOP_RETURN(); }
     2491        YY_BREAK
     2492case 127:
     2493YY_RULE_SETUP
     2494#line 307 "lex.ll"
     2495{ ASCIIOP_RETURN(); }
     2496        YY_BREAK
     2497case 128:
    24922498YY_RULE_SETUP
    24932499#line 308 "lex.ll"
    24942500{ ASCIIOP_RETURN(); }
    24952501        YY_BREAK
    2496 case 127:
     2502case 129:
    24972503YY_RULE_SETUP
    24982504#line 309 "lex.ll"
    24992505{ ASCIIOP_RETURN(); }
    25002506        YY_BREAK
    2501 case 128:
     2507case 130:
    25022508YY_RULE_SETUP
    25032509#line 310 "lex.ll"
    2504 { ASCIIOP_RETURN(); }
    2505         YY_BREAK
    2506 case 129:
     2510{ ASCIIOP_RETURN(); }                                   // also operator
     2511        YY_BREAK
     2512case 131:
    25072513YY_RULE_SETUP
    25082514#line 311 "lex.ll"
    25092515{ ASCIIOP_RETURN(); }
    25102516        YY_BREAK
    2511 case 130:
     2517case 132:
    25122518YY_RULE_SETUP
    25132519#line 312 "lex.ll"
    25142520{ ASCIIOP_RETURN(); }
    25152521        YY_BREAK
    2516 case 131:
     2522case 133:
    25172523YY_RULE_SETUP
    25182524#line 313 "lex.ll"
     2525{ ASCIIOP_RETURN(); }                                   // also operator
     2526        YY_BREAK
     2527case 134:
     2528YY_RULE_SETUP
     2529#line 314 "lex.ll"
     2530{ NAMEDOP_RETURN(ELLIPSIS); }
     2531        YY_BREAK
     2532/* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
     2533case 135:
     2534YY_RULE_SETUP
     2535#line 317 "lex.ll"
     2536{ RETURN_VAL('['); }
     2537        YY_BREAK
     2538case 136:
     2539YY_RULE_SETUP
     2540#line 318 "lex.ll"
     2541{ RETURN_VAL(']'); }
     2542        YY_BREAK
     2543case 137:
     2544YY_RULE_SETUP
     2545#line 319 "lex.ll"
     2546{ RETURN_VAL('{'); }
     2547        YY_BREAK
     2548case 138:
     2549YY_RULE_SETUP
     2550#line 320 "lex.ll"
     2551{ RETURN_VAL('}'); }
     2552        YY_BREAK
     2553/* operators */
     2554case 139:
     2555YY_RULE_SETUP
     2556#line 323 "lex.ll"
    25192557{ ASCIIOP_RETURN(); }
    25202558        YY_BREAK
    2521 case 132:
    2522 YY_RULE_SETUP
    2523 #line 314 "lex.ll"
    2524 { ASCIIOP_RETURN(); }                                   // also operator
    2525         YY_BREAK
    2526 case 133:
    2527 YY_RULE_SETUP
    2528 #line 315 "lex.ll"
     2559case 140:
     2560YY_RULE_SETUP
     2561#line 324 "lex.ll"
    25292562{ ASCIIOP_RETURN(); }
    25302563        YY_BREAK
    2531 case 134:
    2532 YY_RULE_SETUP
    2533 #line 316 "lex.ll"
     2564case 141:
     2565YY_RULE_SETUP
     2566#line 325 "lex.ll"
    25342567{ ASCIIOP_RETURN(); }
    25352568        YY_BREAK
    2536 case 135:
    2537 YY_RULE_SETUP
    2538 #line 317 "lex.ll"
    2539 { ASCIIOP_RETURN(); }                                   // also operator
    2540         YY_BREAK
    2541 case 136:
    2542 YY_RULE_SETUP
    2543 #line 318 "lex.ll"
    2544 { NAMEDOP_RETURN(ELLIPSIS); }
    2545         YY_BREAK
    2546 /* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
    2547 case 137:
    2548 YY_RULE_SETUP
    2549 #line 321 "lex.ll"
    2550 { RETURN_VAL('['); }
    2551         YY_BREAK
    2552 case 138:
    2553 YY_RULE_SETUP
    2554 #line 322 "lex.ll"
    2555 { RETURN_VAL(']'); }
    2556         YY_BREAK
    2557 case 139:
    2558 YY_RULE_SETUP
    2559 #line 323 "lex.ll"
    2560 { RETURN_VAL('{'); }
    2561         YY_BREAK
    2562 case 140:
    2563 YY_RULE_SETUP
    2564 #line 324 "lex.ll"
    2565 { RETURN_VAL('}'); }
    2566         YY_BREAK
    2567 /* operators */
    2568 case 141:
     2569case 142:
     2570YY_RULE_SETUP
     2571#line 326 "lex.ll"
     2572{ ASCIIOP_RETURN(); }
     2573        YY_BREAK
     2574case 143:
    25692575YY_RULE_SETUP
    25702576#line 327 "lex.ll"
    25712577{ ASCIIOP_RETURN(); }
    25722578        YY_BREAK
    2573 case 142:
     2579case 144:
    25742580YY_RULE_SETUP
    25752581#line 328 "lex.ll"
    25762582{ ASCIIOP_RETURN(); }
    25772583        YY_BREAK
    2578 case 143:
     2584case 145:
    25792585YY_RULE_SETUP
    25802586#line 329 "lex.ll"
    25812587{ ASCIIOP_RETURN(); }
    25822588        YY_BREAK
    2583 case 144:
     2589case 146:
    25842590YY_RULE_SETUP
    25852591#line 330 "lex.ll"
    25862592{ ASCIIOP_RETURN(); }
    25872593        YY_BREAK
    2588 case 145:
     2594case 147:
    25892595YY_RULE_SETUP
    25902596#line 331 "lex.ll"
    25912597{ ASCIIOP_RETURN(); }
    25922598        YY_BREAK
    2593 case 146:
     2599case 148:
    25942600YY_RULE_SETUP
    25952601#line 332 "lex.ll"
    25962602{ ASCIIOP_RETURN(); }
    25972603        YY_BREAK
    2598 case 147:
     2604case 149:
    25992605YY_RULE_SETUP
    26002606#line 333 "lex.ll"
    26012607{ ASCIIOP_RETURN(); }
    26022608        YY_BREAK
    2603 case 148:
     2609case 150:
    26042610YY_RULE_SETUP
    26052611#line 334 "lex.ll"
    26062612{ ASCIIOP_RETURN(); }
    26072613        YY_BREAK
    2608 case 149:
     2614case 151:
    26092615YY_RULE_SETUP
    26102616#line 335 "lex.ll"
    26112617{ ASCIIOP_RETURN(); }
    26122618        YY_BREAK
    2613 case 150:
     2619case 152:
    26142620YY_RULE_SETUP
    26152621#line 336 "lex.ll"
    26162622{ ASCIIOP_RETURN(); }
    26172623        YY_BREAK
    2618 case 151:
    2619 YY_RULE_SETUP
    2620 #line 337 "lex.ll"
    2621 { ASCIIOP_RETURN(); }
    2622         YY_BREAK
    2623 case 152:
     2624case 153:
    26242625YY_RULE_SETUP
    26252626#line 338 "lex.ll"
    2626 { ASCIIOP_RETURN(); }
    2627         YY_BREAK
    2628 case 153:
     2627{ NAMEDOP_RETURN(ICR); }
     2628        YY_BREAK
     2629case 154:
    26292630YY_RULE_SETUP
    26302631#line 339 "lex.ll"
    2631 { ASCIIOP_RETURN(); }
    2632         YY_BREAK
    2633 case 154:
     2632{ NAMEDOP_RETURN(DECR); }
     2633        YY_BREAK
     2634case 155:
    26342635YY_RULE_SETUP
    26352636#line 340 "lex.ll"
    2636 { ASCIIOP_RETURN(); }
    2637         YY_BREAK
    2638 case 155:
     2637{ NAMEDOP_RETURN(EQ); }
     2638        YY_BREAK
     2639case 156:
     2640YY_RULE_SETUP
     2641#line 341 "lex.ll"
     2642{ NAMEDOP_RETURN(NE); }
     2643        YY_BREAK
     2644case 157:
    26392645YY_RULE_SETUP
    26402646#line 342 "lex.ll"
    2641 { NAMEDOP_RETURN(ICR); }
    2642         YY_BREAK
    2643 case 156:
     2647{ NAMEDOP_RETURN(LS); }
     2648        YY_BREAK
     2649case 158:
    26442650YY_RULE_SETUP
    26452651#line 343 "lex.ll"
    2646 { NAMEDOP_RETURN(DECR); }
    2647         YY_BREAK
    2648 case 157:
     2652{ NAMEDOP_RETURN(RS); }
     2653        YY_BREAK
     2654case 159:
    26492655YY_RULE_SETUP
    26502656#line 344 "lex.ll"
    2651 { NAMEDOP_RETURN(EQ); }
    2652         YY_BREAK
    2653 case 158:
     2657{ NAMEDOP_RETURN(LE); }
     2658        YY_BREAK
     2659case 160:
    26542660YY_RULE_SETUP
    26552661#line 345 "lex.ll"
    2656 { NAMEDOP_RETURN(NE); }
    2657         YY_BREAK
    2658 case 159:
     2662{ NAMEDOP_RETURN(GE); }
     2663        YY_BREAK
     2664case 161:
    26592665YY_RULE_SETUP
    26602666#line 346 "lex.ll"
    2661 { NAMEDOP_RETURN(LS); }
    2662         YY_BREAK
    2663 case 160:
     2667{ NAMEDOP_RETURN(ANDAND); }
     2668        YY_BREAK
     2669case 162:
    26642670YY_RULE_SETUP
    26652671#line 347 "lex.ll"
    2666 { NAMEDOP_RETURN(RS); }
    2667         YY_BREAK
    2668 case 161:
     2672{ NAMEDOP_RETURN(OROR); }
     2673        YY_BREAK
     2674case 163:
    26692675YY_RULE_SETUP
    26702676#line 348 "lex.ll"
    2671 { NAMEDOP_RETURN(LE); }
    2672         YY_BREAK
    2673 case 162:
     2677{ NAMEDOP_RETURN(ARROW); }
     2678        YY_BREAK
     2679case 164:
    26742680YY_RULE_SETUP
    26752681#line 349 "lex.ll"
    2676 { NAMEDOP_RETURN(GE); }
    2677         YY_BREAK
    2678 case 163:
     2682{ NAMEDOP_RETURN(PLUSassign); }
     2683        YY_BREAK
     2684case 165:
    26792685YY_RULE_SETUP
    26802686#line 350 "lex.ll"
    2681 { NAMEDOP_RETURN(ANDAND); }
    2682         YY_BREAK
    2683 case 164:
     2687{ NAMEDOP_RETURN(MINUSassign); }
     2688        YY_BREAK
     2689case 166:
    26842690YY_RULE_SETUP
    26852691#line 351 "lex.ll"
    2686 { NAMEDOP_RETURN(OROR); }
    2687         YY_BREAK
    2688 case 165:
     2692{ NAMEDOP_RETURN(MULTassign); }
     2693        YY_BREAK
     2694case 167:
    26892695YY_RULE_SETUP
    26902696#line 352 "lex.ll"
    2691 { NAMEDOP_RETURN(ARROW); }
    2692         YY_BREAK
    2693 case 166:
     2697{ NAMEDOP_RETURN(DIVassign); }
     2698        YY_BREAK
     2699case 168:
    26942700YY_RULE_SETUP
    26952701#line 353 "lex.ll"
    2696 { NAMEDOP_RETURN(PLUSassign); }
    2697         YY_BREAK
    2698 case 167:
     2702{ NAMEDOP_RETURN(MODassign); }
     2703        YY_BREAK
     2704case 169:
    26992705YY_RULE_SETUP
    27002706#line 354 "lex.ll"
    2701 { NAMEDOP_RETURN(MINUSassign); }
    2702         YY_BREAK
    2703 case 168:
     2707{ NAMEDOP_RETURN(ANDassign); }
     2708        YY_BREAK
     2709case 170:
    27042710YY_RULE_SETUP
    27052711#line 355 "lex.ll"
    2706 { NAMEDOP_RETURN(MULTassign); }
    2707         YY_BREAK
    2708 case 169:
     2712{ NAMEDOP_RETURN(ORassign); }
     2713        YY_BREAK
     2714case 171:
    27092715YY_RULE_SETUP
    27102716#line 356 "lex.ll"
    2711 { NAMEDOP_RETURN(DIVassign); }
    2712         YY_BREAK
    2713 case 170:
     2717{ NAMEDOP_RETURN(ERassign); }
     2718        YY_BREAK
     2719case 172:
    27142720YY_RULE_SETUP
    27152721#line 357 "lex.ll"
    2716 { NAMEDOP_RETURN(MODassign); }
    2717         YY_BREAK
    2718 case 171:
     2722{ NAMEDOP_RETURN(LSassign); }
     2723        YY_BREAK
     2724case 173:
    27192725YY_RULE_SETUP
    27202726#line 358 "lex.ll"
    2721 { NAMEDOP_RETURN(ANDassign); }
    2722         YY_BREAK
    2723 case 172:
    2724 YY_RULE_SETUP
    2725 #line 359 "lex.ll"
    2726 { NAMEDOP_RETURN(ORassign); }
    2727         YY_BREAK
    2728 case 173:
     2727{ NAMEDOP_RETURN(RSassign); }
     2728        YY_BREAK
     2729case 174:
    27292730YY_RULE_SETUP
    27302731#line 360 "lex.ll"
    2731 { NAMEDOP_RETURN(ERassign); }
    2732         YY_BREAK
    2733 case 174:
    2734 YY_RULE_SETUP
    2735 #line 361 "lex.ll"
    2736 { NAMEDOP_RETURN(LSassign); }
    2737         YY_BREAK
     2732{ NAMEDOP_RETURN(ATassign); }                   // CFA
     2733        YY_BREAK
     2734/* CFA, operator identifier */
    27382735case 175:
    27392736YY_RULE_SETUP
    2740 #line 362 "lex.ll"
    2741 { NAMEDOP_RETURN(RSassign); }
     2737#line 363 "lex.ll"
     2738{ IDENTIFIER_RETURN(); }                                // unary
    27422739        YY_BREAK
    27432740case 176:
    27442741YY_RULE_SETUP
    27452742#line 364 "lex.ll"
    2746 { NAMEDOP_RETURN(ATassign); }                   // CFA
    2747         YY_BREAK
    2748 /* CFA, operator identifier */
     2743{ IDENTIFIER_RETURN(); }
     2744        YY_BREAK
    27492745case 177:
    27502746YY_RULE_SETUP
    2751 #line 367 "lex.ll"
    2752 { IDENTIFIER_RETURN(); }                                // unary
     2747#line 365 "lex.ll"
     2748{ IDENTIFIER_RETURN(); }
    27532749        YY_BREAK
    27542750case 178:
    27552751YY_RULE_SETUP
    2756 #line 368 "lex.ll"
    2757 { IDENTIFIER_RETURN(); }
    2758         YY_BREAK
    2759 case 179:
    2760 YY_RULE_SETUP
    2761 #line 369 "lex.ll"
    2762 { IDENTIFIER_RETURN(); }
    2763         YY_BREAK
    2764 case 180:
    2765 YY_RULE_SETUP
    2766 #line 370 "lex.ll"
     2752#line 366 "lex.ll"
    27672753{ IDENTIFIER_RETURN(); }                // binary
    27682754        YY_BREAK
     
    27932779          an argument list.
    27942780        */
    2795 case 181:
    2796 YY_RULE_SETUP
    2797 #line 397 "lex.ll"
     2781case 179:
     2782YY_RULE_SETUP
     2783#line 393 "lex.ll"
    27982784{
    27992785        // 1 or 2 character unary operator ?
     
    28082794        YY_BREAK
    28092795/* unknown characters */
    2810 case 182:
    2811 YY_RULE_SETUP
    2812 #line 409 "lex.ll"
     2796case 180:
     2797YY_RULE_SETUP
     2798#line 405 "lex.ll"
    28132799{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
    28142800        YY_BREAK
    2815 case 183:
    2816 YY_RULE_SETUP
    2817 #line 411 "lex.ll"
     2801case 181:
     2802YY_RULE_SETUP
     2803#line 407 "lex.ll"
    28182804ECHO;
    28192805        YY_BREAK
    2820 #line 2821 "Parser/lex.cc"
     2806#line 2807 "Parser/lex.cc"
    28212807case YY_STATE_EOF(INITIAL):
    28222808case YY_STATE_EOF(COMMENT):
     
    31153101                        {
    31163102                        yy_current_state = (int) yy_def[yy_current_state];
    3117                         if ( yy_current_state >= 895 )
     3103                        if ( yy_current_state >= 892 )
    31183104                                yy_c = yy_meta[(unsigned int) yy_c];
    31193105                        }
     
    31433129                {
    31443130                yy_current_state = (int) yy_def[yy_current_state];
    3145                 if ( yy_current_state >= 895 )
     3131                if ( yy_current_state >= 892 )
    31463132                        yy_c = yy_meta[(unsigned int) yy_c];
    31473133                }
    31483134        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    3149         yy_is_jam = (yy_current_state == 894);
     3135        yy_is_jam = (yy_current_state == 891);
    31503136
    31513137        return yy_is_jam ? 0 : yy_current_state;
     
    37933779#define YYTABLES_NAME "yytables"
    37943780
    3795 #line 411 "lex.ll"
     3781#line 407 "lex.ll"
    37963782
    37973783
Note: See TracChangeset for help on using the changeset viewer.