Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/lex.cc

    re7aed49 rdd51906  
    382382        (yy_c_buf_p) = yy_cp;
    383383
    384 #define YY_NUM_RULES 180
    385 #define YY_END_OF_BUFFER 181
     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[888] =
     393static yyconst flex_int16_t yy_accept[889] =
    394394    {   0,
    395395        0,    0,    0,    0,    0,    0,  115,  115,  118,  118,
    396       181,  179,    7,    9,    8,  138,  117,  102,  143,  146,
     396      182,  180,    7,    9,    8,  138,  117,  102,  143,  146,
    397397      114,  125,  126,  141,  139,  129,  140,  132,  142,  107,
    398       108,  109,  130,  131,  148,  150,  149,  151,  179,  102,
    399       123,  179,  124,  144,  102,  104,  102,  102,  102,  102,
     398      108,  109,  130,  131,  148,  150,  149,  151,  180,  102,
     399      123,  180,  124,  144,  102,  104,  102,  102,  102,  102,
    400400      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    401       102,  102,  127,  147,  128,  145,    7,  179,    4,    4,
    402       180,  105,  180,  106,  115,  116,  122,  118,  119,    7,
    403         9,    0,    8,  155,  174,  102,    0,  167,  137,  160,
     401      102,  102,  127,  147,  128,  145,    7,  180,    4,    4,
     402      181,  105,  181,  106,  115,  116,  122,  118,  119,    7,
     403        9,    0,    8,  155,  175,  102,    0,  167,  137,  160,
    404404      168,  165,  152,  163,  153,  164,  162,    0,  112,    3,
    405405
    406406        0,  166,  112,  110,    0,    0,  110,  110,    0,    0,
    407       110,  109,  109,  109,    0,  109,  135,  136,  134,  156,
    408       158,  154,  159,  157,    0,    0,    0,    0,    0,    0,
    409         0,    0,    0,    0,    0,    0,    0,    0,    0,  103,
    410       173,    0,  117,  114,  102,    0,    0,  170,    0,  102,
     407      110,  109,  109,  109,    0,  109,  174,  135,  136,  134,
     408      156,  158,  154,  159,  157,    0,    0,    0,    0,    0,
     409        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     410      103,  173,    0,  117,  114,  102,    0,    0,  170,    0,
    411411      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    412       102,  102,  102,  102,  102,  102,   38,  102,  102,  102,
    413       102,  102,  102,  102,  102,  102,  102,   56,  102,  102,
     412      102,  102,  102,  102,  102,  102,  102,   38,  102,  102,
     413      102,  102,  102,  102,  102,  102,  102,  102,   56,  102,
    414414      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    415       102,  102,  102,  102,  169,  161,    7,    0,    0,    0,
    416 
    417         2,    0,    5,  105,    0,    0,    0,  115,    0,  121,
    418       120,  120,    0,    0,    0,  118,    0,    0,    0,    0,
     415      102,  102,  102,  102,  102,  169,  161,    7,    0,    0,
     416
     417        0,    2,    0,    5,  105,    0,    0,    0,  115,    0,
     418      121,  120,  120,    0,    0,    0,  118,    0,    0,    0,
    419419        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    420         0,  133,  112,  112,    0,  112,  112,    0,    0,    6,
    421         0,  110,    0,    0,    0,  112,    0,  110,  110,  110,
    422       110,    0,  111,    0,    0,  109,  109,  109,  109,    0,
    423       171,  172,    0,  177,  175,    0,    0,    0,  103,    0,
    424         0,    0,    0,    0,    0,    0,    0,  102,   17,  102,
     420        0,    0,  133,  112,  112,    0,  112,  112,    0,    0,
     421        6,    0,  110,    0,    0,    0,  112,    0,  110,  110,
     422      110,  110,    0,  111,    0,    0,  109,  109,  109,  109,
     423        0,  171,  172,    0,  178,  176,    0,    0,    0,  103,
     424        0,    0,    0,    0,    0,    0,    0,    0,  102,   17,
    425425      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    426       102,  102,  102,  102,  102,  102,  102,   14,  102,  102,
     426      102,  102,  102,  102,  102,  102,  102,  102,   14,  102,
    427427
    428428      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    429       102,  102,  102,  102,  102,  102,   50,  102,  102,  102,
    430        63,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    431       102,  102,  102,  102,  102,   89,  102,  102,  102,  102,
    432       102,  102,  102,    0,    0,    0,    0,    0,    0,    0,
    433         0,  120,    0,    0,    0,    0,    0,  120,    0,    0,
    434       178,    0,    0,    0,    0,    0,    0,    0,  112,    0,
    435       112,    0,  112,    0,    0,  112,    0,  110,  110,    0,
    436         0,  111,  111,    0,  111,    0,  111,  109,  109,    0,
    437         0,    0,    0,    0,    0,    0,    0,    0,    0,  176,
    438 
     429      102,  102,  102,  102,  102,  102,  102,   50,  102,  102,
     430      102,   63,  102,  102,  102,  102,  102,  102,  102,  102,
     431      102,  102,  102,  102,  102,  102,   89,  102,  102,  102,
     432      102,  102,  102,  102,    0,    0,    0,    0,    0,    0,
     433        0,    0,  120,    0,    0,    0,    0,    0,  120,    0,
     434        0,  179,    0,    0,    0,    0,    0,    0,    0,  112,
     435        0,  112,    0,  112,    0,    0,  112,    0,  110,  110,
     436        0,    0,  111,  111,    0,  111,    0,  111,  109,  109,
     437        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     438
     439      177,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    439440      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     441      102,  102,  102,  102,   21,  102,   24,  102,   27,  102,
     442      102,  102,  102,  102,  102,  102,   41,  102,   43,  102,
     443      102,  102,  102,  102,  102,  102,   55,  102,   66,  102,
    440444      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    441       102,  102,  102,   21,  102,   24,  102,   27,  102,  102,
    442       102,  102,  102,  102,  102,   41,  102,   43,  102,  102,
    443       102,  102,  102,  102,  102,   55,  102,   66,  102,  102,
     445      102,  102,  102,  102,  102,   97,  102,  102,    0,    0,
     446        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     447        0,    0,  120,    0,    0,    0,    0,    0,  112,    0,
     448        0,    0,    0,    0,    0,  111,  111,    0,  113,    0,
     449
     450      111,  111,    0,    0,    0,    0,    0,    0,    0,    0,
     451        0,    0,    0,    0,    0,  102,  102,   22,  102,  102,
     452      102,  102,  102,  102,  102,   15,  102,  102,  102,  102,
    444453      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    445       102,  102,  102,  102,   97,  102,  102,    0,    0,    0,
     454       23,   25,  102,   32,  102,  102,  102,  102,   40,  102,
     455      102,  102,  102,   48,  102,  102,   53,  102,  102,   70,
     456      102,  102,  102,   76,  102,  102,  102,  102,  102,   86,
     457       88,  102,  102,   94,  102,  102,  101,    0,    0,    0,
    446458        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    447         0,  120,    0,    0,    0,    0,    0,  112,    0,    0,
    448         0,    0,    0,    0,  111,  111,    0,  113,    0,  111,
    449 
    450       111,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    451         0,    0,    0,    0,  102,  102,   22,  102,  102,  102,
    452       102,  102,  102,  102,   15,  102,  102,  102,  102,  102,
    453       102,  102,  102,  102,  102,  102,  102,  102,  102,   23,
    454        25,  102,   32,  102,  102,  102,  102,   40,  102,  102,
    455       102,  102,   48,  102,  102,   53,  102,  102,   70,  102,
    456       102,  102,   76,  102,  102,  102,  102,  102,   86,   88,
    457       102,  102,   94,  102,  102,  101,    0,    0,    0,    0,
     459        0,    0,    0,    0,    0,    0,  113,    0,    0,  111,
     460
     461      113,  113,  113,  113,    0,  111,    0,    0,    0,    0,
     462        0,    0,    0,    0,    0,    0,  102,    0,  102,  102,
     463      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     464      102,  102,  102,  102,   58,  102,  102,  102,  102,  102,
     465      102,  102,  102,   28,  102,  102,  102,   39,   42,   45,
     466      102,  102,   51,  102,   60,   67,  102,  102,   75,   77,
     467       80,   81,   83,   84,  102,  102,   91,  102,  102,    0,
     468        1,    0,    0,    0,    0,    0,    0,  105,    0,    0,
     469        0,  120,    0,    0,    0,    0,  113,    0,  113,  113,
     470        0,    0,    0,    0,    0,    0,    0,    0,    0,  102,
     471
     472      102,   18,  102,  102,  102,  102,  102,  102,  102,   16,
     473      102,  102,  102,   33,  102,  102,  102,  102,  102,  102,
     474      102,  102,  102,  102,  102,  102,   36,   37,  102,   47,
     475       52,  102,  102,  102,   90,  102,  102,    0,    0,    0,
    458476        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    459         0,    0,    0,    0,    0,  113,    0,    0,  111,  113,
    460 
    461       113,  113,  113,    0,  111,    0,    0,    0,    0,    0,
    462         0,    0,    0,    0,    0,  102,    0,  102,  102,  102,
    463       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    464       102,  102,  102,   58,  102,  102,  102,  102,  102,  102,
    465       102,  102,   28,  102,  102,  102,   39,   42,   45,  102,
    466       102,   51,  102,   60,   67,  102,  102,   75,   77,   80,
    467        81,   83,   84,  102,  102,   91,  102,  102,    0,    1,
    468         0,    0,    0,    0,    0,    0,  105,    0,    0,    0,
    469       120,    0,    0,    0,    0,  113,    0,  113,  113,    0,
    470         0,    0,    0,    0,    0,    0,    0,    0,  102,  102,
    471 
    472        18,  102,  102,  102,  102,  102,  102,  102,   16,  102,
    473       102,  102,   33,  102,  102,  102,  102,  102,  102,  102,
    474       102,  102,  102,  102,  102,   36,   37,  102,   47,   52,
    475       102,  102,  102,   90,  102,  102,    0,    0,    0,    0,
    476         0,    0,    0,    0,    0,    0,    0,    0,    0,   10,
    477        11,   29,   54,  102,  102,  102,  102,  102,  102,  102,
    478       102,  102,  102,  102,   59,   61,   64,  102,  102,   78,
    479        92,  102,  102,   35,   46,   71,   72,  102,   95,   98,
    480         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    481         0,    0,  102,   68,  102,  102,   12,  102,  102,   30,
    482 
    483        34,  102,  102,  102,   65,  102,  102,  102,  102,  102,
    484       102,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    485         0,    0,    0,    0,   57,  102,  102,  102,  102,  102,
    486       102,  102,   49,   62,   73,   79,   93,   99,  102,  102,
    487         0,    0,    0,    0,    0,    0,    0,    0,  102,  102,
    488        13,   19,  102,  102,   31,  102,  102,  102,   26,   87,
    489         0,    0,  102,  102,  102,  102,  102,  102,   74,  100,
    490       102,   85,   20,  102,  102,   44,   82,  102,  102,  102,
    491       102,  102,  102,  102,   96,   69,    0
     477       10,   11,   29,   54,  102,  102,  102,  102,  102,  102,
     478      102,  102,  102,  102,  102,   59,   61,   64,  102,  102,
     479       78,   92,  102,  102,   35,   46,   71,   72,  102,   95,
     480       98,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     481        0,    0,    0,  102,   68,  102,  102,   12,  102,  102,
     482
     483       30,   34,  102,  102,  102,   65,  102,  102,  102,  102,
     484      102,  102,    0,    0,    0,    0,    0,    0,    0,    0,
     485        0,    0,    0,    0,    0,   57,  102,  102,  102,  102,
     486      102,  102,  102,   49,   62,   73,   79,   93,   99,  102,
     487      102,    0,    0,    0,    0,    0,    0,    0,    0,  102,
     488      102,   13,   19,  102,  102,   31,  102,  102,  102,   26,
     489       87,    0,    0,  102,  102,  102,  102,  102,  102,   74,
     490      100,  102,   85,   20,  102,  102,   44,   82,  102,  102,
     491      102,  102,  102,  102,  102,   96,   69,    0
    492492    } ;
    493493
     
    537537    } ;
    538538
    539 static yyconst flex_int16_t yy_base[1062] =
     539static yyconst flex_int16_t yy_base[1063] =
    540540    {   0,
    541         0,   84, 2272, 2269,   94,    0,  177,  178,  179,  180,
    542      2285, 2822,  191, 2822,  197,   55, 2822, 2231,   60,  173,
    543      2822, 2822, 2822,   56,  188, 2822,  191,  189,  204,  216,
    544       275,    0, 2249, 2822,  216, 2247,  152,  344,  155,  220,
    545      2822,  159, 2822,  217,  226, 2822,  185,  154,  212,  251,
    546       237,  270,  235,  257,  241,  205,  193,  305,  314,  333,
    547       238,  228, 2822,  225, 2822, 2242,  402,  390, 2822, 2253,
    548      2822, 2221,  235, 2822,    0, 2822,  426,    0, 2822,  417,
    549      2822,  439,  451, 2822,  498, 2219,  264, 2822, 2822, 2822,
    550      2822, 2822, 2235, 2822, 2232, 2822, 2822, 2244,  559, 2822,
    551 
    552      2261, 2822,  438,  444,  511,  534,  289,  253,  197,  380,
    553       305,    0,  319,  280,  198,  322, 2822, 2822, 2822, 2230,
    554      2822, 2822, 2822, 2227, 2224,  218,  255, 2239,  298,  350,
    555       368,  312,  440,  398,  405, 2220,  441, 2168,  446, 2196,
    556      2822,  335, 2822, 2822,  468, 2190, 2189, 2822, 2162,  439,
    557       282,  433,  372,  281,  437,  434,  428,  570,  444,  466,
    558       464,  469,  475,  321,  492,  438,  471,  445,  474,  512,
    559       489,  503,  496,  521,  276,  515,  516, 2189,  526,  510,
    560       519,  525,  543,  522,  560,  553,  523,  561,  551,  544,
    561       599,  582,  593,  584, 2822, 2822,  660,  651, 2236,  666,
    562 
    563      2822,  678, 2822, 2183,  607, 2179, 2178,    0,  693, 2822,
    564      2822,  684, 2176, 2156, 2154,    0, 2177,  578,  608,  617,
    565       654,  679,  650,  683,  684,  687, 2172,  690,  691, 2147,
    566      2146, 2822,    0,  683,  710,  686,  700, 2145, 2196, 2822,
    567       714,    0,  427,  746,  764,  786,  808,  621, 2822, 2152,
    568      2125,    0,  794, 2171,  795,  709, 2822, 2147, 2121,  832,
    569      2822, 2822, 2152, 2822, 2822,  711,  714, 2129, 2129,  717,
    570      2125, 2123, 2120,    0, 2117,    0, 2088,  694,  679,  712,
    571       709,  711,  698,  566,  726,  743,  771,  741,  790,  784,
    572       800,  795,  742,  744,  814,  816,  818, 2118,  819,  745,
    573 
    574       820,  821,  822,  823,  824,  746,  825,  748,  659,  831,
    575       826,  833,  838,  839,  848,  850,  851,  844,  834,  857,
    576      2116,  858,  859,  860,  862,  861,  864,  865,  867,  868,
    577       866,  871,  876,  872,  878, 2113,  880,  689,  881,  882,
    578       892,  896,  893,  953,  954, 2109, 2108, 2106,    0, 2103,
    579         0,  941,  945, 2102,    0, 2101,    0, 2099,    0, 2118,
    580      2822,  940,  941, 2094, 2088,    0, 2086,    0, 2822,  953,
    581       975,  964, 2822,  981,  997, 1021, 2084, 2822, 2822,  939,
    582       940, 1006,  982, 1041,  310, 1039, 1004, 2822, 2822, 2081,
    583      2079, 2077,    0, 2074,    0, 2071,    0, 2070,    0, 2822,
    584 
    585       886,  941,  960,  962,  977,  976,  980,  982, 1017, 1010,
    586      1002,  998, 1022, 1031, 1028, 1033, 1034, 1037, 1040, 1043,
    587      1038, 1041, 1053, 2072, 1055, 2070, 1045, 2067, 1056, 1061,
    588      1063, 1065, 1066, 1067, 1070, 2064, 1071, 2063, 1073, 1074,
    589      1075, 1078, 1080, 1081, 1085, 2062, 1087, 2060, 1084, 1089,
    590      1091, 1097, 1099, 1092, 1102, 1103, 1105, 1106, 1108,  905,
    591      1109, 1116, 1110, 1122, 2057, 1120, 1123, 1179, 2051,    0,
    592      2050,    0, 2049,    0, 2047,    0, 1166, 2044,    0, 2041,
    593         0, 2040, 2039, 2037,    0, 2034,    0, 1173, 2031, 1179,
    594      1137, 1195, 1181, 1178, 1176, 2822, 1219, 1231, 1253, 2042,
    595 
    596      2017, 2027, 2024,    0, 2021,    0, 2020,    0, 2019,    0,
    597      2017,    0, 2014,    0, 1141, 1172, 2014, 1180, 1155, 1196,
    598      1157, 1216, 1207, 1231, 1125, 1210, 1232, 1214, 1187, 1236,
    599      1235, 1237, 1238, 1272, 1249, 1252, 1250, 1253, 1254, 2013,
    600      1261, 1256, 2012, 1260, 1263, 1264, 1257, 2010, 1271, 1268,
    601      1269, 1273, 2007, 1275, 1282, 2006, 1283, 1284, 2005, 1276,
    602      1286, 1289, 2003, 1294, 1291, 1296, 1295, 1297, 1310, 2000,
    603      1305, 1308, 1999, 1307, 1300, 1998, 2046, 1960,    0, 1958,
    604         0, 1957,    0, 1954,    0, 1951,    0, 1950,    0, 1949,
    605         0, 1947,    0, 1355, 1361, 1389, 1372, 1944, 2822, 1378,
    606 
    607      1325, 1365, 1379, 1941, 2822, 1940,    0, 1939,    0, 1937,
    608         0, 1934,    0,    0,    0, 1936,    0, 1366, 1312, 1311,
    609      1341, 1323, 1368, 1369, 1374, 1356, 1383, 1372, 1388, 1390,
    610      1393, 1395, 1396, 1398, 1400, 1431, 1406, 1407, 1411, 1408,
    611      1413, 1414, 1935, 1409, 1416, 1419, 1933, 1930, 1929, 1422,
    612      1424, 1928, 1429, 1926, 1923, 1425, 1430, 1919, 1915, 1911,
    613      1895, 1894, 1893, 1436, 1433, 1891, 1439, 1440, 1938, 2822,
    614      1884,    0, 1883,    0,    0,    0, 1884,    0,    0,    0,
    615      2822,    0,    0,    0,    0, 1486, 1878, 2822, 2822, 1492,
    616      1877,    0, 1876,    0,    0,    0,    0, 1874, 1447, 1444,
    617 
    618      1874, 1449, 1471, 1479, 1450, 1480, 1482, 1469, 1873, 1486,
    619      1490, 1488, 1502, 1452, 1510, 1504, 1491, 1519, 1506, 1498,
    620      1508, 1512, 1513, 1514, 1515, 1872, 1870, 1517, 1867, 1866,
    621      1518, 1520, 1523, 1865, 1521, 1525,    0,    0,    0, 1860,
    622      1857, 1856, 1575,    0, 1855, 1853, 1850, 1849, 1848, 1849,
    623      1846, 1845, 1844, 1531, 1536, 1527, 1528, 1552, 1533, 1537,
    624      1539, 1555, 1557, 1569, 1842, 1560, 1839, 1561, 1559, 1568,
    625      1572, 1567, 1573, 1838, 1837, 1835, 1828, 1574, 1826, 1825,
    626      1819, 1818, 1817, 1815, 1798, 1789, 1788, 1785, 1778, 1775,
    627      1768, 1766, 1576, 1768, 1577, 1581, 1580, 1579, 1584, 1585,
    628 
    629      1747, 1586, 1615, 1590, 1746, 1591, 1592, 1602, 1600, 1594,
    630      1606, 1742, 1735, 1733, 1732, 1690, 1689, 1686, 1685, 1683,
    631      1682, 1678, 1677, 1674, 1676, 1607, 1611, 1614, 1612, 1608,
    632      1616, 1620, 1675, 1623, 1624, 1530, 1453, 1630, 1625, 1629,
    633      1438, 1354, 1319, 1318, 1267, 1212, 1210, 1208, 1631, 1636,
    634      1178, 1639, 1635, 1643, 1177, 1644, 1646, 1650, 1126,  964,
    635       937,  903, 1651, 1652, 1654, 1655, 1656, 1658,  788,  752,
    636      1660,  607,  487, 1662, 1663,  394,  357, 1664, 1666, 1668,
    637      1670, 1669, 1672, 1674,  233,  137, 2822, 1747, 1760, 1773,
    638      1783, 1793, 1806, 1816, 1829, 1842, 1855, 1863, 1873, 1880,
    639 
    640      1887, 1894, 1901, 1908, 1915, 1922, 1929, 1936, 1949, 1956,
    641      1960, 1968, 1971, 1978, 1985, 1992, 1995, 2002, 2008, 2021,
    642      2034, 2041, 2048, 2055, 2062, 2065, 2072, 2075, 2082, 2085,
    643      2092, 2095, 2102, 2105, 2112, 2115, 2122, 2125, 2132, 2140,
    644      2147, 2154, 2161, 2168, 2171, 2178, 2181, 2188, 2191, 2198,
    645      2204, 2217, 2224, 2231, 2234, 2241, 2244, 2251, 2254, 2261,
    646      2264, 2271, 2274, 2281, 2284, 2291, 2298, 2301, 2308, 2311,
    647      2318, 2325, 2332, 2335, 2342, 2345, 2352, 2355, 2362, 2365,
    648      2372, 2375, 2382, 2388, 2401, 2408, 2415, 2418, 2425, 2428,
    649      2435, 2438, 2445, 2448, 2455, 2458, 2465, 2468, 2475, 2478,
    650 
    651      2485, 2488, 2495, 2502, 2505, 2512, 2515, 2522, 2525, 2532,
    652      2535, 2538, 2544, 2551, 2560, 2567, 2574, 2577, 2584, 2587,
    653      2590, 2596, 2603, 2606, 2609, 2612, 2615, 2618, 2621, 2624,
    654      2631, 2634, 2641, 2644, 2647, 2650, 2653, 2663, 2670, 2673,
    655      2676, 2679, 2686, 2693, 2700, 2703, 2710, 2717, 2724, 2731,
    656      2738, 2745, 2752, 2759, 2766, 2773, 2780, 2787, 2794, 2801,
    657      2808
     541        0,   84, 2279, 2277,   94,    0,  177,  178,  179,  180,
     542     2291, 2817,  191, 2817,  197,   55, 2817, 2237,   60,  173,
     543     2817, 2817, 2817,   56,  188, 2817,  191,  189,  204,  216,
     544      275,    0,  152, 2817,  216, 2257,  175,  344,  197,  237,
     545     2817,  159, 2817,  220,  226, 2817,  181,  165,  212,  251,
     546      241,  270,  205,  244,  235,  174,  227,  305,  274,  341,
     547      220,  265, 2817,  227, 2817, 2253,  382,  405, 2817, 2262,
     548     2817, 2228,  211, 2817,    0, 2817,  432,    0, 2817,  398,
     549     2817,  411,  417, 2817,  504, 2227,  258, 2817, 2817, 2817,
     550     2817, 2817, 2245, 2817, 2243, 2817, 2817, 2253,  565, 2817,
     551
     552     2268, 2817,  424,  419,  504,  522,  296,  237,  265,  417,
     553      386,    0,  298,  285,  311,  403, 2817, 2817, 2817, 2817,
     554     2238, 2817, 2817, 2817, 2237, 2235,  301,  331, 2248,  347,
     555      442,  449,  359,  433,  427,  454, 2227,  465, 2176,  469,
     556     2206, 2817,  319, 2817, 2817,  501, 2201, 2198, 2817, 2169,
     557      425,  307,  467,  320,  337,  470,  431,  345,  509,  356,
     558      439,  410,  490,  481,  500,  498,  502,  504,  424,  505,
     559      541,  510,  465,  528,  542,  271,  520,  521, 2197,  544,
     560      548,  549,  550,  561,  558,  570,  579,  587,  569,  585,
     561      567,  601,  592,  593,  594, 2817, 2817,  665,  671, 2246,
     562
     563      677, 2817,  683, 2817, 2194,  565, 2188, 2185,    0,  674,
     564     2817, 2817,  689, 2184, 2183, 2181,    0, 2202,  616,  630,
     565      655,  698,  697,  659,  687,  688,  691, 2197,  694,  701,
     566     2174, 2173, 2817,    0,  693,  723,  691,  714, 2171, 2204,
     567     2817,  722,    0,  717,  768,  744,  808,  779,  606, 2817,
     568     2161, 2136,    0,  794, 2180,  786,  702, 2817, 2154, 2129,
     569      830, 2817, 2817, 2162, 2817, 2817,  708,  722, 2140, 2138,
     570      710, 2132, 2131, 2130,    0, 2128,    0, 2097,  721,  727,
     571      747,  748,  674,  591,  610,  723,  766,  793,  767,  770,
     572      769,  792,  810,  763,  775,  806,  812,  820, 2125,  822,
     573
     574      824,  825,  828,  830,  831,  832,  836,  837,  460,  843,
     575      846,  845,  844,  847,  848,  852,  859,  861,  858,  867,
     576      865, 2124,  868,  869,  870,  873,  871,  872,  874,  875,
     577      881,  876,  880,  882,  887,  888, 2123,  891,  940,  897,
     578      899,  563,  902,  906,  960,  961, 2118, 2115, 2112,    0,
     579     2111,    0,  952,  956, 2110,    0, 2108,    0, 2105,    0,
     580     2126, 2817,  793,  939, 2105, 2101,    0, 2098,    0, 2817,
     581      960,  986,  971, 2817,  977,  992, 1011, 2097, 2817, 2817,
     582      985,  994, 1024,  982, 1058,  922, 1043,  993, 2817, 2817,
     583     2096, 2094, 2091,    0, 2087,    0, 2083,    0, 2081,    0,
     584
     585     2817,  908,  953,  939,  991,  993,  998, 1003, 1000, 1026,
     586     1006, 1037, 1020, 1038, 1048, 1041, 1049,  970, 1054, 1018,
     587     1050, 1044, 1056, 1045, 2082, 1059, 2079, 1068, 2077, 1057,
     588     1052, 1070, 1072, 1079, 1077, 1081, 2075, 1082, 2072, 1084,
     589     1086, 1087, 1088, 1091, 1089, 1094, 2069, 1096, 2068, 1093,
     590     1098, 1099, 1101, 1105, 1100, 1114, 1111, 1115, 1112, 1117,
     591      686, 1118, 1126, 1130, 1127, 2067, 1131, 1132, 1183, 2062,
     592        0, 2059,    0, 2056,    0, 2055,    0, 1178, 2054,    0,
     593     2052,    0, 2049, 2046, 2045,    0, 2044,    0, 1184, 2042,
     594     1190, 1149, 1206, 1192, 1150, 1185, 2817, 1230, 1242, 1264,
     595
     596     2051, 2024, 2035, 2034,    0, 2032,    0, 2029,    0, 2026,
     597        0, 2025,    0, 2024,    0, 1166, 1206, 2025, 1207, 1190,
     598     1227, 1145, 1241, 1184, 1135,  134, 1198, 1243, 1223, 1225,
     599     1244, 1186, 1248, 1247, 1249, 1256, 1251, 1261, 1262, 1221,
     600     2022, 1269, 1266, 2019, 1264, 1267, 1268, 1270, 2018, 1276,
     601     1272, 1274, 1277, 2017, 1280, 1288, 2015, 1287, 1290, 2012,
     602     1284, 1291, 1294, 2009, 1188, 1297, 1298, 1300, 1301, 1308,
     603     2008, 1303, 1309, 2007, 1310, 1315, 2005, 2052, 1998,    0,
     604     1997,    0, 1995,    0, 1992,    0, 1991,    0, 1990,    0,
     605     1988,    0, 1955,    0, 1359, 1365, 1393, 1376, 1953, 2817,
     606
     607     1382, 1369, 1331, 1383, 1952, 2817, 1949,    0, 1946,    0,
     608     1945,    0, 1944,    0,    0,    0, 1945,    0, 1370, 1316,
     609     1317, 1345, 1325, 1372, 1373, 1378, 1377,  384, 1376, 1387,
     610     1390, 1392, 1399, 1397,  773, 1400, 1430, 1407, 1404, 1411,
     611     1410, 1412, 1418, 1942, 1413, 1415, 1423, 1939, 1938, 1937,
     612     1421, 1425, 1935, 1426, 1932, 1931, 1429, 1433, 1930, 1928,
     613     1925, 1924, 1923, 1921, 1435, 1314, 1918, 1439, 1431, 1964,
     614     2817, 1907,    0, 1903,    0,    0,    0, 1890,    0,    0,
     615        0, 2817,    0,    0,    0,    0, 1483, 1886, 2817, 2817,
     616     1489, 1885,    0, 1883,    0,    0,    0,    0, 1880, 1445,
     617
     618     1465, 1882, 1442, 1470, 1467, 1479,  968, 1447, 1476, 1881,
     619     1478, 1482, 1480, 1485, 1481, 1512, 1487, 1497, 1526, 1501,
     620     1503, 1505, 1507, 1508, 1509, 1510, 1879, 1876, 1511, 1875,
     621     1874, 1515, 1514, 1518, 1872, 1520, 1522,    0,    0,    0,
     622     1866, 1865, 1864, 1570,    0, 1862, 1859, 1858, 1857, 1855,
     623     1855, 1854, 1853, 1851, 1527, 1529, 1532, 1523, 1548, 1533,
     624     1549, 1524, 1551, 1552, 1553, 1848, 1557, 1847, 1559, 1561,
     625     1564, 1569, 1555, 1563, 1846, 1844, 1841, 1840, 1571, 1839,
     626     1837, 1831, 1830, 1829, 1827, 1820, 1818, 1817, 1814, 1813,
     627     1812, 1810, 1793, 1574, 1787, 1575, 1577, 1576, 1578, 1580,
     628
     629     1581, 1786, 1585, 1608, 1587, 1783, 1588, 1589, 1599, 1597,
     630     1591, 1593, 1773, 1770, 1763, 1761, 1760, 1739, 1738, 1737,
     631     1730, 1728, 1727, 1685, 1684, 1683, 1598, 1604, 1612, 1605,
     632     1613, 1617, 1616, 1682, 1681, 1618, 1677, 1676, 1622, 1623,
     633     1626, 1670, 1669, 1668, 1665, 1448, 1446, 1358, 1317, 1627,
     634     1624, 1318, 1638, 1630, 1634, 1224, 1642, 1643, 1644, 1137,
     635     1136, 1004,  733, 1628, 1649, 1650, 1651, 1652, 1654,  635,
     636      602, 1656,  436,  296, 1658, 1659,  263,  232, 1660, 1662,
     637     1663, 1665, 1666, 1667, 1670,  200,  166, 2817, 1742, 1755,
     638     1768, 1778, 1788, 1801, 1811, 1824, 1837, 1850, 1858, 1868,
     639
     640     1875, 1882, 1889, 1896, 1903, 1910, 1917, 1924, 1931, 1944,
     641     1951, 1955, 1963, 1966, 1973, 1980, 1987, 1990, 1997, 2003,
     642     2016, 2029, 2036, 2043, 2050, 2057, 2060, 2067, 2070, 2077,
     643     2080, 2087, 2090, 2097, 2100, 2107, 2110, 2117, 2120, 2127,
     644     2135, 2142, 2149, 2156, 2163, 2166, 2173, 2176, 2183, 2186,
     645     2193, 2199, 2212, 2219, 2226, 2229, 2236, 2239, 2246, 2249,
     646     2256, 2259, 2266, 2269, 2276, 2279, 2286, 2293, 2296, 2303,
     647     2306, 2313, 2320, 2327, 2330, 2337, 2340, 2347, 2350, 2357,
     648     2360, 2367, 2370, 2377, 2383, 2396, 2403, 2410, 2413, 2420,
     649     2423, 2430, 2433, 2440, 2443, 2450, 2453, 2460, 2463, 2470,
     650
     651     2473, 2480, 2483, 2490, 2497, 2500, 2507, 2510, 2517, 2520,
     652     2527, 2530, 2533, 2539, 2546, 2555, 2562, 2569, 2572, 2579,
     653     2582, 2585, 2591, 2598, 2601, 2604, 2607, 2610, 2613, 2616,
     654     2619, 2626, 2629, 2636, 2639, 2642, 2645, 2648, 2658, 2665,
     655     2668, 2671, 2674, 2681, 2688, 2695, 2698, 2705, 2712, 2719,
     656     2726, 2733, 2740, 2747, 2754, 2761, 2768, 2775, 2782, 2789,
     657     2796, 2803
    658658    } ;
    659659
    660 static yyconst flex_int16_t yy_def[1062] =
     660static yyconst flex_int16_t yy_def[1063] =
    661661    {   0,
    662       887,    1,  888,  888,  887,    5,  889,  889,  890,  890,
    663       887,  887,  887,  887,  887,  887,  887,  891,  887,  887,
    664       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    665       887,   31,  887,  887,  887,  887,  887,  887,  892,  891,
    666       887,  887,  887,  887,  891,  887,  891,  891,  891,  891,
    667       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    668       891,  891,  887,  887,  887,  887,  887,  893,  887,  887,
    669       887,  894,  887,  887,  895,  887,  887,  896,  887,  887,
    670       887,  887,  887,  887,  887,  891,  887,  887,  887,  887,
    671       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    672 
    673       897,  887,   99,   30,  887,  887,  887,  887,  898,   30,
    674       887,   31,  887,  887,   31,  887,  887,  887,  887,  887,
    675       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    676       887,  887,  887,  887,  887,  887,  887,  887,  887,  899,
    677       887,  887,  887,  887,  891,  900,  901,  887,  887,  891,
    678       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    679       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    680       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    681       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    682       891,  891,  891,  891,  887,  887,  887,  893,  893,  893,
    683 
    684       887,  893,  887,  894,  887,  902,  903,  895,  887,  887,
    685       887,  887,  904,  905,  906,  896,  887,  887,  887,  887,
    686       887,  887,  887,  887,  887,  887,  887,  887,  887,  907,
    687       908,  887,   99,  887,  887,  887,  887,   99,  909,  887,
    688       887,  104,  104,  887,  887,  887,  887,  887,  887,  887,
    689       887,  910,  911,  912,  887,  887,  887,  887,  887,  887,
    690       887,  887,  887,  887,  887,  887,  887,  887,  899,  887,
    691       913,  914,  915,  916,  917,  918,  887,  919,  919,  919,
    692       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    693       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    694 
    695       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    696       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    697       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    698       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    699       919,  919,  919,  920,  921,  922,  923,  924,  925,  926,
    700       927,  887,  887,  928,  929,  930,  931,  932,  933,  887,
    701       887,  887,  887,  887,  934,  935,  936,  937,  887,  887,
    702       887,  887,  887,  887,  887,  371,  376,  887,  887,  938,
    703       939,  940,  887,  887,  887,  940,  887,  887,  887,  941,
    704       942,  943,  944,  945,  946,  947,  948,  949,  950,  887,
    705 
    706       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    707       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    708       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    709       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    710       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    711       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    712       951,  951,  951,  951,  951,  951,  951,  952,  953,  954,
    713       955,  956,  957,  958,  959,  960,  887,  961,  962,  963,
    714       964,  965,  965,  966,  967,  968,  969,  887,  488,  887,
    715       970,  887,  970,  887,  887,  887,  887,  887,  887,  887,
    716 
    717       887,  971,  972,  973,  974,  975,  976,  977,  978,  979,
    718       980,  981,  982,  983,  984,  984,  984,  984,  984,  984,
    719       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    720       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    721       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    722       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    723       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    724       984,  984,  984,  984,  984,  984,  985,  986,  987,  988,
     662      888,    1,  889,  889,  888,    5,  890,  890,  891,  891,
     663      888,  888,  888,  888,  888,  888,  888,  892,  888,  888,
     664      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     665      888,   31,  888,  888,  888,  888,  888,  888,  893,  892,
     666      888,  888,  888,  888,  892,  888,  892,  892,  892,  892,
     667      892,  892,  892,  892,  892,  892,  892,  892,  892,  892,
     668      892,  892,  888,  888,  888,  888,  888,  894,  888,  888,
     669      888,  895,  888,  888,  896,  888,  888,  897,  888,  888,
     670      888,  888,  888,  888,  888,  892,  888,  888,  888,  888,
     671      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     672
     673      898,  888,   99,   30,  888,  888,  888,  888,  899,   30,
     674      888,   31,  888,  888,   31,  888,  888,  888,  888,  888,
     675      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     676      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     677      900,  888,  888,  888,  888,  892,  901,  902,  888,  888,
     678      892,  892,  892,  892,  892,  892,  892,  892,  892,  892,
     679      892,  892,  892,  892,  892,  892,  892,  892,  892,  892,
     680      892,  892,  892,  892,  892,  892,  892,  892,  892,  892,
     681      892,  892,  892,  892,  892,  892,  892,  892,  892,  892,
     682      892,  892,  892,  892,  892,  888,  888,  888,  894,  894,
     683
     684      894,  888,  894,  888,  895,  888,  903,  904,  896,  888,
     685      888,  888,  888,  905,  906,  907,  897,  888,  888,  888,
     686      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     687      908,  909,  888,   99,  888,  888,  888,  888,   99,  910,
     688      888,  888,  104,  104,  888,  888,  888,  888,  888,  888,
     689      888,  888,  911,  912,  913,  888,  888,  888,  888,  888,
     690      888,  888,  888,  888,  888,  888,  888,  888,  888,  900,
     691      888,  914,  915,  916,  917,  918,  919,  888,  920,  920,
     692      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
     693      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
     694
     695      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
     696      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
     697      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
     698      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
     699      920,  920,  920,  920,  921,  922,  923,  924,  925,  926,
     700      927,  928,  888,  888,  929,  930,  931,  932,  933,  934,
     701      888,  888,  888,  888,  888,  935,  936,  937,  938,  888,
     702      888,  888,  888,  888,  888,  888,  372,  377,  888,  888,
     703      939,  940,  941,  888,  888,  888,  941,  888,  888,  888,
     704      942,  943,  944,  945,  946,  947,  948,  949,  950,  951,
     705
     706      888,  952,  952,  952,  952,  952,  952,  952,  952,  952,
     707      952,  952,  952,  952,  952,  952,  952,  952,  952,  952,
     708      952,  952,  952,  952,  952,  952,  952,  952,  952,  952,
     709      952,  952,  952,  952,  952,  952,  952,  952,  952,  952,
     710      952,  952,  952,  952,  952,  952,  952,  952,  952,  952,
     711      952,  952,  952,  952,  952,  952,  952,  952,  952,  952,
     712      952,  952,  952,  952,  952,  952,  952,  952,  953,  954,
     713      955,  956,  957,  958,  959,  960,  961,  888,  962,  963,
     714      964,  965,  966,  966,  967,  968,  969,  970,  888,  489,
     715      888,  971,  888,  971,  888,  888,  888,  888,  888,  888,
     716
     717      888,  888,  972,  973,  974,  975,  976,  977,  978,  979,
     718      980,  981,  982,  983,  984,  985,  985,  985,  985,  985,
     719      985,  985,  985,  985,  985,  985,  985,  985,  985,  985,
     720      985,  985,  985,  985,  985,  985,  985,  985,  985,  985,
     721      985,  985,  985,  985,  985,  985,  985,  985,  985,  985,
     722      985,  985,  985,  985,  985,  985,  985,  985,  985,  985,
     723      985,  985,  985,  985,  985,  985,  985,  985,  985,  985,
     724      985,  985,  985,  985,  985,  985,  985,  986,  987,  988,
    725725      989,  990,  991,  992,  993,  994,  995,  996,  997,  998,
    726       999, 1000, 1001,  887,  887,  887,  887, 1002,  887,  596,
    727 
    728       887,  887,  887,  600,  887, 1003, 1004, 1005, 1006, 1007,
    729      1008, 1009, 1010, 1011, 1012, 1013, 1014, 1013, 1013, 1013,
    730      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
    731      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
    732      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
    733      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
    734      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1015,  887,
    735      1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025,
    736       887, 1026, 1027, 1028, 1029,  887,  686,  887,  887,  887,
    737      1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1038,
    738 
    739      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    740      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    741      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    742      1038, 1038, 1038, 1038, 1038, 1038, 1039, 1040, 1041, 1042,
    743      1043, 1044,  887, 1045, 1030, 1032, 1046, 1047, 1037, 1038,
    744      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    745      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    746      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    747      1048, 1049, 1042, 1050, 1043, 1051, 1044, 1052, 1053, 1046,
    748      1054, 1047, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    749 
    750      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    751      1038, 1055, 1048, 1056, 1049, 1057, 1050, 1058, 1051, 1059,
    752      1052, 1060, 1053, 1054, 1038, 1038, 1038, 1038, 1038, 1038,
    753      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    754      1061, 1055, 1056, 1057, 1058, 1032, 1059, 1060, 1038, 1038,
    755      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    756      1061, 1032, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    757      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    758      1038, 1038, 1038, 1038, 1038, 1038,    0,  887,  887,  887,
    759       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    760 
    761       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    762       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    763       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    764       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    765       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    766       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    767       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    768       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    769       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    770       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    771 
    772       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    773       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    774       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    775       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    776       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    777       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    778       887
     726      999, 1000, 1001, 1002,  888,  888,  888,  888, 1003,  888,
     727
     728      597,  888,  888,  888,  601,  888, 1004, 1005, 1006, 1007,
     729     1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1014, 1014,
     730     1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014,
     731     1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014,
     732     1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014,
     733     1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014,
     734     1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1016,
     735      888, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025,
     736     1026,  888, 1027, 1028, 1029, 1030,  888,  687,  888,  888,
     737      888, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039,
     738
     739     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     740     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     741     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     742     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1040, 1041, 1042,
     743     1043, 1044, 1045,  888, 1046, 1031, 1033, 1047, 1048, 1038,
     744     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     745     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     746     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     747     1039, 1049, 1050, 1043, 1051, 1044, 1052, 1045, 1053, 1054,
     748     1047, 1055, 1048, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     749
     750     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     751     1039, 1039, 1056, 1049, 1057, 1050, 1058, 1051, 1059, 1052,
     752     1060, 1053, 1061, 1054, 1055, 1039, 1039, 1039, 1039, 1039,
     753     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     754     1039, 1062, 1056, 1057, 1058, 1059, 1033, 1060, 1061, 1039,
     755     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     756     1039, 1062, 1033, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     757     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     758     1039, 1039, 1039, 1039, 1039, 1039, 1039,    0,  888,  888,
     759      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     760
     761      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     762      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     763      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     764      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     765      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     766      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     767      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     768      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     769      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     770      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     771
     772      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     773      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     774      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     775      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     776      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     777      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     778      888,  888
    779779    } ;
    780780
    781 static yyconst flex_int16_t yy_nxt[2908] =
     781static yyconst flex_int16_t yy_nxt[2903] =
    782782    {   0,
    783783       12,   13,   14,   15,   15,   15,   13,   16,   17,   12,
     
    800800       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
    801801       72,   72,   72,   72,   72,   71,   71,   71,   71,   76,
    802        76,   79,   79,  123,  124,   90,  141,   79,   79,   87,
     802       76,   79,   79,  117,  118,   90,   87,   79,   79,  628,
    803803       76,   76,   80,   81,   82,   82,   82,   80,   82,   81,
    804804
    805        83,   83,   83,   82,   91,   93,   87,  142,  146,   98,
    806        95,   99,   99,   99,   99,   99,   99,  252,  887,   94,
    807       100,   85,   96,   97,   85,  101,  161,  118,  143,   77,
    808        77,   77,   77,  144,  147,  102,  103,   87,  104,  104,
    809       104,  104,  105,  105,  119,   87,  120,  121,  148,  263,
    810       149,  264,  254,  260,  183,  106,  195,   87,  159,  107,
    811       160,  150,  151,  152,   87,  108,  109,  153,  154,  162,
    812       155,  110,   87,  156,  157,  145,  163,  106,   87,  182,
    813        87,  158,  164,  111,  206,   87,  263,   87,  264,   87,
    814        87,  108,  194,   87,  109,  103,  250,  112,  112,  112,
    815 
    816       112,  112,  112,   87,  169,  177,  170,  196,  193,   87,
    817       207,  180,  165,  230,  106,  171,  166,  181,  113,  178,
    818       251,  167,   87,  258,  114,  168,  179,  172,   87,  263,
    819       115,  264,  248,   87,   87,  173,  106,  174,  249,  231,
    820       175,  143,  116,  263,  176,  264,  144,  259,  317,  283,
    821       114,  125,  280,  500,  249,  126,  127,   87,  128,  191,
    822       129,  130,  256,  131,  249,  132,   87,  265,  257,  184,
    823       185,  257,  248,   87,  133,  134,  135,  501,  188,  186,
    824       249,  263,  187,  264,  271,   87,  189,  265,  145,  256,
    825       305,  200,  201,  190,  257,  136,  200,  257,  137,  263,
    826 
    827       887,  264,  192,  197,   81,   82,   82,   82,  197,   87,
    828       272,  198,  202,  202,  202,  202,  202,  202,   80,   81,
    829        82,   82,   82,   80,   87,  138,  139,  209,  210,  263,
    830       887,  264,  209,  282,  211,  255,  263,  267,  264,  211,
    831        82,   81,   82,   82,   82,   82,   87,  887,  212,  212,
    832       212,  212,   82,   81,   83,   83,   83,   82,  887,  211,
    833        99,   99,   99,   99,   99,   99,  242,  242,  242,  242,
    834       266,  263,  263,  264,  264,  213,  143,  263,  211,  264,
    835        87,  144,  375,  211,  211,   87,   87,  211,  211,   87,
    836        87,   87,  286,  241,  887,  211,   87,   87,  211,  243,
    837 
    838       211,  214,  211,  281,  215,  217,  278,  284,  285,  218,
    839       219,  307,  298,  279,  220,  221,   87,  222,   87,  223,
    840        87,   87,  887,   87,  309,  300,   87,   87,  224,  225,
    841       226,  103,  303,  105,  105,  105,  105,  105,  105,   87,
    842       299,   87,  301,  302,   87,  304,  308,  310,   87,  227,
    843       106,  245,  228,  245,  306,   87,  246,  246,  246,  246,
    844       246,  246,   87,  313,   87,  315,  244,   87,   87,  311,
    845       314,   87,  106,   87,   87,   87,  323,   87,   87,  322,
    846       229,  233,  233,  233,  233,  233,  233,  312,  333,  247,
    847       319,  316,  328,  320,  318,   87,   87,  234,  235,  236,
    848 
    849       321,  237,  236,   87,  324,   87,  325,  143,  335,  360,
    850       331,  361,   87,   87,  238,  337,  326,  327,   87,  236,
    851       235,  236,   87,  329,  237,  332,  236,  287,  288,  289,
    852       336,  290,  291,  334,   87,  292,   87,  293,  407,  360,
    853       330,  361,  294,  295,  296,   87,  297,  339,  360,  343,
    854       361,   87,  200,  201,  338,  340,  346,  200,  341,   87,
    855       342,  197,   81,   82,   82,   82,  197,  200,  201,  198,
    856       378,  361,  200,  202,  202,  202,  202,  202,  202,  344,
    857       201,  360,  347,  361,  344,  360,  345,  361,  202,  202,
    858       202,  202,  202,  202,  209,  210,  378,  143,  361,  209,
    859 
    860       202,  202,  202,  202,  202,  202,  352,  352,  352,  352,
    861       360,   87,  361,  362,  360,  360,  361,  361,  360,  363,
    862       361,  360,  360,  361,  361,  369,  369,  370,  369,  370,
    863       435,   87,  371,  371,  371,  371,  371,  371,  373,  353,
    864       373,   87,  263,  373,  264,  263,   87,  264,  369,  402,
    865        87,  369,  234,  235,  236,  406,  237,  236,  388,  401,
    866       373,   87,  373,   87,   87,  372,  390,  373,  105,  105,
    867       105,  105,  105,  105,  236,  235,  236,  404,   87,  237,
    868       405,  236,  403,  408,  388,  106,  246,  246,  246,  246,
    869       246,  246,  391,   87,   87,   87,   87,   87,   87,  419,
    870 
    871        87,  255,  425,  432,   87,  420,  434,  106,  376,  376,
    872       376,  376,  376,  376,  381,  409,  413,  105,  105,  105,
    873       105,  105,  105,   87,  234,  245,  236,  245,  237,  236,
    874       246,  246,  246,  246,  246,  246,   87,  383,  410,  384,
    875        87,  377,   87,  385,  411,  412,  236,   87,  236,  386,
    876       255,  237,   87,  236,  112,  112,  112,  112,  112,  112,
    877       414,  387,  415,  417,  418,  384,   87,  416,   87,  385,
    878        87,   87,   87,   87,   87,   87,   87,   87,   87,  421,
    879       427,  426,  433,   87,  437,   87,   87,  260,  423,  424,
    880        87,   87,  436,  429,  428,  422,   87,  430,  431,  439,
    881 
    882        87,  438,   87,   87,  446,  441,  440,  442,  443,   87,
    883        87,   87,   87,   87,   87,  445,   87,   87,   87,   87,
    884        87,  448,  447,   87,   87,  444,  449,  451,   87,  456,
    885        87,  450,   87,   87,   87,  452,  455,  454,   87,  453,
    886       457,  462,  460,  461,   87,   87,  458,  464,   87,  515,
    887       459,  463,  465,  466,  344,  201,  201,   87,  887,  344,
    888       467,  345,  199,  211,  211,  211,  211,  352,  352,  352,
    889       352,  360,  360,  361,  361,  371,  371,  371,  371,  371,
    890       371,  370,  569,  370,  492,  492,  371,  371,  371,  371,
    891       371,  371,  887,   87,  493,  494,  477,  488,  488,  488,
    892 
    893       488,  488,  488,  233,  233,  233,  233,  233,  233,  516,
    894       492,  492,   87,  234,   87,  236,   87,  237,  236,  242,
    895       242,  242,  242,  105,  105,  495,  381,  517,   87,   87,
    896       489,  496,   87,  518,   87,  236,  374,  236,  519,  520,
    897       237,  521,  236,  376,  376,  376,  376,  376,  376,  383,
    898        87,  384,  375,  496,   87,  385,  522,  496,  497,  887,
    899       497,  386,   87,  498,  498,  498,  498,  498,  498,   87,
    900       525,  495,  526,  387,   87,  524,  377,  384,  523,  496,
    901        87,  385,  383,   87,  384,   87,   87,  527,  385,   87,
    902        87,  532,   87,   87,  502,   87,  499,   87,  535,  528,
    903 
    904       529,  537,  530,  531,  533,   87,  387,   87,   87,  541,
    905       384,  534,  538,   87,  385,   87,  536,   87,   87,   87,
    906       539,  540,   87,   87,  546,   87,   87,   87,  544,  542,
    907        87,  548,   87,   87,  547,  543,   87,   87,  549,   87,
    908       545,   87,  552,   87,   87,  550,  556,  554,  551,   87,
    909       559,   87,  553,  555,   87,   87,  557,   87,   87,  558,
    910        87,   87,   87,  564,  560,  567,  563,  568,   87,  561,
    911       566,  562,   87,  565,   87,   87,  571,   87,   87,  573,
    912       627,  201,  492,  570,  576,  574,  572,  577,  211,  211,
    913       211,  211,  493,   87,  575,  488,  488,  488,  488,  488,
    914 
    915       488,  376,  376,  376,  376,  376,  376,   87,  492,   87,
    916       618,  234,  595,  236,  595,  237,  236,  596,  596,  596,
    917       596,  596,  596,  492,   87,  599,  492,  621,  489,   87,
    918        87,  623,   87,  236,  490,  236,  598,  619,  237,   87,
    919       236,  498,  498,  498,  498,  498,  498,  620,   87,  492,
    920       597,  599,  492,  600,  600,  600,  600,  600,  600,   87,
    921       631,  622,   87,  887,  625,  887,   87,  862,   87,  601,
    922       497,  602,  497,  603,  602,  498,  498,  498,  498,  498,
    923       498,  624,  628,   87,   87,  630,  604,   87,   87,   87,
    924        87,  602,  633,  602,  626,  636,  603,  632,  602,  629,
    925 
    926       634,   87,   87,  635,   87,   87,   87,  642,   87,   87,
    927       637,  641,   87,   87,  640,   87,   87,  643,  647,  639,
    928        87,   87,  887,   87,   87,   87,  638,   87,   87,  644,
    929       645,  646,  648,  650,   87,   87,   87,  649,   87,  653,
    930       651,   87,  652,   87,  654,  655,   87,   87,   87,   87,
    931       656,  657,   87,  660,  659,  661,  664,   87,  658,   87,
    932        87,  663,   87,   87,   87,  668,  665,  688,  688,  662,
    933       666,  701,  702,  887,  887,   87,  667,  488,  488,  488,
    934       488,  488,  488,  596,  596,  596,  596,  596,  596,  595,
    935       688,  595,  704,   87,  596,  596,  596,  596,  596,  596,
    936 
    937       600,  600,  600,  600,  600,  600,  703,  688,   87,  887,
    938       594,  686,  686,  686,  686,  686,  686,  689,   87,  689,
    939        87,   87,  689,  699,   87,  708,   87,  601,  706,  602,
    940       688,  603,  602,  604,  707,   87,  700,  710,  709,  689,
    941        87,  689,   87,  705,  687,   87,  689,   87,   87,  602,
    942        87,  602,   87,  716,  603,  718,  602,  712,   87,   87,
    943        87,   87,  711,   87,  714,   87,   87,  713,   87,  717,
    944       715,   87,  721,  719,   87,  724,   87,   87,  722,  720,
    945       727,   87,   87,   87,  725,   87,  731,  723,   87,  732,
    946       726,   87,   87,  861,  728,  734,   87,  733,  730,   87,
    947 
    948       735,   87,   87,  729,   87,   87,  751,  736,  686,  686,
    949       686,  686,  686,  686,  600,  600,  600,  600,  600,  600,
    950       750,   87,  755,   87,  601,  763,  602,  752,  603,  602,
    951       753,   87,   87,  764,   87,  756,  754,  757,   87,  758,
    952        87,  687,   87,   87,  759,  767,  602,  690,  602,  761,
    953        87,  603,  766,  602,   87,  760,   87,  762,   87,  765,
    954        87,  768,   87,  769,   87,   87,   87,   87,  770,   87,
    955        87,   87,   87,   87,  771,   87,  774,   87,  772,   87,
    956        87,  779,   87,   87,  795,   87,  780,  773,   87,   87,
    957       776,   87,  775,  803,  777,  796,  778,  686,  686,  686,
    958 
    959       686,  686,  686,  793,   87,  794,  799,   87,  798,   87,
    960       801,   87,   87,   87,  797,  804,  805,  800,  806,   87,
    961        87,   87,  802,  807,   87,   87,   87,  808,   87,   87,
    962       743,   87,   87,   87,  809,  828,   87,   87,   87,  830,
    963       831,  833,   87,   87,   87,  834,   87,  836,  810,  811,
    964       826,  827,   87,  829,   87,  825,  832,  837,   87,   87,
    965        87,  838,  839,   87,   87,  835,   87,   87,   87,  851,
    966       850,  855,   87,  852,  840,   87,   87,   87,  853,  857,
    967       849,   87,   87,   87,  854,  858,  859,   87,   87,  856,
    968       860,   87,  863,  864,  865,   87,   87,  866,   87,  868,
    969 
    970       867,  869,   87,   87,   87,  870,   87,   87,   87,  873,
    971        87,  875,   87,  876,   87,   87,   87,  874,   87,  872,
    972        87,   87,   87,  871,   87,  880,   87,   87,   87,  887,
    973       879,  881,  887,  848,  877,  878,  886,  887,  847,  884,
    974       887,  845,  882,  883,  887,  844,  885,   69,   69,   69,
    975        69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
    976        75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    977        75,   75,   75,   78,   78,   78,   78,   78,   78,   78,
    978        78,   78,   78,   78,   78,   78,   86,  887,  843,   86,
    979       887,   86,   86,   86,   86,   86,  140,  842,   87,   87,
    980 
    981       140,  140,  140,  140,  140,  140,  199,  199,  199,  199,
    982       199,  199,  199,  199,  199,  199,  199,  199,  199,  204,
    983        87,  887,  204,  824,  204,  204,  204,  204,  204,  208,
    984       887,  208,  208,  823,  208,  208,  208,  208,  208,  208,
    985       821,  208,  216,  887,  819,  216,  216,  216,  216,  216,
    986       216,  216,  216,  887,  216,  239,  239,  239,  239,  239,
    987       239,  239,  239,  239,  239,  239,  239,  239,  253,  253,
    988       817,  253,  887,  815,  813,  253,  269,   87,   87,  269,
    989        87,  269,  269,  269,  269,  269,  273,   87,  273,   87,
    990        87,   87,  273,  275,   87,  275,   87,   87,   87,  275,
    991 
    992       348,   87,  348,  887,  792,  790,  348,  350,  887,  350,
    993       887,  787,  785,  350,  354,  783,  354,   87,   87,   87,
    994       354,  356,   87,  356,   87,   87,   87,  356,  358,  749,
    995       358,  746,  745,  743,  358,  365,  205,  365,  739,  738,
    996       670,  365,  367,   87,  367,   87,   87,   87,  367,  239,
    997       239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    998       239,  239,  380,   87,  380,  382,  382,   87,  382,  382,
    999       382,   87,  382,  253,  253,   87,  253,  392,   87,  392,
    1000        87,   87,   87,  392,  394,   87,  394,   87,   87,  697,
    1001       394,  396,  696,  396,  694,  692,  690,  396,  273,  598,
    1002 
    1003       273,  398,  685,  398,  684,  682,  680,  398,  275,  678,
    1004       275,   86,  676,  674,   86,  672,   86,   86,   86,   86,
    1005        86,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    1006       199,  199,  199,  199,  468,  468,  468,  468,  468,  468,
    1007       468,  468,  468,  468,  468,  468,  468,  469,  670,  469,
    1008        87,   87,   87,  469,  471,   87,  471,   87,   87,   87,
    1009       471,  473,   87,  473,   87,   87,   87,  473,  348,  617,
    1010       348,  475,  615,  475,  613,  611,  609,  475,  350,  607,
    1011       350,  478,  502,  478,  605,  605,  594,  478,  354,  593,
    1012       354,  480,  591,  480,  483,  483,  589,  480,  356,  587,
    1013 
    1014       356,  482,  585,  482,  583,  581,  579,  482,  358,   87,
    1015       358,  484,   87,  484,   87,   87,   87,  484,  365,   87,
    1016       365,  486,   87,  486,   87,  514,  512,  486,  367,  510,
    1017       367,  491,  508,  491,  506,  491,  504,  491,  380,  490,
    1018       380,  487,  380,  485,  380,  382,  382,  361,  382,  382,
    1019       382,  361,  382,  503,  483,  503,  481,  479,  476,  503,
    1020       505,  474,  505,  472,  470,   87,  505,  507,   87,  507,
    1021        87,  400,  399,  507,  392,  397,  392,  509,  395,  509,
    1022       393,  270,  265,  509,  394,  264,  394,  511,  389,  511,
    1023       389,  252,  379,  511,  396,  379,  396,  513,  240,  513,
    1024 
    1025       374,  368,  366,  513,  398,  364,  398,   86,  360,  359,
    1026        86,  357,   86,   86,   86,   86,   86,  468,  468,  468,
    1027       468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
    1028       578,  355,  578,  351,  349,  205,  578,  469,  201,  469,
    1029       580,   87,  580,  277,  276,  274,  580,  471,  270,  471,
    1030       582,  265,  582,  268,  265,  263,  582,  473,  262,  473,
    1031       584,  261,  584,  240,  232,   85,  584,  475,   85,  475,
    1032       586,   87,  586,  205,  203,   85,  586,  478,  122,  478,
    1033       588,  117,  588,   87,  887,   70,  588,  480,   70,  480,
    1034       482,  887,  482,  887,  887,  887,  482,  590,  887,  590,
    1035 
    1036       887,  887,  887,  590,  484,  887,  484,  592,  887,  592,
    1037       887,  887,  887,  592,  486,  887,  486,  491,  887,  491,
    1038       887,  491,  887,  491,  382,  887,  382,  887,  887,  887,
    1039       382,  606,  887,  606,  887,  887,  887,  606,  503,  887,
    1040       503,  608,  887,  608,  887,  887,  887,  608,  505,  887,
    1041       505,  610,  887,  610,  887,  887,  887,  610,  507,  887,
    1042       507,  612,  887,  612,  887,  887,  887,  612,  509,  887,
    1043       509,  614,  887,  614,  887,  887,  887,  614,  511,  887,
    1044       511,  616,  887,  616,  887,  887,  887,  616,  513,  887,
    1045       513,   86,  887,  887,   86,  887,   86,   86,   86,   86,
    1046 
    1047        86,  669,  669,  669,  669,  669,  669,  669,  669,  669,
    1048       669,  669,  669,  669,  671,  887,  671,  887,  887,  887,
    1049       671,  578,  887,  578,  673,  887,  673,  887,  887,  887,
    1050       673,  580,  887,  580,  675,  887,  675,  887,  887,  887,
    1051       675,  582,  887,  582,  677,  887,  677,  887,  887,  887,
    1052       677,  584,  887,  584,  679,  887,  679,  887,  887,  887,
    1053       679,  586,  887,  586,  681,  887,  681,  887,  887,  887,
    1054       681,  588,  887,  588,  683,  887,  683,  887,  887,  887,
    1055       683,  590,  887,  590,   86,  887,   86,  887,  887,  887,
    1056        86,  592,  887,  592,  491,  887,  491,  887,  887,  887,
    1057 
    1058       491,  691,  887,  691,  887,  887,  887,  691,  606,  887,
    1059       606,  693,  887,  693,  887,  887,  887,  693,  608,  887,
    1060       608,  695,  887,  695,  887,  887,  887,  695,  610,  887,
    1061       610,  140,  887,  140,  887,  887,  887,  140,  612,  887,
    1062       612,  698,  887,  698,  614,  887,  614,   86,  887,  887,
    1063        86,  887,   86,   86,   86,   86,   86,  616,  887,  616,
    1064       669,  669,  669,  669,  669,  669,  669,  669,  669,  669,
    1065       669,  669,  669,  737,  887,  737,  887,  887,  887,  737,
    1066       671,  887,  671,  204,  887,  204,  887,  887,  887,  204,
    1067       673,  887,  673,  740,  887,  740,  675,  887,  675,  204,
    1068 
    1069       887,  887,  204,  887,  204,  204,  204,  204,  204,  677,
    1070       887,  677,  741,  887,  741,  679,  887,  679,  681,  887,
    1071       681,  742,  887,  742,  683,  887,  683,   86,  887,   86,
    1072       744,  887,  744,  887,  887,  887,  744,  691,  887,  691,
    1073       269,  887,  269,  887,  887,  887,  269,  693,  887,  693,
    1074       747,  887,  747,  695,  887,  695,  140,  887,  140,  748,
    1075       887,  748,  887,  887,  887,  748,   86,  887,  887,   86,
    1076       887,   86,   86,   86,   86,   86,  781,  887,  781,  737,
    1077       887,  737,  204,  887,  204,  782,  887,  782,  887,  887,
    1078       887,  782,  784,  887,  784,  887,  887,  887,  784,  786,
    1079 
    1080       887,  786,  887,  887,  887,  786,  788,  887,  788,  789,
    1081       887,  789,  887,  887,  887,  789,  791,  887,  791,  887,
    1082       887,  887,  791,  812,  887,  812,  887,  887,  887,  812,
    1083       814,  887,  814,  887,  887,  887,  814,  816,  887,  816,
    1084       887,  887,  887,  816,  818,  887,  818,  887,  887,  887,
    1085       818,  820,  887,  820,  887,  887,  887,  820,  822,  887,
    1086       822,  887,  887,  887,  822,  616,  887,  616,  887,  887,
    1087       887,  616,  841,  887,  841,  887,  887,  887,  841,  677,
    1088       887,  677,  887,  887,  887,  677,  681,  887,  681,  887,
    1089       887,  887,  681,   86,  887,   86,  887,  887,  887,   86,
    1090 
    1091       846,  887,  846,  887,  887,  887,  846,  140,  887,  140,
    1092       887,  887,  887,  140,  204,  887,  204,  887,  887,  887,
    1093       204,   11,  887,  887,  887,  887,  887,  887,  887,  887,
    1094       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1095       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1096       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1097       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1098       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1099       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1100       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1101 
    1102       887,  887,  887,  887,  887,  887,  887
     805       83,   83,   83,   82,   91,   93,  124,  125,  147,   98,
     806       95,   99,   99,   99,   99,   99,   99,   87,   87,   94,
     807      100,   85,   96,   97,   85,  101,   87,  119,  142,   77,
     808       77,   77,   77,   87,  148,  102,  103,  162,  104,  104,
     809      104,  104,  105,  105,  120,  144,  121,  122,  183,  143,
     810      145,  149,   87,  150,  160,  106,  161,   87,  196,  107,
     811      207,  151,  152,  153,   87,  108,  109,  154,  155,  163,
     812      156,  110,   87,  157,  158,  178,  164,  106,   87,   87,
     813      251,  159,  165,  111,   87,  253,  208,   87,  184,   87,
     814      194,  108,  146,   87,  109,  103,   87,  112,  112,  112,
     815
     816      112,  112,  112,   87,  252,  181,  179,  231,  170,  197,
     817      171,  182,  166,  180,  106,   87,  167,   87,  113,  172,
     818      255,  168,   87,   87,  114,  169,   87,  173,  259,  195,
     819      115,  888,  264,  232,  265,  174,  106,  175,  189,  249,
     820      176,  257,  116,  318,  177,  250,  190,  258,   87,  144,
     821      114,  126,  260,  191,  145,  127,  128,   87,  129,   87,
     822      130,  131,  264,  132,  265,  133,  261,  192,  272,  185,
     823      186,  250,   87,  258,  134,  135,  136,  281,  264,  187,
     824      265,  283,  188,  198,   81,   82,   82,   82,  198,   87,
     825      264,  199,  265,   87,  273,  137,  146,   87,  138,   80,
     826
     827       81,   82,   82,   82,   80,  284,  201,  202,   87,  287,
     828      193,  201,   82,   81,   82,   82,   82,   82,   82,   81,
     829       83,   83,   83,   82,  299,  139,  140,  203,  203,  203,
     830      203,  203,  203,  210,  211,  250,   87,  888,  210,  710,
     831      212,  243,  243,  243,  243,  212,   99,   99,   99,   99,
     832       99,   99,  258,  249,  213,  213,  213,  213,  264,  266,
     833      265,  250,   87,  267,  264,  212,  265,  888,  266,  888,
     834      257,  301,  256,  264,  244,  265,   87,   87,  258,  242,
     835      264,  214,  265,   87,  212,  264,  268,  265,   87,  212,
     836      212,   87,  279,  212,  212,  888,  264,  888,  265,  280,
     837
     838      264,  212,  265,  310,  212,  286,  212,  215,  212,  144,
     839      216,  218,   87,  300,  145,  219,  220,   87,  435,   87,
     840      221,  222,   87,  223,  103,  224,  105,  105,  105,  105,
     841      105,  105,  315,   87,  225,  226,  227,  282,  304,  246,
     842      285,  246,   87,  106,  247,  247,  247,  247,  247,  247,
     843       87,  305,   87,   87,   87,  228,   87,   87,  229,  245,
     844      307,   87,   87,  302,  303,  106,  288,  289,  290,  306,
     845      291,  292,   87,   87,  293,  308,  294,  248,  311,  309,
     846       87,  295,  296,  297,  314,  298,  230,  234,  234,  234,
     847      234,  234,  234,   87,   87,  320,   87,  316,  312,  319,
     848
     849       87,   87,   87,  235,  236,  237,  324,  238,  237,  144,
     850       87,  321,  317,   87,  347,   87,  313,  323,  322,   87,
     851      239,   87,   87,  466,  326,  237,  236,  237,  329,  325,
     852      238,   87,  237,  330,  327,  328,  332,   87,  338,   87,
     853      348,  335,  336,   87,   87,   87,   87,  361,  407,  362,
     854      331,  333,  334,   87,   87,  379,  339,  340,  342,  344,
     855      343,  361,   87,  362,  337,  341,  198,   81,   82,   82,
     856       82,  198,  201,  202,  199,  210,  211,  201,  201,  202,
     857      210,  379,  408,  201,  345,  202,  361,   87,  362,  345,
     858      361,  346,  362,  203,  203,  203,  203,  203,  203,  203,
     859
     860      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
     861      203,  353,  353,  353,  353,  362,  362,  363,  361,  361,
     862      362,  362,  361,  364,  362,  361,   87,  362,  361,  361,
     863      362,  362,  361,  370,  362,  370,  370,  888,   87,  264,
     864      371,  265,  371,  406,  354,  372,  372,  372,  372,  372,
     865      372,  389,  374,  264,  374,  265,  370,  374,  370,  391,
     866      235,  236,  237,  570,  238,  237,  247,  247,  247,  247,
     867      247,  247,  376,   87,  374,   87,  374,  389,  373,   87,
     868      409,  374,  237,  236,  237,  392,  402,  238,  888,  237,
     869      105,  105,  105,  105,  105,  105,  246,  403,  246,   87,
     870
     871       87,  247,  247,  247,  247,  247,  247,  106,  105,  105,
     872      105,  105,  105,  105,  382,   87,  405,  404,   87,   87,
     873      420,   87,   87,  256,  361,   87,  362,   87,  717,  106,
     874      377,  377,  377,  377,  377,  377,  421,  384,  410,  385,
     875      415,  256,  414,  386,   87,   87,  235,  416,  237,  387,
     876      238,  237,  112,  112,  112,  112,  112,  112,   87,  417,
     877      411,  388,   87,  378,   87,  385,  412,  413,  237,  386,
     878      237,  422,   87,  238,   87,  237,   87,   87,  418,  419,
     879       87,  426,   87,   87,   87,  261,  427,  428,   87,   87,
     880      424,  423,  425,  433,  434,   87,   87,   87,   87,   87,
     881
     882       87,  430,  429,  438,   87,  431,  432,  437,  440,  442,
     883       87,   87,  439,   87,  436,  441,  443,   87,  444,   87,
     884       87,   87,   87,   87,   87,   87,   87,   87,   87,  446,
     885      448,  449,   87,   87,   87,  445,  450,  447,  452,   87,
     886       87,  451,  457,   87,  456,  453,  455,  454,  144,   87,
     887      458,   87,  463,  462,   87,  459,  460,  461,   87,  467,
     888       87,  345,  202,  202,  465,  501,  345,  464,  346,  200,
     889      361,  516,  362,  468,  212,  212,  212,  212,  353,  353,
     890      353,  353,  372,  372,  372,  372,  372,  372,  371,  502,
     891      371,   87,   87,  372,  372,  372,  372,  372,  372,  234,
     892
     893      234,  234,  234,  234,  234,   87,  518,  478,  489,  489,
     894      489,  489,  489,  489,  243,  243,  243,  243,  105,  105,
     895       87,  517,   87,  757,  235,  496,  237,  533,  238,  237,
     896      493,  497,  375,  377,  377,  377,  377,  377,  377,  493,
     897      494,  490,  497,   87,  382,   87,  237,  376,  237,  495,
     898       87,  238,   87,  237,  520,   87,  493,  497,   87,  888,
     899      496,  521,  519,  888,  522,  493,  378,  384,  497,  385,
     900       87,  525,   87,  386,  523,  498,  536,  498,   87,  387,
     901      499,  499,  499,  499,  499,  499,  384,  524,  385,   87,
     902       87,  388,  386,   87,  527,  385,   87,   87,  503,  386,
     903
     904       87,   87,   87,  528,   87,  526,   87,  538,   87,   87,
     905      388,   87,  540,  500,  385,  531,  529,  530,  386,  532,
     906       87,  534,   87,  537,   87,  541,  544,  539,  535,   87,
     907      543,   87,  542,   87,   87,  545,   87,  547,   87,   87,
     908       87,   87,  549,   87,  548,   87,   87,  546,   87,  550,
     909       87,   87,   87,   87,  553,  557,  551,   87,  555,  560,
     910      552,  556,  554,   87,   87,  558,   87,   87,  559,   87,
     911       87,  568,  561,  562,  564,  565,  569,  563,   87,   87,
     912      567,  566,   87,   87,   87,  202,  572,   87,   87,   87,
     913      575,  578,  571,  577,  493,  493,  573,   87,  627,  574,
     914
     915      212,  212,  212,  212,  494,  576,  489,  489,  489,  489,
     916      489,  489,  377,  377,  377,  377,  377,  377,   87,  624,
     917      493,  493,  235,  596,  237,  596,  238,  237,  597,  597,
     918      597,  597,  597,  597,  600,  619,   87,  493,   87,  490,
     919       87,  626,   87,  634,  237,  491,  237,  599,  660,  238,
     920       87,  237,  499,  499,  499,  499,  499,  499,   87,   87,
     921      600,  598,  622,  493,  601,  601,  601,  601,  601,  601,
     922      629,  620,  637,   87,  621,   87,   87,   87,  642,   87,
     923      602,  498,  603,  498,  604,  603,  499,  499,  499,  499,
     924      499,  499,  623,   87,  631,   87,   87,  605,  632,   87,
     925
     926       87,   87,  603,   87,  603,  633,  625,  604,   87,  603,
     927      630,  635,  636,   87,   87,  643,   87,  638,   87,   87,
     928       87,   87,   87,  641,   87,  639,   87,  644,   87,   87,
     929      640,  648,   87,  645,  646,  647,   87,  649,  651,   87,
     930       87,  650,   87,   87,  652,  654,   87,  653,  655,   87,
     931       87,  656,   87,   87,  665,   87,  658,  662,  657,  661,
     932       87,   87,   87,  659,  666,  664,   87,   87,   87,   87,
     933       87,  667,  888,  689,  663,  702,  735,   87,  703,  668,
     934      669,  489,  489,  489,  489,  489,  489,  597,  597,  597,
     935      597,  597,  597,  596,  705,  596,  689,   87,  597,  597,
     936
     937      597,  597,  597,  597,  601,  601,  601,  601,  601,  601,
     938      704,  689,  689,  888,  595,  687,  687,  687,  687,  687,
     939      687,  690,   87,  690,   87,   87,  690,  700,   87,   87,
     940       87,  602,  707,  603,  689,  604,  603,  605,  708,   87,
     941      701,  711,   87,  690,   87,  690,  709,  706,  688,   87,
     942      690,   87,   87,  603,  719,  603,   87,  713,  604,   87,
     943      603,  712,   87,   87,   87,   87,  714,   87,  715,  718,
     944       87,  716,  722,   87,  720,   87,  721,   87,   87,  725,
     945      723,   87,   87,   87,  728,   87,  724,   87,  726,  727,
     946      732,   87,  733,  729,   87,  731,  734,   87,  737,   87,
     947
     948      736,  863,  758,  888,  730,  687,  687,  687,  687,  687,
     949      687,  601,  601,  601,  601,  601,  601,   87,  751,   87,
     950      753,  602,   87,  603,  755,  604,  603,  752,   87,  754,
     951       87,   87,   87,   87,   87,  765,  760,   87,  688,   87,
     952      763,  762,  766,  603,  691,  603,  759,  761,  604,   87,
     953      603,  756,  768,   87,  764,   87,  769,   87,  767,   87,
     954       87,   87,   87,   87,   87,  771,   87,   87,  770,  772,
     955       87,  775,   87,  773,   87,   87,   87,  804,   87,   87,
     956      780,   87,  774,  781,   87,   87,  776,  777,  778,  796,
     957      797,  779,  687,  687,  687,  687,  687,  687,  795,  794,
     958
     959       87,   87,  801,   87,   87,   87,  802,   87,  799,   87,
     960      798,   87,  805,   87,  806,   87,   87,  803,  800,  808,
     961      807,   87,  810,   87,  809,  744,   87,   87,   87,   87,
     962       87,  829,   87,   87,  834,  831,  832,   87,  811,   87,
     963       87,   87,  835,   87,  837,   87,  812,  828,  827,   87,
     964       87,   87,  830,  826,  838,  833,   87,   87,  839,  840,
     965       87,  841,  836,  851,   87,   87,  853,  852,   87,   87,
     966       87,  850,  856,  858,   87,   87,   87,  859,   87,   87,
     967       87,  865,   87,  854,  860,  857,   87,  861,  864,  855,
     968       87,  868,  867,  866,   87,   87,   87,  869,  870,  871,
     969
     970      872,   87,   87,   87,   87,  874,   87,  876,   87,  877,
     971       87,   87,   87,  875,   87,   87,  873,   87,   87,   87,
     972      888,  881,   87,  888,  888,  862,  880,  882,   87,   87,
     973      878,  879,  887,   87,   87,   87,  885,  883,  884,  888,
     974      888,  886,   69,   69,   69,   69,   69,   69,   69,   69,
     975       69,   69,   69,   69,   69,   75,   75,   75,   75,   75,
     976       75,   75,   75,   75,   75,   75,   75,   75,   78,   78,
     977       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
     978       78,   86,  849,  888,   86,  848,   86,   86,   86,   86,
     979       86,  141,  888,  846,  888,  141,  141,  141,  141,  141,
     980
     981      141,  200,  200,  200,  200,  200,  200,  200,  200,  200,
     982      200,  200,  200,  200,  205,  845,  888,  205,  844,  205,
     983      205,  205,  205,  205,  209,  888,  209,  209,  843,  209,
     984      209,  209,  209,  209,  209,   87,  209,  217,   87,   87,
     985      217,  217,  217,  217,  217,  217,  217,  217,  888,  217,
     986      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
     987      240,  240,  240,  254,  254,  825,  254,  888,  824,  822,
     988      254,  270,  888,  820,  270,  888,  270,  270,  270,  270,
     989      270,  274,  818,  274,  888,  816,  814,  274,  276,   87,
     990      276,   87,   87,   87,  276,  349,   87,  349,   87,   87,
     991
     992       87,  349,  351,   87,  351,   87,   87,   87,  351,  355,
     993      888,  355,  793,  791,  888,  355,  357,  888,  357,  788,
     994      786,  784,  357,  359,   87,  359,   87,   87,   87,  359,
     995      366,   87,  366,   87,   87,  750,  366,  368,  747,  368,
     996      746,  744,  206,  368,  240,  240,  240,  240,  240,  240,
     997      240,  240,  240,  240,  240,  240,  240,  381,  740,  381,
     998      383,  383,  739,  383,  383,  383,  671,  383,  254,  254,
     999       87,  254,  393,   87,  393,   87,   87,   87,  393,  395,
     1000       87,  395,   87,   87,   87,  395,  397,   87,  397,   87,
     1001       87,   87,  397,  274,   87,  274,  399,   87,  399,  698,
     1002
     1003      697,  695,  399,  276,  693,  276,   86,  691,  599,   86,
     1004      686,   86,   86,   86,   86,   86,  200,  200,  200,  200,
     1005      200,  200,  200,  200,  200,  200,  200,  200,  200,  469,
     1006      469,  469,  469,  469,  469,  469,  469,  469,  469,  469,
     1007      469,  469,  470,  685,  470,  683,  681,  679,  470,  472,
     1008      677,  472,  675,  673,  671,  472,  474,   87,  474,   87,
     1009       87,   87,  474,  349,   87,  349,  476,   87,  476,   87,
     1010       87,   87,  476,  351,   87,  351,  479,   87,  479,  618,
     1011      616,  614,  479,  355,  612,  355,  481,  610,  481,  608,
     1012      503,  606,  481,  357,  606,  357,  483,  595,  483,  594,
     1013
     1014      592,  484,  483,  359,  484,  359,  485,  590,  485,  588,
     1015      586,  584,  485,  366,  582,  366,  487,  580,  487,   87,
     1016       87,   87,  487,  368,   87,  368,  492,   87,  492,   87,
     1017      492,   87,  492,  381,   87,  381,  515,  381,  513,  381,
     1018      383,  383,  511,  383,  383,  383,  509,  383,  504,  507,
     1019      504,  505,  491,  488,  504,  506,  486,  506,  362,  362,
     1020      484,  506,  508,  482,  508,  480,  477,  475,  508,  393,
     1021      473,  393,  510,  471,  510,   87,   87,   87,  510,  395,
     1022      401,  395,  512,  400,  512,  398,  396,  394,  512,  397,
     1023      271,  397,  514,  266,  514,  265,  390,  390,  514,  399,
     1024
     1025      253,  399,   86,  380,  380,   86,  241,   86,   86,   86,
     1026       86,   86,  469,  469,  469,  469,  469,  469,  469,  469,
     1027      469,  469,  469,  469,  469,  579,  375,  579,  369,  367,
     1028      365,  579,  470,  361,  470,  581,  360,  581,  358,  356,
     1029      352,  581,  472,  350,  472,  583,  206,  583,  202,   87,
     1030      278,  583,  474,  277,  474,  585,  275,  585,  271,  266,
     1031      269,  585,  476,  266,  476,  587,  264,  587,  263,  262,
     1032      241,  587,  479,  233,  479,  589,   85,  589,   85,   87,
     1033      206,  589,  481,  204,  481,  483,   85,  483,  123,   87,
     1034      888,  483,  591,   70,  591,   70,  888,  888,  591,  485,
     1035
     1036      888,  485,  593,  888,  593,  888,  888,  888,  593,  487,
     1037      888,  487,  492,  888,  492,  888,  492,  888,  492,  383,
     1038      888,  383,  888,  888,  888,  383,  607,  888,  607,  888,
     1039      888,  888,  607,  504,  888,  504,  609,  888,  609,  888,
     1040      888,  888,  609,  506,  888,  506,  611,  888,  611,  888,
     1041      888,  888,  611,  508,  888,  508,  613,  888,  613,  888,
     1042      888,  888,  613,  510,  888,  510,  615,  888,  615,  888,
     1043      888,  888,  615,  512,  888,  512,  617,  888,  617,  888,
     1044      888,  888,  617,  514,  888,  514,   86,  888,  888,   86,
     1045      888,   86,   86,   86,   86,   86,  670,  670,  670,  670,
     1046
     1047      670,  670,  670,  670,  670,  670,  670,  670,  670,  672,
     1048      888,  672,  888,  888,  888,  672,  579,  888,  579,  674,
     1049      888,  674,  888,  888,  888,  674,  581,  888,  581,  676,
     1050      888,  676,  888,  888,  888,  676,  583,  888,  583,  678,
     1051      888,  678,  888,  888,  888,  678,  585,  888,  585,  680,
     1052      888,  680,  888,  888,  888,  680,  587,  888,  587,  682,
     1053      888,  682,  888,  888,  888,  682,  589,  888,  589,  684,
     1054      888,  684,  888,  888,  888,  684,  591,  888,  591,   86,
     1055      888,   86,  888,  888,  888,   86,  593,  888,  593,  492,
     1056      888,  492,  888,  888,  888,  492,  692,  888,  692,  888,
     1057
     1058      888,  888,  692,  607,  888,  607,  694,  888,  694,  888,
     1059      888,  888,  694,  609,  888,  609,  696,  888,  696,  888,
     1060      888,  888,  696,  611,  888,  611,  141,  888,  141,  888,
     1061      888,  888,  141,  613,  888,  613,  699,  888,  699,  615,
     1062      888,  615,   86,  888,  888,   86,  888,   86,   86,   86,
     1063       86,   86,  617,  888,  617,  670,  670,  670,  670,  670,
     1064      670,  670,  670,  670,  670,  670,  670,  670,  738,  888,
     1065      738,  888,  888,  888,  738,  672,  888,  672,  205,  888,
     1066      205,  888,  888,  888,  205,  674,  888,  674,  741,  888,
     1067      741,  676,  888,  676,  205,  888,  888,  205,  888,  205,
     1068
     1069      205,  205,  205,  205,  678,  888,  678,  742,  888,  742,
     1070      680,  888,  680,  682,  888,  682,  743,  888,  743,  684,
     1071      888,  684,   86,  888,   86,  745,  888,  745,  888,  888,
     1072      888,  745,  692,  888,  692,  270,  888,  270,  888,  888,
     1073      888,  270,  694,  888,  694,  748,  888,  748,  696,  888,
     1074      696,  141,  888,  141,  749,  888,  749,  888,  888,  888,
     1075      749,   86,  888,  888,   86,  888,   86,   86,   86,   86,
     1076       86,  782,  888,  782,  738,  888,  738,  205,  888,  205,
     1077      783,  888,  783,  888,  888,  888,  783,  785,  888,  785,
     1078      888,  888,  888,  785,  787,  888,  787,  888,  888,  888,
     1079
     1080      787,  789,  888,  789,  790,  888,  790,  888,  888,  888,
     1081      790,  792,  888,  792,  888,  888,  888,  792,  813,  888,
     1082      813,  888,  888,  888,  813,  815,  888,  815,  888,  888,
     1083      888,  815,  817,  888,  817,  888,  888,  888,  817,  819,
     1084      888,  819,  888,  888,  888,  819,  821,  888,  821,  888,
     1085      888,  888,  821,  823,  888,  823,  888,  888,  888,  823,
     1086      617,  888,  617,  888,  888,  888,  617,  842,  888,  842,
     1087      888,  888,  888,  842,  678,  888,  678,  888,  888,  888,
     1088      678,  682,  888,  682,  888,  888,  888,  682,   86,  888,
     1089       86,  888,  888,  888,   86,  847,  888,  847,  888,  888,
     1090
     1091      888,  847,  141,  888,  141,  888,  888,  888,  141,  205,
     1092      888,  205,  888,  888,  888,  205,   11,  888,  888,  888,
     1093      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1094      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1095      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1096      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1097      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1098      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1099      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1100      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1101
     1102      888,  888
    11031103    } ;
    11041104
    1105 static yyconst flex_int16_t yy_chk[2908] =
     1105static yyconst flex_int16_t yy_chk[2903] =
    11061106    {   0,
    11071107        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    11241124        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    11251125        5,    5,    5,    5,    5,    5,    5,    5,    5,    7,
    1126         8,    9,   10,   37,   37,   20,   39,    9,   10,  886,
     1126        8,    9,   10,   33,   33,   20,  526,    9,   10,  526,
    11271127        7,    8,   13,   13,   13,   13,   13,   13,   15,   15,
    11281128
    1129        15,   15,   15,   15,   20,   25,   48,   39,   42,   28,
    1130        27,   28,   28,   28,   28,   28,   28,  109,  115,   25,
    1131        29,   25,   27,   27,   27,   29,   48,   35,   40,    7,
    1132         8,    9,   10,   40,   42,   29,   30,   47,   30,   30,
    1133        30,   30,   30,   30,   35,   57,   35,   35,   44,  126,
    1134        44,  126,  109,  115,   57,   30,   64,   56,   47,   30,
    1135        47,   45,   45,   45,   49,   30,   30,   45,   45,   49,
    1136        45,   30,   40,   45,   45,   40,   49,   30,   45,   56,
    1137        62,   45,   49,   30,   73,  885,  127,   53,  127,   51,
    1138        61,   30,   62,   55,   30,   31,  108,   31,   31,   31,
    1139 
    1140        31,   31,   31,   50,   51,   53,   51,   64,   61,   54,
    1141        73,   55,   50,   87,   31,   51,   50,   55,   31,   54,
    1142       108,   50,   52,  114,   31,   50,   54,   52,  175,  129,
    1143        31,  129,  107,  154,  151,   52,   31,   52,  107,   87,
    1144        52,   60,   31,  132,   52,  132,   60,  114,  175,  154,
    1145        31,   38,  151,  385,  111,   38,   38,   58,   38,   60,
    1146        38,   38,  113,   38,  107,   38,   59,  130,  113,   58,
    1147        58,  116,  111,  164,   38,   38,   38,  385,   59,   58,
    1148       111,  130,   58,  130,  142,   60,   59,  131,   60,  116,
    1149       164,   68,   68,   59,  113,   38,   68,  116,   38,  131,
    1150 
    1151       110,  131,   60,   67,   67,   67,   67,   67,   67,  877,
    1152       142,   67,   68,   68,   68,   68,   68,   68,   80,   80,
    1153        80,   80,   80,   80,  153,   38,   38,   77,   77,  134,
    1154       110,  134,   77,  153,   77,  110,  135,  135,  135,   77,
    1155        82,   82,   82,   82,   82,   82,  876,  243,   77,   77,
    1156        77,   77,   83,   83,   83,   83,   83,   83,  110,   77,
    1157       103,  103,  103,  103,  103,  103,  104,  104,  104,  104,
    1158       133,  133,  137,  133,  137,   77,  145,  139,   77,  139,
    1159       157,  145,  243,   77,   77,  152,  156,   77,   77,  155,
    1160       166,  150,  157,  103,  104,   77,  159,  168,   77,  104,
    1161 
    1162        77,   77,   77,  152,   77,   85,  150,  155,  156,   85,
    1163        85,  166,  159,  150,   85,   85,  161,   85,  160,   85,
    1164       145,  162,  104,  167,  168,  161,  169,  163,   85,   85,
    1165        85,  105,  163,  105,  105,  105,  105,  105,  105,  873,
    1166       160,  171,  162,  162,  165,  163,  167,  169,  173,   85,
    1167       105,  106,   85,  106,  165,  172,  106,  106,  106,  106,
    1168       106,  106,  180,  171,  170,  173,  105,  176,  177,  170,
    1169       172,  181,  105,  174,  184,  187,  181,  182,  179,  180,
    1170        85,   99,   99,   99,   99,   99,   99,  170,  187,  106,
    1171       177,  174,  184,  179,  176,  183,  190,   99,   99,   99,
    1172 
    1173       179,   99,   99,  189,  182,  186,  183,  191,  189,  218,
    1174       186,  218,  185,  188,   99,  190,  183,  183,  284,   99,
    1175        99,   99,  158,  185,   99,  186,   99,  158,  158,  158,
    1176       189,  158,  158,  188,  192,  158,  194,  158,  284,  219,
    1177       185,  219,  158,  158,  158,  193,  158,  192,  220,  194,
    1178       220,  191,  198,  198,  191,  192,  205,  198,  193,  872,
    1179       193,  197,  197,  197,  197,  197,  197,  200,  200,  197,
    1180       248,  221,  200,  198,  198,  198,  198,  198,  198,  202,
    1181       202,  223,  205,  223,  202,  221,  202,  221,  200,  200,
    1182       200,  200,  200,  200,  209,  209,  248,  338,  222,  209,
    1183 
    1184       202,  202,  202,  202,  202,  202,  212,  212,  212,  212,
    1185       222,  309,  222,  224,  224,  225,  224,  225,  226,  226,
    1186       226,  228,  229,  228,  229,  234,  234,  235,  236,  235,
    1187       309,  279,  235,  235,  235,  235,  235,  235,  237,  212,
    1188       237,  338,  266,  237,  266,  267,  278,  267,  234,  279,
    1189       283,  236,  241,  241,  241,  283,  241,  241,  256,  278,
    1190       237,  281,  237,  282,  280,  235,  270,  237,  244,  244,
    1191       244,  244,  244,  244,  241,  241,  241,  281,  285,  241,
    1192       282,  241,  280,  285,  256,  244,  245,  245,  245,  245,
    1193       245,  245,  270,  288,  293,  286,  294,  300,  306,  293,
    1194 
    1195       308,  244,  300,  306,  870,  294,  308,  244,  246,  246,
    1196       246,  246,  246,  246,  253,  286,  288,  255,  255,  255,
    1197       255,  255,  255,  287,  246,  247,  246,  247,  246,  246,
    1198       247,  247,  247,  247,  247,  247,  290,  253,  287,  253,
    1199       869,  246,  289,  253,  287,  287,  246,  292,  246,  253,
    1200       255,  246,  291,  246,  260,  260,  260,  260,  260,  260,
    1201       289,  253,  290,  292,  292,  253,  295,  291,  296,  253,
    1202       297,  299,  301,  302,  303,  304,  305,  307,  311,  295,
    1203       302,  301,  307,  310,  311,  312,  319,  260,  297,  299,
    1204       313,  314,  310,  304,  303,  296,  318,  305,  305,  313,
    1205 
    1206       315,  312,  316,  317,  319,  315,  314,  316,  317,  320,
    1207       322,  323,  324,  326,  325,  318,  327,  328,  331,  329,
    1208       330,  322,  320,  332,  334,  317,  323,  325,  333,  330,
    1209       335,  324,  337,  339,  340,  326,  329,  328,  401,  327,
    1210       331,  337,  334,  335,  341,  343,  332,  340,  342,  401,
    1211       333,  339,  341,  342,  344,  344,  345,  460,  862,  344,
    1212       343,  344,  345,  352,  352,  352,  352,  353,  353,  353,
    1213       353,  362,  363,  362,  363,  370,  370,  370,  370,  370,
    1214       370,  372,  460,  372,  380,  381,  372,  372,  372,  372,
    1215       372,  372,  861,  402,  380,  381,  352,  371,  371,  371,
    1216 
    1217       371,  371,  371,  374,  374,  374,  374,  374,  374,  402,
    1218       380,  381,  403,  371,  404,  371,  860,  371,  371,  375,
    1219       375,  375,  375,  375,  375,  383,  382,  403,  406,  405,
    1220       371,  383,  407,  404,  408,  371,  374,  371,  405,  406,
    1221       371,  407,  371,  376,  376,  376,  376,  376,  376,  382,
    1222       412,  382,  375,  387,  411,  382,  408,  383,  384,  386,
    1223       384,  382,  410,  384,  384,  384,  384,  384,  384,  409,
    1224       411,  387,  412,  382,  413,  410,  376,  382,  409,  387,
    1225       415,  382,  386,  414,  386,  416,  417,  413,  386,  418,
    1226       421,  417,  419,  422,  386,  420,  384,  427,  419,  414,
    1227 
    1228       414,  421,  415,  416,  418,  423,  386,  425,  429,  427,
    1229       386,  418,  422,  430,  386,  431,  420,  432,  433,  434,
    1230       423,  425,  435,  437,  433,  439,  440,  441,  431,  429,
    1231       442,  435,  443,  444,  434,  430,  449,  445,  437,  447,
    1232       432,  450,  441,  451,  454,  439,  445,  443,  440,  452,
    1233       450,  453,  442,  444,  455,  456,  447,  457,  458,  449,
    1234       459,  461,  463,  455,  451,  458,  454,  459,  462,  452,
    1235       457,  453,  466,  456,  464,  467,  462,  525,  859,  463,
    1236       525,  468,  491,  461,  467,  464,  462,  468,  477,  477,
    1237       477,  477,  491,  515,  466,  488,  488,  488,  488,  488,
    1238 
    1239       488,  490,  490,  490,  490,  490,  490,  519,  491,  521,
    1240       515,  488,  492,  488,  492,  488,  488,  492,  492,  492,
    1241       492,  492,  492,  494,  516,  495,  493,  519,  488,  855,
    1242       851,  521,  518,  488,  490,  488,  493,  516,  488,  529,
    1243       488,  497,  497,  497,  497,  497,  497,  518,  520,  494,
    1244       492,  495,  493,  498,  498,  498,  498,  498,  498,  523,
    1245       529,  520,  526,  848,  523,  847,  528,  846,  522,  498,
    1246       499,  498,  499,  498,  498,  499,  499,  499,  499,  499,
    1247       499,  522,  526,  524,  527,  528,  498,  531,  530,  532,
    1248       533,  498,  531,  498,  524,  534,  498,  530,  498,  527,
    1249 
    1250       532,  535,  537,  533,  536,  538,  539,  541,  542,  547,
    1251       535,  539,  544,  541,  538,  545,  546,  542,  547,  537,
    1252       550,  551,  845,  549,  534,  552,  536,  554,  560,  544,
    1253       545,  546,  549,  551,  555,  557,  558,  550,  561,  555,
    1254       552,  562,  554,  565,  557,  558,  564,  567,  566,  568,
    1255       560,  561,  575,  565,  564,  566,  569,  571,  562,  574,
    1256       572,  568,  569,  620,  619,  575,  571,  601,  601,  567,
    1257       572,  619,  620,  844,  843,  622,  574,  594,  594,  594,
    1258       594,  594,  594,  595,  595,  595,  595,  595,  595,  597,
    1259       601,  597,  622,  621,  597,  597,  597,  597,  597,  597,
    1260 
    1261       600,  600,  600,  600,  600,  600,  621,  602,  626,  842,
    1262       594,  596,  596,  596,  596,  596,  596,  603,  618,  603,
    1263       623,  624,  603,  618,  628,  626,  625,  596,  624,  596,
    1264       602,  596,  596,  600,  625,  627,  618,  628,  627,  603,
    1265       629,  603,  630,  623,  596,  631,  603,  632,  633,  596,
    1266       634,  596,  635,  634,  596,  636,  596,  630,  637,  638,
    1267       640,  644,  629,  639,  632,  641,  642,  631,  645,  635,
    1268       633,  646,  639,  637,  650,  642,  651,  656,  640,  638,
    1269       646,  653,  657,  636,  644,  665,  656,  641,  664,  657,
    1270       645,  667,  668,  841,  650,  665,  700,  664,  653,  699,
    1271 
    1272       667,  702,  705,  651,  714,  837,  700,  668,  686,  686,
    1273       686,  686,  686,  686,  690,  690,  690,  690,  690,  690,
    1274       699,  708,  705,  703,  686,  714,  686,  702,  686,  686,
    1275       703,  704,  706,  715,  707,  706,  704,  707,  710,  708,
    1276       712,  686,  711,  717,  710,  718,  686,  690,  686,  712,
    1277       720,  686,  717,  686,  713,  711,  716,  713,  719,  716,
    1278       721,  719,  715,  720,  722,  723,  724,  725,  721,  728,
    1279       731,  718,  732,  735,  722,  733,  725,  736,  723,  756,
    1280       757,  735,  836,  754,  756,  759,  736,  724,  755,  760,
    1281       731,  761,  728,  764,  732,  757,  733,  743,  743,  743,
    1282 
    1283       743,  743,  743,  754,  758,  755,  760,  762,  759,  763,
    1284       762,  769,  766,  768,  758,  766,  768,  761,  769,  772,
    1285       770,  764,  763,  770,  771,  773,  778,  771,  793,  795,
    1286       743,  798,  797,  796,  772,  797,  799,  800,  802,  799,
    1287       800,  803,  804,  806,  807,  804,  810,  807,  773,  778,
    1288       795,  796,  809,  798,  808,  793,  802,  808,  811,  826,
    1289       830,  809,  810,  827,  829,  806,  828,  803,  831,  828,
    1290       827,  831,  832,  829,  811,  834,  835,  839,  830,  835,
    1291       826,  840,  838,  849,  830,  838,  839,  853,  850,  832,
    1292       840,  852,  849,  850,  852,  854,  856,  853,  857,  856,
    1293 
    1294       854,  857,  858,  863,  864,  858,  865,  866,  867,  865,
    1295       868,  867,  871,  868,  874,  875,  878,  866,  879,  864,
    1296       880,  882,  881,  863,  883,  878,  884,  833,  825,  824,
    1297       875,  879,  823,  822,  871,  874,  884,  821,  820,  882,
    1298       819,  818,  880,  881,  817,  816,  883,  888,  888,  888,
     1129       15,   15,   15,   15,   20,   25,   37,   37,   42,   28,
     1130       27,   28,   28,   28,   28,   28,   28,   48,  887,   25,
     1131       29,   25,   27,   27,   27,   29,   56,   35,   39,    7,
     1132        8,    9,   10,   47,   42,   29,   30,   48,   30,   30,
     1133       30,   30,   30,   30,   35,   40,   35,   35,   56,   39,
     1134       40,   44,  886,   44,   47,   30,   47,   53,   64,   30,
     1135       73,   45,   45,   45,   49,   30,   30,   45,   45,   49,
     1136       45,   30,   61,   45,   45,   53,   49,   30,   45,   57,
     1137      108,   45,   49,   30,  878,  109,   73,   55,   57,   40,
     1138       61,   30,   40,   51,   30,   31,   54,   31,   31,   31,
     1139
     1140       31,   31,   31,   50,  108,   55,   54,   87,   51,   64,
     1141       51,   55,   50,   54,   31,  877,   50,   62,   31,   51,
     1142      109,   50,   52,  176,   31,   50,   59,   52,  114,   62,
     1143       31,  115,  127,   87,  127,   52,   31,   52,   59,  107,
     1144       52,  113,   31,  176,   52,  107,   59,  113,  874,   60,
     1145       31,   38,  114,   59,   60,   38,   38,   58,   38,  152,
     1146       38,   38,  128,   38,  128,   38,  115,   60,  143,   58,
     1147       58,  107,  154,  113,   38,   38,   38,  152,  130,   58,
     1148      130,  154,   58,   67,   67,   67,   67,   67,   67,  155,
     1149      133,   67,  133,   60,  143,   38,   60,  158,   38,   80,
     1150
     1151       80,   80,   80,   80,   80,  155,   68,   68,  160,  158,
     1152       60,   68,   82,   82,   82,   82,   82,   82,   83,   83,
     1153       83,   83,   83,   83,  160,   38,   38,   68,   68,   68,
     1154       68,   68,   68,   77,   77,  111,  628,  110,   77,  628,
     1155       77,  104,  104,  104,  104,   77,  103,  103,  103,  103,
     1156      103,  103,  116,  111,   77,   77,   77,   77,  135,  131,
     1157      135,  111,  162,  134,  134,   77,  134,  110,  132,  104,
     1158      116,  162,  110,  131,  104,  131,  169,  151,  116,  103,
     1159      132,   77,  132,  157,   77,  136,  136,  136,  873,   77,
     1160       77,  161,  151,   77,   77,  110,  138,  104,  138,  151,
     1161
     1162      140,   77,  140,  169,   77,  157,   77,   77,   77,  146,
     1163       77,   85,  309,  161,  146,   85,   85,  173,  309,  153,
     1164       85,   85,  156,   85,  105,   85,  105,  105,  105,  105,
     1165      105,  105,  173,  164,   85,   85,   85,  153,  164,  106,
     1166      156,  106,  163,  105,  106,  106,  106,  106,  106,  106,
     1167      166,  164,  165,  146,  167,   85,  168,  170,   85,  105,
     1168      166,  159,  172,  163,  163,  105,  159,  159,  159,  165,
     1169      159,  159,  177,  178,  159,  167,  159,  106,  170,  168,
     1170      174,  159,  159,  159,  172,  159,   85,   99,   99,   99,
     1171       99,   99,   99,  171,  175,  178,  180,  174,  171,  177,
     1172
     1173      181,  182,  183,   99,   99,   99,  182,   99,   99,  192,
     1174      185,  180,  175,  184,  206,  342,  171,  181,  180,  191,
     1175       99,  189,  186,  342,  184,   99,   99,   99,  185,  183,
     1176       99,  187,   99,  186,  184,  184,  187,  190,  191,  188,
     1177      206,  189,  190,  284,  193,  194,  195,  219,  284,  219,
     1178      186,  187,  188,  192,  871,  249,  192,  193,  194,  195,
     1179      194,  220,  285,  220,  190,  193,  198,  198,  198,  198,
     1180      198,  198,  199,  199,  198,  210,  210,  199,  201,  201,
     1181      210,  249,  285,  201,  203,  203,  221,  870,  221,  203,
     1182      224,  203,  224,  199,  199,  199,  199,  199,  199,  201,
     1183
     1184      201,  201,  201,  201,  201,  203,  203,  203,  203,  203,
     1185      203,  213,  213,  213,  213,  222,  223,  225,  225,  226,
     1186      225,  226,  227,  227,  227,  229,  283,  229,  223,  222,
     1187      223,  222,  230,  237,  230,  235,  235,  244,  461,  267,
     1188      236,  267,  236,  283,  213,  236,  236,  236,  236,  236,
     1189      236,  257,  238,  268,  238,  268,  237,  238,  235,  271,
     1190      242,  242,  242,  461,  242,  242,  246,  246,  246,  246,
     1191      246,  246,  244,  279,  238,  286,  238,  257,  236,  280,
     1192      286,  238,  242,  242,  242,  271,  279,  242,  863,  242,
     1193      245,  245,  245,  245,  245,  245,  248,  280,  248,  281,
     1194
     1195      282,  248,  248,  248,  248,  248,  248,  245,  256,  256,
     1196      256,  256,  256,  256,  254,  294,  282,  281,  287,  289,
     1197      294,  291,  290,  245,  363,  635,  363,  295,  635,  245,
     1198      247,  247,  247,  247,  247,  247,  295,  254,  287,  254,
     1199      290,  256,  289,  254,  292,  288,  247,  291,  247,  254,
     1200      247,  247,  261,  261,  261,  261,  261,  261,  296,  292,
     1201      288,  254,  293,  247,  297,  254,  288,  288,  247,  254,
     1202      247,  296,  298,  247,  300,  247,  301,  302,  293,  293,
     1203      303,  301,  304,  305,  306,  261,  302,  303,  307,  308,
     1204      298,  297,  300,  307,  308,  310,  313,  312,  311,  314,
     1205
     1206      315,  305,  304,  312,  316,  306,  306,  311,  314,  316,
     1207      319,  317,  313,  318,  310,  315,  317,  321,  318,  320,
     1208      323,  324,  325,  327,  328,  326,  329,  330,  332,  319,
     1209      321,  323,  333,  331,  334,  318,  324,  320,  326,  335,
     1210      336,  325,  331,  338,  330,  327,  329,  328,  339,  340,
     1211      332,  341,  338,  336,  343,  333,  334,  335,  344,  343,
     1212      402,  345,  345,  346,  341,  386,  345,  340,  345,  346,
     1213      364,  402,  364,  344,  353,  353,  353,  353,  354,  354,
     1214      354,  354,  371,  371,  371,  371,  371,  371,  373,  386,
     1215      373,  404,  339,  373,  373,  373,  373,  373,  373,  375,
     1216
     1217      375,  375,  375,  375,  375,  403,  404,  353,  372,  372,
     1218      372,  372,  372,  372,  376,  376,  376,  376,  376,  376,
     1219      707,  403,  418,  707,  372,  384,  372,  418,  372,  372,
     1220      381,  384,  375,  377,  377,  377,  377,  377,  377,  382,
     1221      381,  372,  388,  405,  383,  406,  372,  376,  372,  382,
     1222      407,  372,  409,  372,  406,  408,  381,  384,  411,  862,
     1223      388,  407,  405,  387,  408,  382,  377,  383,  388,  383,
     1224      420,  411,  413,  383,  409,  385,  420,  385,  410,  383,
     1225      385,  385,  385,  385,  385,  385,  387,  410,  387,  412,
     1226      414,  383,  387,  416,  413,  383,  422,  424,  387,  383,
     1227
     1228      415,  417,  421,  414,  431,  412,  419,  422,  423,  430,
     1229      387,  426,  424,  385,  387,  416,  415,  415,  387,  417,
     1230      428,  419,  432,  421,  433,  426,  431,  423,  419,  435,
     1231      430,  434,  428,  436,  438,  432,  440,  434,  441,  442,
     1232      443,  445,  436,  444,  435,  450,  446,  433,  448,  438,
     1233      451,  452,  455,  453,  442,  446,  440,  454,  444,  451,
     1234      441,  445,  443,  457,  459,  448,  456,  458,  450,  460,
     1235      462,  459,  452,  453,  455,  456,  460,  454,  463,  465,
     1236      458,  457,  464,  467,  468,  469,  463,  525,  861,  860,
     1237      465,  469,  462,  468,  492,  495,  463,  522,  525,  464,
     1238
     1239      478,  478,  478,  478,  492,  467,  489,  489,  489,  489,
     1240      489,  489,  491,  491,  491,  491,  491,  491,  516,  522,
     1241      492,  495,  489,  493,  489,  493,  489,  489,  493,  493,
     1242      493,  493,  493,  493,  496,  516,  524,  494,  532,  489,
     1243      565,  524,  520,  532,  489,  491,  489,  494,  565,  489,
     1244      527,  489,  498,  498,  498,  498,  498,  498,  517,  519,
     1245      496,  493,  520,  494,  499,  499,  499,  499,  499,  499,
     1246      527,  517,  535,  540,  519,  529,  856,  530,  540,  521,
     1247      499,  500,  499,  500,  499,  499,  500,  500,  500,  500,
     1248      500,  500,  521,  523,  529,  528,  531,  499,  530,  534,
     1249
     1250      533,  535,  499,  537,  499,  531,  523,  499,  536,  499,
     1251      528,  533,  534,  538,  539,  542,  545,  536,  543,  546,
     1252      547,  542,  548,  539,  551,  537,  552,  543,  550,  553,
     1253      538,  548,  555,  545,  546,  547,  561,  550,  552,  558,
     1254      556,  551,  559,  562,  553,  556,  563,  555,  558,  566,
     1255      567,  559,  568,  569,  570,  572,  562,  567,  561,  566,
     1256      570,  573,  575,  563,  572,  569,  666,  576,  620,  621,
     1257      852,  573,  849,  603,  568,  620,  666,  623,  621,  575,
     1258      576,  595,  595,  595,  595,  595,  595,  596,  596,  596,
     1259      596,  596,  596,  598,  623,  598,  603,  622,  598,  598,
     1260
     1261      598,  598,  598,  598,  601,  601,  601,  601,  601,  601,
     1262      622,  602,  602,  848,  595,  597,  597,  597,  597,  597,
     1263      597,  604,  619,  604,  624,  625,  604,  619,  629,  627,
     1264      626,  597,  625,  597,  602,  597,  597,  601,  626,  630,
     1265      619,  629,  631,  604,  632,  604,  627,  624,  597,  634,
     1266      604,  633,  636,  597,  637,  597,  639,  631,  597,  638,
     1267      597,  630,  641,  640,  642,  645,  632,  646,  633,  636,
     1268      643,  634,  640,  651,  638,  647,  639,  652,  654,  643,
     1269      641,  657,  637,  669,  647,  658,  642,  665,  645,  646,
     1270      657,  668,  658,  651,  703,  654,  665,  700,  669,  708,
     1271
     1272      668,  847,  708,  846,  652,  687,  687,  687,  687,  687,
     1273      687,  691,  691,  691,  691,  691,  691,  701,  700,  705,
     1274      703,  687,  704,  687,  705,  687,  687,  701,  709,  704,
     1275      711,  706,  713,  715,  712,  716,  711,  714,  687,  717,
     1276      714,  713,  717,  687,  691,  687,  709,  712,  687,  718,
     1277      687,  706,  719,  720,  715,  721,  720,  722,  718,  723,
     1278      724,  725,  726,  729,  716,  722,  733,  732,  721,  723,
     1279      734,  726,  736,  724,  737,  758,  762,  765,  719,  755,
     1280      736,  756,  725,  737,  757,  760,  729,  732,  733,  757,
     1281      758,  734,  744,  744,  744,  744,  744,  744,  756,  755,
     1282
     1283      759,  761,  762,  763,  764,  765,  763,  773,  760,  767,
     1284      759,  769,  767,  770,  769,  774,  771,  764,  761,  771,
     1285      770,  772,  773,  779,  772,  744,  794,  796,  798,  797,
     1286      799,  798,  800,  801,  804,  800,  801,  803,  774,  805,
     1287      807,  808,  805,  811,  808,  812,  779,  797,  796,  810,
     1288      827,  809,  799,  794,  809,  803,  828,  830,  810,  811,
     1289      804,  812,  807,  828,  829,  831,  830,  829,  833,  832,
     1290      836,  827,  832,  836,  839,  840,  851,  839,  841,  850,
     1291      864,  851,  854,  831,  840,  833,  855,  841,  850,  831,
     1292      853,  855,  854,  853,  857,  858,  859,  857,  858,  859,
     1293
     1294      864,  865,  866,  867,  868,  866,  869,  868,  872,  869,
     1295      875,  876,  879,  867,  880,  881,  865,  882,  883,  884,
     1296      845,  879,  885,  844,  843,  842,  876,  880,  838,  837,
     1297      872,  875,  885,  835,  834,  826,  883,  881,  882,  825,
     1298      824,  884,  889,  889,  889,  889,  889,  889,  889,  889,
     1299      889,  889,  889,  889,  889,  890,  890,  890,  890,  890,
     1300      890,  890,  890,  890,  890,  890,  890,  890,  891,  891,
     1301      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1302      891,  892,  823,  822,  892,  821,  892,  892,  892,  892,
     1303      892,  893,  820,  819,  818,  893,  893,  893,  893,  893,
     1304
     1305      893,  894,  894,  894,  894,  894,  894,  894,  894,  894,
     1306      894,  894,  894,  894,  895,  817,  816,  895,  815,  895,
     1307      895,  895,  895,  895,  896,  814,  896,  896,  813,  896,
     1308      896,  896,  896,  896,  896,  806,  896,  897,  802,  795,
     1309      897,  897,  897,  897,  897,  897,  897,  897,  793,  897,
     1310      898,  898,  898,  898,  898,  898,  898,  898,  898,  898,
     1311      898,  898,  898,  899,  899,  792,  899,  791,  790,  789,
     1312      899,  900,  788,  787,  900,  786,  900,  900,  900,  900,
     1313      900,  901,  785,  901,  784,  783,  782,  901,  902,  781,
     1314      902,  780,  778,  777,  902,  903,  776,  903,  775,  768,
     1315
     1316      766,  903,  904,  754,  904,  753,  752,  751,  904,  905,
     1317      750,  905,  749,  748,  747,  905,  906,  746,  906,  743,
     1318      742,  741,  906,  907,  735,  907,  731,  730,  728,  907,
     1319      908,  727,  908,  710,  702,  699,  908,  909,  694,  909,
     1320      692,  688,  678,  909,  910,  910,  910,  910,  910,  910,
     1321      910,  910,  910,  910,  910,  910,  910,  911,  674,  911,
     1322      912,  912,  672,  912,  912,  912,  670,  912,  913,  913,
     1323      667,  913,  914,  664,  914,  663,  662,  661,  914,  915,
     1324      660,  915,  659,  656,  655,  915,  916,  653,  916,  650,
     1325      649,  648,  916,  917,  644,  917,  918,  617,  918,  613,
     1326
     1327      611,  609,  918,  919,  607,  919,  920,  605,  599,  920,
     1328      593,  920,  920,  920,  920,  920,  921,  921,  921,  921,
     1329      921,  921,  921,  921,  921,  921,  921,  921,  921,  922,
     1330      922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
     1331      922,  922,  923,  591,  923,  589,  587,  585,  923,  924,
     1332      583,  924,  581,  579,  578,  924,  925,  577,  925,  574,
     1333      571,  564,  925,  926,  560,  926,  927,  557,  927,  554,
     1334      549,  544,  927,  928,  541,  928,  929,  518,  929,  514,
     1335      512,  510,  929,  930,  508,  930,  931,  506,  931,  504,
     1336      503,  502,  931,  932,  501,  932,  933,  490,  933,  487,
     1337
     1338      485,  484,  933,  934,  483,  934,  935,  481,  935,  479,
     1339      476,  474,  935,  936,  472,  936,  937,  470,  937,  466,
     1340      449,  447,  937,  938,  439,  938,  939,  437,  939,  429,
     1341      939,  427,  939,  940,  425,  940,  399,  940,  397,  940,
     1342      941,  941,  395,  941,  941,  941,  393,  941,  942,  392,
     1343      942,  391,  378,  368,  942,  943,  366,  943,  365,  361,
     1344      359,  943,  944,  357,  944,  355,  351,  349,  944,  945,
     1345      348,  945,  946,  347,  946,  337,  322,  299,  946,  947,
     1346      278,  947,  948,  276,  948,  274,  273,  272,  948,  949,
     1347      270,  949,  950,  269,  950,  264,  260,  259,  950,  951,
     1348
     1349      255,  951,  952,  252,  251,  952,  240,  952,  952,  952,
     1350      952,  952,  953,  953,  953,  953,  953,  953,  953,  953,
     1351      953,  953,  953,  953,  953,  954,  239,  954,  232,  231,
     1352      228,  954,  955,  218,  955,  956,  216,  956,  215,  214,
     1353      208,  956,  957,  207,  957,  958,  205,  958,  200,  179,
     1354      150,  958,  959,  148,  959,  960,  147,  960,  141,  139,
     1355      137,  960,  961,  129,  961,  962,  126,  962,  125,  121,
     1356      101,  962,  963,   98,  963,  964,   95,  964,   93,   86,
     1357       72,  964,  965,   70,  965,  966,   66,  966,   36,   18,
     1358       11,  966,  967,    4,  967,    3,    0,    0,  967,  968,
     1359
     1360        0,  968,  969,    0,  969,    0,    0,    0,  969,  970,
     1361        0,  970,  971,    0,  971,    0,  971,    0,  971,  972,
     1362        0,  972,    0,    0,    0,  972,  973,    0,  973,    0,
     1363        0,    0,  973,  974,    0,  974,  975,    0,  975,    0,
     1364        0,    0,  975,  976,    0,  976,  977,    0,  977,    0,
     1365        0,    0,  977,  978,    0,  978,  979,    0,  979,    0,
     1366        0,    0,  979,  980,    0,  980,  981,    0,  981,    0,
     1367        0,    0,  981,  982,    0,  982,  983,    0,  983,    0,
     1368        0,    0,  983,  984,    0,  984,  985,    0,    0,  985,
     1369        0,  985,  985,  985,  985,  985,  986,  986,  986,  986,
     1370
     1371      986,  986,  986,  986,  986,  986,  986,  986,  986,  987,
     1372        0,  987,    0,    0,    0,  987,  988,    0,  988,  989,
     1373        0,  989,    0,    0,    0,  989,  990,    0,  990,  991,
     1374        0,  991,    0,    0,    0,  991,  992,    0,  992,  993,
     1375        0,  993,    0,    0,    0,  993,  994,    0,  994,  995,
     1376        0,  995,    0,    0,    0,  995,  996,    0,  996,  997,
     1377        0,  997,    0,    0,    0,  997,  998,    0,  998,  999,
     1378        0,  999,    0,    0,    0,  999, 1000,    0, 1000, 1001,
     1379        0, 1001,    0,    0,    0, 1001, 1002,    0, 1002, 1003,
     1380        0, 1003,    0,    0,    0, 1003, 1004,    0, 1004,    0,
     1381
     1382        0,    0, 1004, 1005,    0, 1005, 1006,    0, 1006,    0,
     1383        0,    0, 1006, 1007,    0, 1007, 1008,    0, 1008,    0,
     1384        0,    0, 1008, 1009,    0, 1009, 1010,    0, 1010,    0,
     1385        0,    0, 1010, 1011,    0, 1011, 1012,    0, 1012, 1013,
     1386        0, 1013, 1014,    0,    0, 1014,    0, 1014, 1014, 1014,
     1387     1014, 1014, 1015,    0, 1015, 1016, 1016, 1016, 1016, 1016,
     1388     1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1017,    0,
     1389     1017,    0,    0,    0, 1017, 1018,    0, 1018, 1019,    0,
     1390     1019,    0,    0,    0, 1019, 1020,    0, 1020, 1021,    0,
     1391     1021, 1022,    0, 1022, 1023,    0,    0, 1023,    0, 1023,
     1392
     1393     1023, 1023, 1023, 1023, 1024,    0, 1024, 1025,    0, 1025,
     1394     1026,    0, 1026, 1027,    0, 1027, 1028,    0, 1028, 1029,
     1395        0, 1029, 1030,    0, 1030, 1031,    0, 1031,    0,    0,
     1396        0, 1031, 1032,    0, 1032, 1033,    0, 1033,    0,    0,
     1397        0, 1033, 1034,    0, 1034, 1035,    0, 1035, 1036,    0,
     1398     1036, 1037,    0, 1037, 1038,    0, 1038,    0,    0,    0,
     1399     1038, 1039,    0,    0, 1039,    0, 1039, 1039, 1039, 1039,
     1400     1039, 1040,    0, 1040, 1041,    0, 1041, 1042,    0, 1042,
     1401     1043,    0, 1043,    0,    0,    0, 1043, 1044,    0, 1044,
     1402        0,    0,    0, 1044, 1045,    0, 1045,    0,    0,    0,
     1403
     1404     1045, 1046,    0, 1046, 1047,    0, 1047,    0,    0,    0,
     1405     1047, 1048,    0, 1048,    0,    0,    0, 1048, 1049,    0,
     1406     1049,    0,    0,    0, 1049, 1050,    0, 1050,    0,    0,
     1407        0, 1050, 1051,    0, 1051,    0,    0,    0, 1051, 1052,
     1408        0, 1052,    0,    0,    0, 1052, 1053,    0, 1053,    0,
     1409        0,    0, 1053, 1054,    0, 1054,    0,    0,    0, 1054,
     1410     1055,    0, 1055,    0,    0,    0, 1055, 1056,    0, 1056,
     1411        0,    0,    0, 1056, 1057,    0, 1057,    0,    0,    0,
     1412     1057, 1058,    0, 1058,    0,    0,    0, 1058, 1059,    0,
     1413     1059,    0,    0,    0, 1059, 1060,    0, 1060,    0,    0,
     1414
     1415        0, 1060, 1061,    0, 1061,    0,    0,    0, 1061, 1062,
     1416        0, 1062,    0,    0,    0, 1062,  888,  888,  888,  888,
    12991417      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
    1300       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
    1301       889,  889,  889,  890,  890,  890,  890,  890,  890,  890,
    1302       890,  890,  890,  890,  890,  890,  891,  815,  814,  891,
    1303       813,  891,  891,  891,  891,  891,  892,  812,  805,  801,
    1304 
    1305       892,  892,  892,  892,  892,  892,  893,  893,  893,  893,
    1306       893,  893,  893,  893,  893,  893,  893,  893,  893,  894,
    1307       794,  792,  894,  791,  894,  894,  894,  894,  894,  895,
    1308       790,  895,  895,  789,  895,  895,  895,  895,  895,  895,
    1309       788,  895,  896,  787,  786,  896,  896,  896,  896,  896,
    1310       896,  896,  896,  785,  896,  897,  897,  897,  897,  897,
    1311       897,  897,  897,  897,  897,  897,  897,  897,  898,  898,
    1312       784,  898,  783,  782,  781,  898,  899,  780,  779,  899,
    1313       777,  899,  899,  899,  899,  899,  900,  776,  900,  775,
    1314       774,  767,  900,  901,  765,  901,  753,  752,  751,  901,
    1315 
    1316       902,  750,  902,  749,  748,  747,  902,  903,  746,  903,
    1317       745,  742,  741,  903,  904,  740,  904,  734,  730,  729,
    1318       904,  905,  727,  905,  726,  709,  701,  905,  906,  698,
    1319       906,  693,  691,  687,  906,  907,  677,  907,  673,  671,
    1320       669,  907,  908,  666,  908,  663,  662,  661,  908,  909,
    1321       909,  909,  909,  909,  909,  909,  909,  909,  909,  909,
    1322       909,  909,  910,  660,  910,  911,  911,  659,  911,  911,
    1323       911,  658,  911,  912,  912,  655,  912,  913,  654,  913,
    1324       652,  649,  648,  913,  914,  647,  914,  643,  616,  612,
    1325       914,  915,  610,  915,  608,  606,  604,  915,  916,  598,
    1326 
    1327       916,  917,  592,  917,  590,  588,  586,  917,  918,  584,
    1328       918,  919,  582,  580,  919,  578,  919,  919,  919,  919,
    1329       919,  920,  920,  920,  920,  920,  920,  920,  920,  920,
    1330       920,  920,  920,  920,  921,  921,  921,  921,  921,  921,
    1331       921,  921,  921,  921,  921,  921,  921,  922,  577,  922,
    1332       576,  573,  570,  922,  923,  563,  923,  559,  556,  553,
    1333       923,  924,  548,  924,  543,  540,  517,  924,  925,  513,
    1334       925,  926,  511,  926,  509,  507,  505,  926,  927,  503,
    1335       927,  928,  502,  928,  501,  500,  489,  928,  929,  486,
    1336       929,  930,  484,  930,  483,  482,  480,  930,  931,  478,
    1337 
    1338       931,  932,  475,  932,  473,  471,  469,  932,  933,  465,
    1339       933,  934,  448,  934,  446,  438,  436,  934,  935,  428,
    1340       935,  936,  426,  936,  424,  398,  396,  936,  937,  394,
    1341       937,  938,  392,  938,  391,  938,  390,  938,  939,  377,
    1342       939,  367,  939,  365,  939,  940,  940,  364,  940,  940,
    1343       940,  360,  940,  941,  358,  941,  356,  354,  350,  941,
    1344       942,  348,  942,  347,  346,  336,  942,  943,  321,  943,
    1345       298,  277,  275,  943,  944,  273,  944,  945,  272,  945,
    1346       271,  269,  268,  945,  946,  263,  946,  947,  259,  947,
    1347       258,  254,  251,  947,  948,  250,  948,  949,  239,  949,
    1348 
    1349       238,  231,  230,  949,  950,  227,  950,  951,  217,  215,
    1350       951,  214,  951,  951,  951,  951,  951,  952,  952,  952,
    1351       952,  952,  952,  952,  952,  952,  952,  952,  952,  952,
    1352       953,  213,  953,  207,  206,  204,  953,  954,  199,  954,
    1353       955,  178,  955,  149,  147,  146,  955,  956,  140,  956,
    1354       957,  138,  957,  136,  128,  125,  957,  958,  124,  958,
    1355       959,  120,  959,  101,   98,   95,  959,  960,   93,  960,
    1356       961,   86,  961,   72,   70,   66,  961,  962,   36,  962,
    1357       963,   33,  963,   18,   11,    4,  963,  964,    3,  964,
    1358       965,    0,  965,    0,    0,    0,  965,  966,    0,  966,
    1359 
    1360         0,    0,    0,  966,  967,    0,  967,  968,    0,  968,
    1361         0,    0,    0,  968,  969,    0,  969,  970,    0,  970,
    1362         0,  970,    0,  970,  971,    0,  971,    0,    0,    0,
    1363       971,  972,    0,  972,    0,    0,    0,  972,  973,    0,
    1364       973,  974,    0,  974,    0,    0,    0,  974,  975,    0,
    1365       975,  976,    0,  976,    0,    0,    0,  976,  977,    0,
    1366       977,  978,    0,  978,    0,    0,    0,  978,  979,    0,
    1367       979,  980,    0,  980,    0,    0,    0,  980,  981,    0,
    1368       981,  982,    0,  982,    0,    0,    0,  982,  983,    0,
    1369       983,  984,    0,    0,  984,    0,  984,  984,  984,  984,
    1370 
    1371       984,  985,  985,  985,  985,  985,  985,  985,  985,  985,
    1372       985,  985,  985,  985,  986,    0,  986,    0,    0,    0,
    1373       986,  987,    0,  987,  988,    0,  988,    0,    0,    0,
    1374       988,  989,    0,  989,  990,    0,  990,    0,    0,    0,
    1375       990,  991,    0,  991,  992,    0,  992,    0,    0,    0,
    1376       992,  993,    0,  993,  994,    0,  994,    0,    0,    0,
    1377       994,  995,    0,  995,  996,    0,  996,    0,    0,    0,
    1378       996,  997,    0,  997,  998,    0,  998,    0,    0,    0,
    1379       998,  999,    0,  999, 1000,    0, 1000,    0,    0,    0,
    1380      1000, 1001,    0, 1001, 1002,    0, 1002,    0,    0,    0,
    1381 
    1382      1002, 1003,    0, 1003,    0,    0,    0, 1003, 1004,    0,
    1383      1004, 1005,    0, 1005,    0,    0,    0, 1005, 1006,    0,
    1384      1006, 1007,    0, 1007,    0,    0,    0, 1007, 1008,    0,
    1385      1008, 1009,    0, 1009,    0,    0,    0, 1009, 1010,    0,
    1386      1010, 1011,    0, 1011, 1012,    0, 1012, 1013,    0,    0,
    1387      1013,    0, 1013, 1013, 1013, 1013, 1013, 1014,    0, 1014,
    1388      1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
    1389      1015, 1015, 1015, 1016,    0, 1016,    0,    0,    0, 1016,
    1390      1017,    0, 1017, 1018,    0, 1018,    0,    0,    0, 1018,
    1391      1019,    0, 1019, 1020,    0, 1020, 1021,    0, 1021, 1022,
    1392 
    1393         0,    0, 1022,    0, 1022, 1022, 1022, 1022, 1022, 1023,
    1394         0, 1023, 1024,    0, 1024, 1025,    0, 1025, 1026,    0,
    1395      1026, 1027,    0, 1027, 1028,    0, 1028, 1029,    0, 1029,
    1396      1030,    0, 1030,    0,    0,    0, 1030, 1031,    0, 1031,
    1397      1032,    0, 1032,    0,    0,    0, 1032, 1033,    0, 1033,
    1398      1034,    0, 1034, 1035,    0, 1035, 1036,    0, 1036, 1037,
    1399         0, 1037,    0,    0,    0, 1037, 1038,    0,    0, 1038,
    1400         0, 1038, 1038, 1038, 1038, 1038, 1039,    0, 1039, 1040,
    1401         0, 1040, 1041,    0, 1041, 1042,    0, 1042,    0,    0,
    1402         0, 1042, 1043,    0, 1043,    0,    0,    0, 1043, 1044,
    1403 
    1404         0, 1044,    0,    0,    0, 1044, 1045,    0, 1045, 1046,
    1405         0, 1046,    0,    0,    0, 1046, 1047,    0, 1047,    0,
    1406         0,    0, 1047, 1048,    0, 1048,    0,    0,    0, 1048,
    1407      1049,    0, 1049,    0,    0,    0, 1049, 1050,    0, 1050,
    1408         0,    0,    0, 1050, 1051,    0, 1051,    0,    0,    0,
    1409      1051, 1052,    0, 1052,    0,    0,    0, 1052, 1053,    0,
    1410      1053,    0,    0,    0, 1053, 1054,    0, 1054,    0,    0,
    1411         0, 1054, 1055,    0, 1055,    0,    0,    0, 1055, 1056,
    1412         0, 1056,    0,    0,    0, 1056, 1057,    0, 1057,    0,
    1413         0,    0, 1057, 1058,    0, 1058,    0,    0,    0, 1058,
    1414 
    1415      1059,    0, 1059,    0,    0,    0, 1059, 1060,    0, 1060,
    1416         0,    0,    0, 1060, 1061,    0, 1061,    0,    0,    0,
    1417      1061,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1418       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1419       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1420       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1421       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1422       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1423       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1424       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1425 
    1426       887,  887,  887,  887,  887,  887,  887
     1418      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1419      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1420      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1421      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1422      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1423      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1424      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1425
     1426      888,  888
    14271427    } ;
    14281428
    14291429/* Table of booleans, true if rule could match eol. */
    1430 static yyconst flex_int32_t yy_rule_can_match_eol[181] =
     1430static yyconst flex_int32_t yy_rule_can_match_eol[182] =
    14311431    {   0,
    143214321, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     
    14391439    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14401440    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1441     0,     };
     1441    0, 0,     };
    14421442
    14431443static yy_state_type yy_last_accepting_state;
     
    14671467 * Created On       : Sat Sep 22 08:58:10 2001
    14681468 * Last Modified By : Peter A. Buhr
    1469  * Last Modified On : Wed Jun 22 21:20:18 2016
    1470  * Update Count     : 456
     1469 * Last Modified On : Mon Jun  6 18:08:27 2016
     1470 * Update Count     : 451
    14711471 */
    14721472#line 20 "lex.ll"
     
    15021502
    15031503void rm_underscore() {
    1504         // Remove underscores in numeric constant by copying the non-underscore characters to the front of the string.
    1505         yyleng = 0;
     1504        // remove underscores in numeric constant
     1505        int j = 0;
    15061506        for ( int i = 0; yytext[i] != '\0'; i += 1 ) {
    15071507                if ( yytext[i] != '_' ) {
    1508                         yytext[yyleng] = yytext[i];
    1509                         yyleng += 1;
     1508                        yytext[j] = yytext[i];
     1509                        j += 1;
    15101510                } // if
    15111511        } // for
     1512        yyleng = j;
    15121513        yytext[yyleng] = '\0';
    15131514}
     
    15221523// ' stop highlighting
    15231524// display/white-space characters
    1524 // overloadable operators
    1525 // op_binary_not_over "?"|"->"|"."|"&&"|"||"|"@="
    1526 // operator {op_unary_pre_post}|{op_binary_over}|{op_binary_not_over}
    1527 
    1528 
    1529 
    1530 
    1531 #line 1532 "Parser/lex.cc"
     1525// operators
     1526
     1527
     1528
     1529
     1530#line 1531 "Parser/lex.cc"
    15321531
    15331532#define INITIAL 0
     
    17211720        register int yy_act;
    17221721   
    1723 #line 138 "lex.ll"
     1722#line 139 "lex.ll"
    17241723
    17251724                                   /* line directives */
    1726 #line 1727 "Parser/lex.cc"
     1725#line 1726 "Parser/lex.cc"
    17271726
    17281727        if ( !(yy_init) )
     
    17781777                                {
    17791778                                yy_current_state = (int) yy_def[yy_current_state];
    1780                                 if ( yy_current_state >= 888 )
     1779                                if ( yy_current_state >= 889 )
    17811780                                        yy_c = yy_meta[(unsigned int) yy_c];
    17821781                                }
     
    17841783                        ++yy_cp;
    17851784                        }
    1786                 while ( yy_base[yy_current_state] != 2822 );
     1785                while ( yy_base[yy_current_state] != 2817 );
    17871786
    17881787yy_find_action:
     
    18211820/* rule 1 can match eol */
    18221821YY_RULE_SETUP
    1823 #line 140 "lex.ll"
     1822#line 141 "lex.ll"
    18241823{
    18251824        /* " stop highlighting */
     
    18481847/* rule 2 can match eol */
    18491848YY_RULE_SETUP
    1850 #line 163 "lex.ll"
     1849#line 164 "lex.ll"
    18511850;
    18521851        YY_BREAK
     
    18541853case 3:
    18551854YY_RULE_SETUP
    1856 #line 166 "lex.ll"
     1855#line 167 "lex.ll"
    18571856{ BEGIN COMMENT; }
    18581857        YY_BREAK
     
    18601859/* rule 4 can match eol */
    18611860YY_RULE_SETUP
    1862 #line 167 "lex.ll"
     1861#line 168 "lex.ll"
    18631862;
    18641863        YY_BREAK
    18651864case 5:
    18661865YY_RULE_SETUP
    1867 #line 168 "lex.ll"
     1866#line 169 "lex.ll"
    18681867{ BEGIN 0; }
    18691868        YY_BREAK
     
    18721871/* rule 6 can match eol */
    18731872YY_RULE_SETUP
    1874 #line 171 "lex.ll"
     1873#line 172 "lex.ll"
    18751874;
    18761875        YY_BREAK
     
    18781877case 7:
    18791878YY_RULE_SETUP
    1880 #line 174 "lex.ll"
    1881 { WHITE_RETURN(' '); }
    1882         YY_BREAK
    1883 case 8:
    1884 YY_RULE_SETUP
    18851879#line 175 "lex.ll"
    18861880{ WHITE_RETURN(' '); }
    18871881        YY_BREAK
     1882case 8:
     1883YY_RULE_SETUP
     1884#line 176 "lex.ll"
     1885{ WHITE_RETURN(' '); }
     1886        YY_BREAK
    18881887case 9:
    18891888/* rule 9 can match eol */
    18901889YY_RULE_SETUP
    1891 #line 176 "lex.ll"
     1890#line 177 "lex.ll"
    18921891{ NEWLINE_RETURN(); }
    18931892        YY_BREAK
     
    18951894case 10:
    18961895YY_RULE_SETUP
    1897 #line 179 "lex.ll"
     1896#line 180 "lex.ll"
    18981897{ KEYWORD_RETURN(ALIGNAS); }                    // C11
    18991898        YY_BREAK
    19001899case 11:
    19011900YY_RULE_SETUP
    1902 #line 180 "lex.ll"
     1901#line 181 "lex.ll"
    19031902{ KEYWORD_RETURN(ALIGNOF); }                    // C11
    19041903        YY_BREAK
    19051904case 12:
    1906 YY_RULE_SETUP
    1907 #line 181 "lex.ll"
    1908 { KEYWORD_RETURN(ALIGNOF); }                    // GCC
    1909         YY_BREAK
    1910 case 13:
    19111905YY_RULE_SETUP
    19121906#line 182 "lex.ll"
    19131907{ KEYWORD_RETURN(ALIGNOF); }                    // GCC
    19141908        YY_BREAK
     1909case 13:
     1910YY_RULE_SETUP
     1911#line 183 "lex.ll"
     1912{ KEYWORD_RETURN(ALIGNOF); }                    // GCC
     1913        YY_BREAK
    19151914case 14:
    19161915YY_RULE_SETUP
    1917 #line 183 "lex.ll"
     1916#line 184 "lex.ll"
    19181917{ KEYWORD_RETURN(ASM); }
    19191918        YY_BREAK
    19201919case 15:
    1921 YY_RULE_SETUP
    1922 #line 184 "lex.ll"
    1923 { KEYWORD_RETURN(ASM); }                                // GCC
    1924         YY_BREAK
    1925 case 16:
    19261920YY_RULE_SETUP
    19271921#line 185 "lex.ll"
    19281922{ KEYWORD_RETURN(ASM); }                                // GCC
    19291923        YY_BREAK
     1924case 16:
     1925YY_RULE_SETUP
     1926#line 186 "lex.ll"
     1927{ KEYWORD_RETURN(ASM); }                                // GCC
     1928        YY_BREAK
    19301929case 17:
    19311930YY_RULE_SETUP
    1932 #line 186 "lex.ll"
     1931#line 187 "lex.ll"
    19331932{ KEYWORD_RETURN(AT); }                                 // CFA
    19341933        YY_BREAK
    19351934case 18:
    19361935YY_RULE_SETUP
    1937 #line 187 "lex.ll"
     1936#line 188 "lex.ll"
    19381937{ KEYWORD_RETURN(ATOMIC); }                             // C11
    19391938        YY_BREAK
    19401939case 19:
    1941 YY_RULE_SETUP
    1942 #line 188 "lex.ll"
    1943 { KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    1944         YY_BREAK
    1945 case 20:
    19461940YY_RULE_SETUP
    19471941#line 189 "lex.ll"
    19481942{ KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    19491943        YY_BREAK
     1944case 20:
     1945YY_RULE_SETUP
     1946#line 190 "lex.ll"
     1947{ KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
     1948        YY_BREAK
    19501949case 21:
    19511950YY_RULE_SETUP
    1952 #line 190 "lex.ll"
     1951#line 191 "lex.ll"
    19531952{ KEYWORD_RETURN(AUTO); }
    19541953        YY_BREAK
    19551954case 22:
    19561955YY_RULE_SETUP
    1957 #line 191 "lex.ll"
     1956#line 192 "lex.ll"
    19581957{ KEYWORD_RETURN(BOOL); }                               // C99
    19591958        YY_BREAK
    19601959case 23:
    19611960YY_RULE_SETUP
    1962 #line 192 "lex.ll"
     1961#line 193 "lex.ll"
    19631962{ KEYWORD_RETURN(BREAK); }
    19641963        YY_BREAK
    19651964case 24:
    19661965YY_RULE_SETUP
    1967 #line 193 "lex.ll"
     1966#line 194 "lex.ll"
    19681967{ KEYWORD_RETURN(CASE); }
    19691968        YY_BREAK
    19701969case 25:
    19711970YY_RULE_SETUP
    1972 #line 194 "lex.ll"
     1971#line 195 "lex.ll"
    19731972{ KEYWORD_RETURN(CATCH); }                              // CFA
    19741973        YY_BREAK
    19751974case 26:
    19761975YY_RULE_SETUP
    1977 #line 195 "lex.ll"
     1976#line 196 "lex.ll"
    19781977{ KEYWORD_RETURN(CATCHRESUME); }                // CFA
    19791978        YY_BREAK
    19801979case 27:
    19811980YY_RULE_SETUP
    1982 #line 196 "lex.ll"
     1981#line 197 "lex.ll"
    19831982{ KEYWORD_RETURN(CHAR); }
    19841983        YY_BREAK
    19851984case 28:
    19861985YY_RULE_SETUP
    1987 #line 197 "lex.ll"
     1986#line 198 "lex.ll"
    19881987{ KEYWORD_RETURN(CHOOSE); }                             // CFA
    19891988        YY_BREAK
    19901989case 29:
    19911990YY_RULE_SETUP
    1992 #line 198 "lex.ll"
     1991#line 199 "lex.ll"
    19931992{ KEYWORD_RETURN(COMPLEX); }                    // C99
    19941993        YY_BREAK
    19951994case 30:
    1996 YY_RULE_SETUP
    1997 #line 199 "lex.ll"
    1998 { KEYWORD_RETURN(COMPLEX); }                    // GCC
    1999         YY_BREAK
    2000 case 31:
    20011995YY_RULE_SETUP
    20021996#line 200 "lex.ll"
    20031997{ KEYWORD_RETURN(COMPLEX); }                    // GCC
    20041998        YY_BREAK
     1999case 31:
     2000YY_RULE_SETUP
     2001#line 201 "lex.ll"
     2002{ KEYWORD_RETURN(COMPLEX); }                    // GCC
     2003        YY_BREAK
    20052004case 32:
    20062005YY_RULE_SETUP
    2007 #line 201 "lex.ll"
     2006#line 202 "lex.ll"
    20082007{ KEYWORD_RETURN(CONST); }
    20092008        YY_BREAK
    20102009case 33:
    2011 YY_RULE_SETUP
    2012 #line 202 "lex.ll"
    2013 { KEYWORD_RETURN(CONST); }                              // GCC
    2014         YY_BREAK
    2015 case 34:
    20162010YY_RULE_SETUP
    20172011#line 203 "lex.ll"
    20182012{ KEYWORD_RETURN(CONST); }                              // GCC
    20192013        YY_BREAK
     2014case 34:
     2015YY_RULE_SETUP
     2016#line 204 "lex.ll"
     2017{ KEYWORD_RETURN(CONST); }                              // GCC
     2018        YY_BREAK
    20202019case 35:
    20212020YY_RULE_SETUP
    2022 #line 204 "lex.ll"
     2021#line 205 "lex.ll"
    20232022{ KEYWORD_RETURN(CONTINUE); }
    20242023        YY_BREAK
    20252024case 36:
    20262025YY_RULE_SETUP
    2027 #line 205 "lex.ll"
     2026#line 206 "lex.ll"
    20282027{ KEYWORD_RETURN(DEFAULT); }
    20292028        YY_BREAK
    20302029case 37:
    20312030YY_RULE_SETUP
    2032 #line 206 "lex.ll"
     2031#line 207 "lex.ll"
    20332032{ KEYWORD_RETURN(DISABLE); }                    // CFA
    20342033        YY_BREAK
    20352034case 38:
    20362035YY_RULE_SETUP
    2037 #line 207 "lex.ll"
     2036#line 208 "lex.ll"
    20382037{ KEYWORD_RETURN(DO); }
    20392038        YY_BREAK
    20402039case 39:
    20412040YY_RULE_SETUP
    2042 #line 208 "lex.ll"
     2041#line 209 "lex.ll"
    20432042{ KEYWORD_RETURN(DOUBLE); }
    20442043        YY_BREAK
    20452044case 40:
    20462045YY_RULE_SETUP
    2047 #line 209 "lex.ll"
     2046#line 210 "lex.ll"
    20482047{ KEYWORD_RETURN(DTYPE); }                              // CFA
    20492048        YY_BREAK
    20502049case 41:
    20512050YY_RULE_SETUP
    2052 #line 210 "lex.ll"
     2051#line 211 "lex.ll"
    20532052{ KEYWORD_RETURN(ELSE); }
    20542053        YY_BREAK
    20552054case 42:
    20562055YY_RULE_SETUP
    2057 #line 211 "lex.ll"
     2056#line 212 "lex.ll"
    20582057{ KEYWORD_RETURN(ENABLE); }                             // CFA
    20592058        YY_BREAK
    20602059case 43:
    20612060YY_RULE_SETUP
    2062 #line 212 "lex.ll"
     2061#line 213 "lex.ll"
    20632062{ KEYWORD_RETURN(ENUM); }
    20642063        YY_BREAK
    20652064case 44:
    20662065YY_RULE_SETUP
    2067 #line 213 "lex.ll"
     2066#line 214 "lex.ll"
    20682067{ KEYWORD_RETURN(EXTENSION); }                  // GCC
    20692068        YY_BREAK
    20702069case 45:
    20712070YY_RULE_SETUP
    2072 #line 214 "lex.ll"
     2071#line 215 "lex.ll"
    20732072{ KEYWORD_RETURN(EXTERN); }
    20742073        YY_BREAK
    20752074case 46:
    20762075YY_RULE_SETUP
    2077 #line 215 "lex.ll"
     2076#line 216 "lex.ll"
    20782077{ KEYWORD_RETURN(FALLTHRU); }                   // CFA
    20792078        YY_BREAK
    20802079case 47:
    20812080YY_RULE_SETUP
    2082 #line 216 "lex.ll"
     2081#line 217 "lex.ll"
    20832082{ KEYWORD_RETURN(FINALLY); }                    // CFA
    20842083        YY_BREAK
    20852084case 48:
    20862085YY_RULE_SETUP
    2087 #line 217 "lex.ll"
     2086#line 218 "lex.ll"
    20882087{ KEYWORD_RETURN(FLOAT); }
    20892088        YY_BREAK
    20902089case 49:
    20912090YY_RULE_SETUP
    2092 #line 218 "lex.ll"
     2091#line 219 "lex.ll"
    20932092{ KEYWORD_RETURN(FLOAT); }                              // GCC
    20942093        YY_BREAK
    20952094case 50:
    20962095YY_RULE_SETUP
    2097 #line 219 "lex.ll"
     2096#line 220 "lex.ll"
    20982097{ KEYWORD_RETURN(FOR); }
    20992098        YY_BREAK
    21002099case 51:
    21012100YY_RULE_SETUP
    2102 #line 220 "lex.ll"
     2101#line 221 "lex.ll"
    21032102{ KEYWORD_RETURN(FORALL); }                             // CFA
    21042103        YY_BREAK
    21052104case 52:
    21062105YY_RULE_SETUP
    2107 #line 221 "lex.ll"
     2106#line 222 "lex.ll"
    21082107{ KEYWORD_RETURN(FORTRAN); }
    21092108        YY_BREAK
    21102109case 53:
    21112110YY_RULE_SETUP
    2112 #line 222 "lex.ll"
     2111#line 223 "lex.ll"
    21132112{ KEYWORD_RETURN(FTYPE); }                              // CFA
    21142113        YY_BREAK
    21152114case 54:
    21162115YY_RULE_SETUP
    2117 #line 223 "lex.ll"
     2116#line 224 "lex.ll"
    21182117{ KEYWORD_RETURN(GENERIC); }                    // C11
    21192118        YY_BREAK
    21202119case 55:
    21212120YY_RULE_SETUP
    2122 #line 224 "lex.ll"
     2121#line 225 "lex.ll"
    21232122{ KEYWORD_RETURN(GOTO); }
    21242123        YY_BREAK
    21252124case 56:
    21262125YY_RULE_SETUP
    2127 #line 225 "lex.ll"
     2126#line 226 "lex.ll"
    21282127{ KEYWORD_RETURN(IF); }
    21292128        YY_BREAK
    21302129case 57:
    21312130YY_RULE_SETUP
    2132 #line 226 "lex.ll"
     2131#line 227 "lex.ll"
    21332132{ KEYWORD_RETURN(IMAGINARY); }                  // C99
    21342133        YY_BREAK
    21352134case 58:
    2136 YY_RULE_SETUP
    2137 #line 227 "lex.ll"
    2138 { KEYWORD_RETURN(IMAGINARY); }                  // GCC
    2139         YY_BREAK
    2140 case 59:
    21412135YY_RULE_SETUP
    21422136#line 228 "lex.ll"
    21432137{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
    21442138        YY_BREAK
     2139case 59:
     2140YY_RULE_SETUP
     2141#line 229 "lex.ll"
     2142{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
     2143        YY_BREAK
    21452144case 60:
    21462145YY_RULE_SETUP
    2147 #line 229 "lex.ll"
     2146#line 230 "lex.ll"
    21482147{ KEYWORD_RETURN(INLINE); }                             // C99
    21492148        YY_BREAK
    21502149case 61:
    2151 YY_RULE_SETUP
    2152 #line 230 "lex.ll"
    2153 { KEYWORD_RETURN(INLINE); }                             // GCC
    2154         YY_BREAK
    2155 case 62:
    21562150YY_RULE_SETUP
    21572151#line 231 "lex.ll"
    21582152{ KEYWORD_RETURN(INLINE); }                             // GCC
    21592153        YY_BREAK
     2154case 62:
     2155YY_RULE_SETUP
     2156#line 232 "lex.ll"
     2157{ KEYWORD_RETURN(INLINE); }                             // GCC
     2158        YY_BREAK
    21602159case 63:
    21612160YY_RULE_SETUP
    2162 #line 232 "lex.ll"
     2161#line 233 "lex.ll"
    21632162{ KEYWORD_RETURN(INT); }
    21642163        YY_BREAK
    21652164case 64:
    21662165YY_RULE_SETUP
    2167 #line 233 "lex.ll"
     2166#line 234 "lex.ll"
    21682167{ KEYWORD_RETURN(INT); }                                // GCC
    21692168        YY_BREAK
    21702169case 65:
    21712170YY_RULE_SETUP
    2172 #line 234 "lex.ll"
     2171#line 235 "lex.ll"
    21732172{ KEYWORD_RETURN(LABEL); }                              // GCC
    21742173        YY_BREAK
    21752174case 66:
    21762175YY_RULE_SETUP
    2177 #line 235 "lex.ll"
     2176#line 236 "lex.ll"
    21782177{ KEYWORD_RETURN(LONG); }
    21792178        YY_BREAK
    21802179case 67:
    21812180YY_RULE_SETUP
    2182 #line 236 "lex.ll"
     2181#line 237 "lex.ll"
    21832182{ KEYWORD_RETURN(LVALUE); }                             // CFA
    21842183        YY_BREAK
    21852184case 68:
    21862185YY_RULE_SETUP
    2187 #line 237 "lex.ll"
     2186#line 238 "lex.ll"
    21882187{ KEYWORD_RETURN(NORETURN); }                   // C11
    21892188        YY_BREAK
    21902189case 69:
    21912190YY_RULE_SETUP
    2192 #line 238 "lex.ll"
     2191#line 239 "lex.ll"
    21932192{ KEYWORD_RETURN(OFFSETOF); }           // GCC
    21942193        YY_BREAK
    21952194case 70:
    21962195YY_RULE_SETUP
    2197 #line 239 "lex.ll"
     2196#line 240 "lex.ll"
    21982197{ KEYWORD_RETURN(OTYPE); }                              // CFA
    21992198        YY_BREAK
    22002199case 71:
    22012200YY_RULE_SETUP
    2202 #line 240 "lex.ll"
     2201#line 241 "lex.ll"
    22032202{ KEYWORD_RETURN(REGISTER); }
    22042203        YY_BREAK
    22052204case 72:
    22062205YY_RULE_SETUP
    2207 #line 241 "lex.ll"
     2206#line 242 "lex.ll"
    22082207{ KEYWORD_RETURN(RESTRICT); }                   // C99
    22092208        YY_BREAK
    22102209case 73:
    2211 YY_RULE_SETUP
    2212 #line 242 "lex.ll"
    2213 { KEYWORD_RETURN(RESTRICT); }                   // GCC
    2214         YY_BREAK
    2215 case 74:
    22162210YY_RULE_SETUP
    22172211#line 243 "lex.ll"
    22182212{ KEYWORD_RETURN(RESTRICT); }                   // GCC
    22192213        YY_BREAK
     2214case 74:
     2215YY_RULE_SETUP
     2216#line 244 "lex.ll"
     2217{ KEYWORD_RETURN(RESTRICT); }                   // GCC
     2218        YY_BREAK
    22202219case 75:
    22212220YY_RULE_SETUP
    2222 #line 244 "lex.ll"
     2221#line 245 "lex.ll"
    22232222{ KEYWORD_RETURN(RETURN); }
    22242223        YY_BREAK
    22252224case 76:
    22262225YY_RULE_SETUP
    2227 #line 245 "lex.ll"
     2226#line 246 "lex.ll"
    22282227{ KEYWORD_RETURN(SHORT); }
    22292228        YY_BREAK
    22302229case 77:
    22312230YY_RULE_SETUP
    2232 #line 246 "lex.ll"
     2231#line 247 "lex.ll"
    22332232{ KEYWORD_RETURN(SIGNED); }
    22342233        YY_BREAK
    22352234case 78:
    2236 YY_RULE_SETUP
    2237 #line 247 "lex.ll"
    2238 { KEYWORD_RETURN(SIGNED); }                             // GCC
    2239         YY_BREAK
    2240 case 79:
    22412235YY_RULE_SETUP
    22422236#line 248 "lex.ll"
    22432237{ KEYWORD_RETURN(SIGNED); }                             // GCC
    22442238        YY_BREAK
     2239case 79:
     2240YY_RULE_SETUP
     2241#line 249 "lex.ll"
     2242{ KEYWORD_RETURN(SIGNED); }                             // GCC
     2243        YY_BREAK
    22452244case 80:
    22462245YY_RULE_SETUP
    2247 #line 249 "lex.ll"
     2246#line 250 "lex.ll"
    22482247{ KEYWORD_RETURN(SIZEOF); }
    22492248        YY_BREAK
    22502249case 81:
    22512250YY_RULE_SETUP
    2252 #line 250 "lex.ll"
     2251#line 251 "lex.ll"
    22532252{ KEYWORD_RETURN(STATIC); }
    22542253        YY_BREAK
    22552254case 82:
    22562255YY_RULE_SETUP
    2257 #line 251 "lex.ll"
     2256#line 252 "lex.ll"
    22582257{ KEYWORD_RETURN(STATICASSERT); }               // C11
    22592258        YY_BREAK
    22602259case 83:
    22612260YY_RULE_SETUP
    2262 #line 252 "lex.ll"
     2261#line 253 "lex.ll"
    22632262{ KEYWORD_RETURN(STRUCT); }
    22642263        YY_BREAK
    22652264case 84:
    22662265YY_RULE_SETUP
    2267 #line 253 "lex.ll"
     2266#line 254 "lex.ll"
    22682267{ KEYWORD_RETURN(SWITCH); }
    22692268        YY_BREAK
    22702269case 85:
    22712270YY_RULE_SETUP
    2272 #line 254 "lex.ll"
     2271#line 255 "lex.ll"
    22732272{ KEYWORD_RETURN(THREADLOCAL); }                // C11
    22742273        YY_BREAK
    22752274case 86:
    22762275YY_RULE_SETUP
    2277 #line 255 "lex.ll"
     2276#line 256 "lex.ll"
    22782277{ KEYWORD_RETURN(THROW); }                              // CFA
    22792278        YY_BREAK
    22802279case 87:
    22812280YY_RULE_SETUP
    2282 #line 256 "lex.ll"
     2281#line 257 "lex.ll"
    22832282{ KEYWORD_RETURN(THROWRESUME); }                // CFA
    22842283        YY_BREAK
    22852284case 88:
    22862285YY_RULE_SETUP
    2287 #line 257 "lex.ll"
     2286#line 258 "lex.ll"
    22882287{ KEYWORD_RETURN(TRAIT); }                              // CFA
    22892288        YY_BREAK
    22902289case 89:
    22912290YY_RULE_SETUP
    2292 #line 258 "lex.ll"
     2291#line 259 "lex.ll"
    22932292{ KEYWORD_RETURN(TRY); }                                // CFA
    22942293        YY_BREAK
    22952294case 90:
    22962295YY_RULE_SETUP
    2297 #line 259 "lex.ll"
     2296#line 260 "lex.ll"
    22982297{ KEYWORD_RETURN(TYPEDEF); }
    22992298        YY_BREAK
    23002299case 91:
    2301 YY_RULE_SETUP
    2302 #line 260 "lex.ll"
    2303 { KEYWORD_RETURN(TYPEOF); }                             // GCC
    2304         YY_BREAK
    2305 case 92:
    23062300YY_RULE_SETUP
    23072301#line 261 "lex.ll"
    23082302{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    23092303        YY_BREAK
    2310 case 93:
     2304case 92:
    23112305YY_RULE_SETUP
    23122306#line 262 "lex.ll"
    23132307{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    23142308        YY_BREAK
     2309case 93:
     2310YY_RULE_SETUP
     2311#line 263 "lex.ll"
     2312{ KEYWORD_RETURN(TYPEOF); }                             // GCC
     2313        YY_BREAK
    23152314case 94:
    23162315YY_RULE_SETUP
    2317 #line 263 "lex.ll"
     2316#line 264 "lex.ll"
    23182317{ KEYWORD_RETURN(UNION); }
    23192318        YY_BREAK
    23202319case 95:
    23212320YY_RULE_SETUP
    2322 #line 264 "lex.ll"
     2321#line 265 "lex.ll"
    23232322{ KEYWORD_RETURN(UNSIGNED); }
    23242323        YY_BREAK
    23252324case 96:
    23262325YY_RULE_SETUP
    2327 #line 265 "lex.ll"
     2326#line 266 "lex.ll"
    23282327{ KEYWORD_RETURN(VALIST); }                     // GCC
    23292328        YY_BREAK
    23302329case 97:
    23312330YY_RULE_SETUP
    2332 #line 266 "lex.ll"
     2331#line 267 "lex.ll"
    23332332{ KEYWORD_RETURN(VOID); }
    23342333        YY_BREAK
    23352334case 98:
    23362335YY_RULE_SETUP
    2337 #line 267 "lex.ll"
     2336#line 268 "lex.ll"
    23382337{ KEYWORD_RETURN(VOLATILE); }
    23392338        YY_BREAK
    23402339case 99:
    2341 YY_RULE_SETUP
    2342 #line 268 "lex.ll"
    2343 { KEYWORD_RETURN(VOLATILE); }                   // GCC
    2344         YY_BREAK
    2345 case 100:
    23462340YY_RULE_SETUP
    23472341#line 269 "lex.ll"
    23482342{ KEYWORD_RETURN(VOLATILE); }                   // GCC
    23492343        YY_BREAK
     2344case 100:
     2345YY_RULE_SETUP
     2346#line 270 "lex.ll"
     2347{ KEYWORD_RETURN(VOLATILE); }                   // GCC
     2348        YY_BREAK
    23502349case 101:
    23512350YY_RULE_SETUP
    2352 #line 270 "lex.ll"
     2351#line 271 "lex.ll"
    23532352{ KEYWORD_RETURN(WHILE); }
    23542353        YY_BREAK
     
    23562355case 102:
    23572356YY_RULE_SETUP
    2358 #line 273 "lex.ll"
     2357#line 274 "lex.ll"
    23592358{ IDENTIFIER_RETURN(); }
    23602359        YY_BREAK
    23612360case 103:
    23622361YY_RULE_SETUP
    2363 #line 274 "lex.ll"
     2362#line 275 "lex.ll"
    23642363{ ATTRIBUTE_RETURN(); }
    23652364        YY_BREAK
    23662365case 104:
    23672366YY_RULE_SETUP
    2368 #line 275 "lex.ll"
     2367#line 276 "lex.ll"
    23692368{ BEGIN BKQUOTE; }
    23702369        YY_BREAK
    23712370case 105:
    23722371YY_RULE_SETUP
    2373 #line 276 "lex.ll"
     2372#line 277 "lex.ll"
    23742373{ IDENTIFIER_RETURN(); }
    23752374        YY_BREAK
    23762375case 106:
    23772376YY_RULE_SETUP
    2378 #line 277 "lex.ll"
     2377#line 278 "lex.ll"
    23792378{ BEGIN 0; }
    23802379        YY_BREAK
     
    23822381case 107:
    23832382YY_RULE_SETUP
    2384 #line 280 "lex.ll"
     2383#line 281 "lex.ll"
    23852384{ NUMERIC_RETURN(ZERO); }                               // CFA
    23862385        YY_BREAK
    23872386case 108:
    23882387YY_RULE_SETUP
    2389 #line 281 "lex.ll"
     2388#line 282 "lex.ll"
    23902389{ NUMERIC_RETURN(ONE); }                                // CFA
    23912390        YY_BREAK
    23922391case 109:
    2393 YY_RULE_SETUP
    2394 #line 282 "lex.ll"
    2395 { NUMERIC_RETURN(INTEGERconstant); }
    2396         YY_BREAK
    2397 case 110:
    23982392YY_RULE_SETUP
    23992393#line 283 "lex.ll"
    24002394{ NUMERIC_RETURN(INTEGERconstant); }
    24012395        YY_BREAK
    2402 case 111:
     2396case 110:
    24032397YY_RULE_SETUP
    24042398#line 284 "lex.ll"
    24052399{ NUMERIC_RETURN(INTEGERconstant); }
    24062400        YY_BREAK
     2401case 111:
     2402YY_RULE_SETUP
     2403#line 285 "lex.ll"
     2404{ NUMERIC_RETURN(INTEGERconstant); }
     2405        YY_BREAK
    24072406case 112:
    2408 YY_RULE_SETUP
    2409 #line 285 "lex.ll"
    2410 { NUMERIC_RETURN(FLOATINGconstant); }
    2411         YY_BREAK
    2412 case 113:
    24132407YY_RULE_SETUP
    24142408#line 286 "lex.ll"
    24152409{ NUMERIC_RETURN(FLOATINGconstant); }
    24162410        YY_BREAK
     2411case 113:
     2412YY_RULE_SETUP
     2413#line 287 "lex.ll"
     2414{ NUMERIC_RETURN(FLOATINGconstant); }
     2415        YY_BREAK
    24172416/* character constant, allows empty value */
    24182417case 114:
    24192418YY_RULE_SETUP
    2420 #line 289 "lex.ll"
     2419#line 290 "lex.ll"
    24212420{ BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    24222421        YY_BREAK
    24232422case 115:
    24242423YY_RULE_SETUP
    2425 #line 290 "lex.ll"
     2424#line 291 "lex.ll"
    24262425{ *strtext += std::string( yytext ); }
    24272426        YY_BREAK
     
    24292428/* rule 116 can match eol */
    24302429YY_RULE_SETUP
    2431 #line 291 "lex.ll"
     2430#line 292 "lex.ll"
    24322431{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); }
    24332432        YY_BREAK
     
    24362435case 117:
    24372436YY_RULE_SETUP
    2438 #line 295 "lex.ll"
     2437#line 296 "lex.ll"
    24392438{ BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    24402439        YY_BREAK
    24412440case 118:
    24422441YY_RULE_SETUP
    2443 #line 296 "lex.ll"
     2442#line 297 "lex.ll"
    24442443{ *strtext += std::string( yytext ); }
    24452444        YY_BREAK
     
    24472446/* rule 119 can match eol */
    24482447YY_RULE_SETUP
    2449 #line 297 "lex.ll"
     2448#line 298 "lex.ll"
    24502449{ BEGIN 0; *strtext += std::string( yytext ); RETURN_STR(STRINGliteral); }
    24512450        YY_BREAK
     
    24542453case 120:
    24552454YY_RULE_SETUP
    2456 #line 301 "lex.ll"
     2455#line 302 "lex.ll"
    24572456{ rm_underscore(); *strtext += std::string( yytext ); }
    24582457        YY_BREAK
     
    24602459/* rule 121 can match eol */
    24612460YY_RULE_SETUP
    2462 #line 302 "lex.ll"
     2461#line 303 "lex.ll"
    24632462{}                                              // continuation (ALSO HANDLED BY CPP)
    24642463        YY_BREAK
    24652464case 122:
    24662465YY_RULE_SETUP
    2467 #line 303 "lex.ll"
     2466#line 304 "lex.ll"
    24682467{ *strtext += std::string( yytext ); } // unknown escape character
    24692468        YY_BREAK
     
    24712470case 123:
    24722471YY_RULE_SETUP
    2473 #line 306 "lex.ll"
    2474 { ASCIIOP_RETURN(); }
    2475         YY_BREAK
    2476 case 124:
    2477 YY_RULE_SETUP
    24782472#line 307 "lex.ll"
    24792473{ ASCIIOP_RETURN(); }
    24802474        YY_BREAK
    2481 case 125:
     2475case 124:
    24822476YY_RULE_SETUP
    24832477#line 308 "lex.ll"
    24842478{ ASCIIOP_RETURN(); }
    24852479        YY_BREAK
    2486 case 126:
     2480case 125:
    24872481YY_RULE_SETUP
    24882482#line 309 "lex.ll"
    24892483{ ASCIIOP_RETURN(); }
    24902484        YY_BREAK
    2491 case 127:
     2485case 126:
    24922486YY_RULE_SETUP
    24932487#line 310 "lex.ll"
    24942488{ ASCIIOP_RETURN(); }
    24952489        YY_BREAK
    2496 case 128:
     2490case 127:
    24972491YY_RULE_SETUP
    24982492#line 311 "lex.ll"
    24992493{ ASCIIOP_RETURN(); }
    25002494        YY_BREAK
     2495case 128:
     2496YY_RULE_SETUP
     2497#line 312 "lex.ll"
     2498{ ASCIIOP_RETURN(); }
     2499        YY_BREAK
    25012500case 129:
    25022501YY_RULE_SETUP
    2503 #line 312 "lex.ll"
     2502#line 313 "lex.ll"
    25042503{ ASCIIOP_RETURN(); }                                   // also operator
    25052504        YY_BREAK
    25062505case 130:
    2507 YY_RULE_SETUP
    2508 #line 313 "lex.ll"
    2509 { ASCIIOP_RETURN(); }
    2510         YY_BREAK
    2511 case 131:
    25122506YY_RULE_SETUP
    25132507#line 314 "lex.ll"
    25142508{ ASCIIOP_RETURN(); }
    25152509        YY_BREAK
     2510case 131:
     2511YY_RULE_SETUP
     2512#line 315 "lex.ll"
     2513{ ASCIIOP_RETURN(); }
     2514        YY_BREAK
    25162515case 132:
    25172516YY_RULE_SETUP
    2518 #line 315 "lex.ll"
     2517#line 316 "lex.ll"
    25192518{ ASCIIOP_RETURN(); }                                   // also operator
    25202519        YY_BREAK
    25212520case 133:
    25222521YY_RULE_SETUP
    2523 #line 316 "lex.ll"
     2522#line 317 "lex.ll"
    25242523{ NAMEDOP_RETURN(ELLIPSIS); }
    25252524        YY_BREAK
     
    25272526case 134:
    25282527YY_RULE_SETUP
    2529 #line 319 "lex.ll"
     2528#line 320 "lex.ll"
    25302529{ RETURN_VAL('['); }
    25312530        YY_BREAK
    25322531case 135:
    25332532YY_RULE_SETUP
    2534 #line 320 "lex.ll"
     2533#line 321 "lex.ll"
    25352534{ RETURN_VAL(']'); }
    25362535        YY_BREAK
    25372536case 136:
    25382537YY_RULE_SETUP
    2539 #line 321 "lex.ll"
     2538#line 322 "lex.ll"
    25402539{ RETURN_VAL('{'); }
    25412540        YY_BREAK
    25422541case 137:
    25432542YY_RULE_SETUP
    2544 #line 322 "lex.ll"
     2543#line 323 "lex.ll"
    25452544{ RETURN_VAL('}'); }
    25462545        YY_BREAK
     
    25482547case 138:
    25492548YY_RULE_SETUP
    2550 #line 325 "lex.ll"
    2551 { ASCIIOP_RETURN(); }
    2552         YY_BREAK
    2553 case 139:
    2554 YY_RULE_SETUP
    25552549#line 326 "lex.ll"
    25562550{ ASCIIOP_RETURN(); }
    25572551        YY_BREAK
    2558 case 140:
     2552case 139:
    25592553YY_RULE_SETUP
    25602554#line 327 "lex.ll"
    25612555{ ASCIIOP_RETURN(); }
    25622556        YY_BREAK
    2563 case 141:
     2557case 140:
    25642558YY_RULE_SETUP
    25652559#line 328 "lex.ll"
    25662560{ ASCIIOP_RETURN(); }
    25672561        YY_BREAK
    2568 case 142:
     2562case 141:
    25692563YY_RULE_SETUP
    25702564#line 329 "lex.ll"
    25712565{ ASCIIOP_RETURN(); }
    25722566        YY_BREAK
    2573 case 143:
     2567case 142:
    25742568YY_RULE_SETUP
    25752569#line 330 "lex.ll"
    25762570{ ASCIIOP_RETURN(); }
    25772571        YY_BREAK
    2578 case 144:
     2572case 143:
    25792573YY_RULE_SETUP
    25802574#line 331 "lex.ll"
    25812575{ ASCIIOP_RETURN(); }
    25822576        YY_BREAK
    2583 case 145:
     2577case 144:
    25842578YY_RULE_SETUP
    25852579#line 332 "lex.ll"
    25862580{ ASCIIOP_RETURN(); }
    25872581        YY_BREAK
    2588 case 146:
     2582case 145:
    25892583YY_RULE_SETUP
    25902584#line 333 "lex.ll"
    25912585{ ASCIIOP_RETURN(); }
    25922586        YY_BREAK
    2593 case 147:
     2587case 146:
    25942588YY_RULE_SETUP
    25952589#line 334 "lex.ll"
    25962590{ ASCIIOP_RETURN(); }
    25972591        YY_BREAK
    2598 case 148:
     2592case 147:
    25992593YY_RULE_SETUP
    26002594#line 335 "lex.ll"
    26012595{ ASCIIOP_RETURN(); }
    26022596        YY_BREAK
    2603 case 149:
     2597case 148:
    26042598YY_RULE_SETUP
    26052599#line 336 "lex.ll"
    26062600{ ASCIIOP_RETURN(); }
    26072601        YY_BREAK
    2608 case 150:
     2602case 149:
    26092603YY_RULE_SETUP
    26102604#line 337 "lex.ll"
    26112605{ ASCIIOP_RETURN(); }
    26122606        YY_BREAK
    2613 case 151:
     2607case 150:
    26142608YY_RULE_SETUP
    26152609#line 338 "lex.ll"
    26162610{ ASCIIOP_RETURN(); }
    26172611        YY_BREAK
     2612case 151:
     2613YY_RULE_SETUP
     2614#line 339 "lex.ll"
     2615{ ASCIIOP_RETURN(); }
     2616        YY_BREAK
    26182617case 152:
    26192618YY_RULE_SETUP
    2620 #line 340 "lex.ll"
     2619#line 341 "lex.ll"
    26212620{ NAMEDOP_RETURN(ICR); }
    26222621        YY_BREAK
    26232622case 153:
    26242623YY_RULE_SETUP
    2625 #line 341 "lex.ll"
     2624#line 342 "lex.ll"
    26262625{ NAMEDOP_RETURN(DECR); }
    26272626        YY_BREAK
    26282627case 154:
    26292628YY_RULE_SETUP
    2630 #line 342 "lex.ll"
     2629#line 343 "lex.ll"
    26312630{ NAMEDOP_RETURN(EQ); }
    26322631        YY_BREAK
    26332632case 155:
    26342633YY_RULE_SETUP
    2635 #line 343 "lex.ll"
     2634#line 344 "lex.ll"
    26362635{ NAMEDOP_RETURN(NE); }
    26372636        YY_BREAK
    26382637case 156:
    26392638YY_RULE_SETUP
    2640 #line 344 "lex.ll"
     2639#line 345 "lex.ll"
    26412640{ NAMEDOP_RETURN(LS); }
    26422641        YY_BREAK
    26432642case 157:
    26442643YY_RULE_SETUP
    2645 #line 345 "lex.ll"
     2644#line 346 "lex.ll"
    26462645{ NAMEDOP_RETURN(RS); }
    26472646        YY_BREAK
    26482647case 158:
    26492648YY_RULE_SETUP
    2650 #line 346 "lex.ll"
     2649#line 347 "lex.ll"
    26512650{ NAMEDOP_RETURN(LE); }
    26522651        YY_BREAK
    26532652case 159:
    26542653YY_RULE_SETUP
    2655 #line 347 "lex.ll"
     2654#line 348 "lex.ll"
    26562655{ NAMEDOP_RETURN(GE); }
    26572656        YY_BREAK
    26582657case 160:
    26592658YY_RULE_SETUP
    2660 #line 348 "lex.ll"
     2659#line 349 "lex.ll"
    26612660{ NAMEDOP_RETURN(ANDAND); }
    26622661        YY_BREAK
    26632662case 161:
    26642663YY_RULE_SETUP
    2665 #line 349 "lex.ll"
     2664#line 350 "lex.ll"
    26662665{ NAMEDOP_RETURN(OROR); }
    26672666        YY_BREAK
    26682667case 162:
    26692668YY_RULE_SETUP
    2670 #line 350 "lex.ll"
     2669#line 351 "lex.ll"
    26712670{ NAMEDOP_RETURN(ARROW); }
    26722671        YY_BREAK
    26732672case 163:
    26742673YY_RULE_SETUP
    2675 #line 351 "lex.ll"
     2674#line 352 "lex.ll"
    26762675{ NAMEDOP_RETURN(PLUSassign); }
    26772676        YY_BREAK
    26782677case 164:
    26792678YY_RULE_SETUP
    2680 #line 352 "lex.ll"
     2679#line 353 "lex.ll"
    26812680{ NAMEDOP_RETURN(MINUSassign); }
    26822681        YY_BREAK
    26832682case 165:
    26842683YY_RULE_SETUP
    2685 #line 353 "lex.ll"
     2684#line 354 "lex.ll"
    26862685{ NAMEDOP_RETURN(MULTassign); }
    26872686        YY_BREAK
    26882687case 166:
    26892688YY_RULE_SETUP
    2690 #line 354 "lex.ll"
     2689#line 355 "lex.ll"
    26912690{ NAMEDOP_RETURN(DIVassign); }
    26922691        YY_BREAK
    26932692case 167:
    26942693YY_RULE_SETUP
    2695 #line 355 "lex.ll"
     2694#line 356 "lex.ll"
    26962695{ NAMEDOP_RETURN(MODassign); }
    26972696        YY_BREAK
    26982697case 168:
    26992698YY_RULE_SETUP
    2700 #line 356 "lex.ll"
     2699#line 357 "lex.ll"
    27012700{ NAMEDOP_RETURN(ANDassign); }
    27022701        YY_BREAK
    27032702case 169:
    27042703YY_RULE_SETUP
    2705 #line 357 "lex.ll"
     2704#line 358 "lex.ll"
    27062705{ NAMEDOP_RETURN(ORassign); }
    27072706        YY_BREAK
    27082707case 170:
    27092708YY_RULE_SETUP
    2710 #line 358 "lex.ll"
     2709#line 359 "lex.ll"
    27112710{ NAMEDOP_RETURN(ERassign); }
    27122711        YY_BREAK
    27132712case 171:
    27142713YY_RULE_SETUP
    2715 #line 359 "lex.ll"
     2714#line 360 "lex.ll"
    27162715{ NAMEDOP_RETURN(LSassign); }
    27172716        YY_BREAK
    27182717case 172:
    27192718YY_RULE_SETUP
    2720 #line 360 "lex.ll"
     2719#line 361 "lex.ll"
    27212720{ NAMEDOP_RETURN(RSassign); }
    27222721        YY_BREAK
    27232722case 173:
    27242723YY_RULE_SETUP
    2725 #line 362 "lex.ll"
     2724#line 363 "lex.ll"
    27262725{ NAMEDOP_RETURN(ATassign); }
    27272726        YY_BREAK
     2727case 174:
     2728YY_RULE_SETUP
     2729#line 364 "lex.ll"
     2730{ NAMEDOP_RETURN(REFassign); }
     2731        YY_BREAK
    27282732/* CFA, operator identifier */
    2729 case 174:
    2730 YY_RULE_SETUP
    2731 #line 365 "lex.ll"
     2733case 175:
     2734YY_RULE_SETUP
     2735#line 367 "lex.ll"
    27322736{ IDENTIFIER_RETURN(); }                                // unary
    27332737        YY_BREAK
    2734 case 175:
    2735 YY_RULE_SETUP
    2736 #line 366 "lex.ll"
     2738case 176:
     2739YY_RULE_SETUP
     2740#line 368 "lex.ll"
    27372741{ IDENTIFIER_RETURN(); }
    27382742        YY_BREAK
    2739 case 176:
    2740 YY_RULE_SETUP
    2741 #line 367 "lex.ll"
     2743case 177:
     2744YY_RULE_SETUP
     2745#line 369 "lex.ll"
    27422746{ IDENTIFIER_RETURN(); }
    27432747        YY_BREAK
    2744 case 177:
    2745 YY_RULE_SETUP
    2746 #line 368 "lex.ll"
     2748case 178:
     2749YY_RULE_SETUP
     2750#line 370 "lex.ll"
    27472751{ IDENTIFIER_RETURN(); }                // binary
    27482752        YY_BREAK
     
    27732777          an argument list.
    27742778        */
    2775 case 178:
    2776 YY_RULE_SETUP
    2777 #line 395 "lex.ll"
     2779case 179:
     2780YY_RULE_SETUP
     2781#line 397 "lex.ll"
    27782782{
    27792783        // 1 or 2 character unary operator ?
     
    27882792        YY_BREAK
    27892793/* unknown characters */
    2790 case 179:
    2791 YY_RULE_SETUP
    2792 #line 407 "lex.ll"
     2794case 180:
     2795YY_RULE_SETUP
     2796#line 409 "lex.ll"
    27932797{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
    27942798        YY_BREAK
    2795 case 180:
    2796 YY_RULE_SETUP
    2797 #line 409 "lex.ll"
     2799case 181:
     2800YY_RULE_SETUP
     2801#line 411 "lex.ll"
    27982802ECHO;
    27992803        YY_BREAK
    2800 #line 2801 "Parser/lex.cc"
     2804#line 2805 "Parser/lex.cc"
    28012805case YY_STATE_EOF(INITIAL):
    28022806case YY_STATE_EOF(COMMENT):
     
    30953099                        {
    30963100                        yy_current_state = (int) yy_def[yy_current_state];
    3097                         if ( yy_current_state >= 888 )
     3101                        if ( yy_current_state >= 889 )
    30983102                                yy_c = yy_meta[(unsigned int) yy_c];
    30993103                        }
     
    31233127                {
    31243128                yy_current_state = (int) yy_def[yy_current_state];
    3125                 if ( yy_current_state >= 888 )
     3129                if ( yy_current_state >= 889 )
    31263130                        yy_c = yy_meta[(unsigned int) yy_c];
    31273131                }
    31283132        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    3129         yy_is_jam = (yy_current_state == 887);
     3133        yy_is_jam = (yy_current_state == 888);
    31303134
    31313135        return yy_is_jam ? 0 : yy_current_state;
     
    37733777#define YYTABLES_NAME "yytables"
    37743778
    3775 #line 409 "lex.ll"
     3779#line 411 "lex.ll"
    37763780
    37773781
Note: See TracChangeset for help on using the changeset viewer.