Changeset 7ee14bb7 for src/Parser/lex.cc


Ignore:
Timestamp:
Jan 21, 2016, 9:25:53 PM (9 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
f3fc8cbe
Parents:
803deb1
Message:

formatting, add missing copy constructor for ConstantNode?, support gcc D (double), LD (long double) and iI (imaginary) constant suffixes, delete old examples

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/lex.cc

    r803deb1 r7ee14bb7  
    391391        flex_int32_t yy_nxt;
    392392        };
    393 static yyconst flex_int16_t yy_accept[852] =
     393static yyconst flex_int16_t yy_accept[864] =
    394394    {   0,
    395395        0,    0,    0,    0,    0,    0,  113,  113,  116,  116,
     
    418418        0,    0,    0,  116,    0,    0,    0,    0,    0,    0,
    419419        0,    0,    0,    0,    0,    0,    0,    0,    0,  131,
    420       110,    0,  110,    0,    0,    6,    0,  108,    0,    0,
    421         0,  110,    0,  108,  108,  108,  108,    0,  109,    0,
    422         0,  107,  107,  107,  107,    0,  169,  170,    0,  175,
    423       173,    0,    0,    0,  101,    0,    0,    0,    0,    0,
    424         0,    0,    0,  100,   17,  100,  100,  100,  100,  100,
     420      110,    0,    0,    0,    0,    0,    0,    6,    0,  108,
     421        0,    0,    0,  110,    0,  108,  108,  108,  108,    0,
     422      109,    0,    0,  107,  107,  107,  107,    0,  169,  170,
     423        0,  175,  173,    0,    0,    0,  101,    0,    0,    0,
     424        0,    0,    0,    0,    0,  100,   17,  100,  100,  100,
    425425      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    426       100,  100,   14,  100,  100,  100,  100,  100,  100,  100,
     426      100,  100,  100,  100,   14,  100,  100,  100,  100,  100,
    427427
    428428      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    429       100,   51,  100,  100,  100,   64,  100,  100,  100,  100,
    430       100,  100,  100,  100,  100,  100,  100,  100,   87,  100,
    431       100,  100,  100,  100,  100,  100,    0,    0,    0,    0,
    432         0,    0,    0,    0,  118,    0,    0,    0,    0,    0,
    433       118,    0,    0,  176,    0,    0,    0,    0,    0,    0,
    434         0,    0,  110,    0,    0,    0,  110,    0,  108,  108,
    435         0,    0,  109,  109,    0,  109,    0,  109,  107,  107,
     429      100,  100,  100,   51,  100,  100,  100,   64,  100,  100,
     430      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
     431       87,  100,  100,  100,  100,  100,  100,  100,    0,    0,
     432        0,    0,    0,    0,    0,    0,  118,    0,    0,    0,
     433        0,    0,  118,    0,    0,  176,    0,    0,    0,    0,
     434        0,    0,    0,  110,  110,    0,  110,    0,    0,    0,
     435        0,    0,  110,    0,  108,  108,    0,    0,  109,  109,
     436        0,  109,    0,  109,  107,  107,    0,    0,    0,    0,
     437        0,    0,    0,    0,    0,    0,  174,  100,  100,  100,
     438
     439      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
     440      100,  100,  100,  100,  100,  100,  100,  100,  100,   21,
     441      100,   24,  100,   27,  100,  100,  100,  100,  100,  100,
     442      100,   42,  100,   44,  100,  100,  100,  100,  100,  100,
     443      100,   56,  100,   67,  100,  100,  100,  100,  100,  100,
     444      100,  100,  100,  100,  100,   88,  100,  100,   95,  100,
     445      100,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     446        0,    0,    0,    0,    0,  118,    0,    0,    0,    0,
     447        0,  110,    0,    0,    0,    0,    0,    0,  109,  109,
     448        0,  111,    0,  109,  109,    0,    0,    0,    0,    0,
     449
     450        0,    0,    0,    0,    0,    0,    0,    0,  100,  100,
     451       22,  100,  100,  100,  100,  100,  100,  100,   15,  100,
     452      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
     453      100,  100,   23,   25,  100,   32,  100,  100,  100,  100,
     454      100,   41,  100,  100,  100,  100,   49,  100,  100,   54,
     455      100,  100,  100,  100,  100,   75,  100,  100,  100,  100,
     456      100,   85,  100,  100,   93,  100,  100,   99,    0,    0,
    436457        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    437       174,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    438 
     458        0,    0,    0,    0,    0,    0,    0,  111,    0,    0,
     459      109,  111,    0,    0,    0,    0,  109,    0,    0,    0,
     460
     461        0,    0,    0,    0,    0,    0,    0,  100,    0,  100,
    439462      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    440       100,  100,  100,   21,  100,   24,  100,   27,  100,  100,
    441       100,  100,  100,  100,  100,   42,  100,   44,  100,  100,
    442       100,  100,  100,  100,  100,   56,  100,   67,  100,  100,
    443       100,  100,  100,  100,  100,  100,  100,  100,  100,   88,
    444       100,  100,   95,  100,  100,    0,    0,    0,    0,    0,
    445         0,    0,    0,    0,    0,    0,    0,    0,    0,  118,
    446         0,    0,    0,    0,    0,  110,    0,    0,    0,    0,
    447         0,    0,  109,  109,    0,  111,    0,  109,  109,    0,
     463      100,  100,  100,  100,   59,  100,  100,  100,  100,  100,
     464      100,  100,  100,   28,  100,  100,  100,  100,   40,   43,
     465       46,  100,  100,   52,  100,   61,   68,  100,  100,   74,
     466       76,   79,   80,   82,   83,  100,  100,   90,  100,  100,
     467        0,    1,    0,    0,    0,    0,    0,    0,  103,    0,
     468        0,    0,  118,    0,    0,    0,    0,  111,    0,  111,
     469      111,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     470        0,    0,  100,  100,   18,  100,  100,  100,  100,  100,
     471
     472      100,  100,   16,  100,  100,   33,  100,  100,  100,  100,
     473      100,  100,  100,  100,  100,  100,  100,   35,  100,   37,
     474       38,  100,   48,   53,  100,  100,  100,   89,  100,  100,
    448475        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    449 
    450         0,    0,  100,  100,   22,  100,  100,  100,  100,  100,
    451       100,  100,   15,  100,  100,  100,  100,  100,  100,  100,
    452       100,  100,  100,  100,  100,  100,   23,   25,  100,   32,
    453       100,  100,  100,  100,  100,   41,  100,  100,  100,  100,
    454        49,  100,  100,   54,  100,  100,  100,  100,  100,   75,
    455       100,  100,  100,  100,  100,   85,  100,  100,   93,  100,
    456       100,   99,    0,    0,    0,    0,    0,    0,    0,    0,
    457         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    458         0,  111,    0,    0,  109,  111,  111,    0,  109,    0,
    459         0,    0,    0,    0,    0,    0,    0,    0,    0,  100,
    460 
    461         0,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    462       100,  100,  100,  100,  100,  100,   59,  100,  100,  100,
    463       100,  100,  100,  100,  100,   28,  100,  100,  100,  100,
    464        40,   43,   46,  100,  100,   52,  100,   61,   68,  100,
    465       100,   74,   76,   79,   80,   82,   83,  100,  100,   90,
    466       100,  100,    0,    1,    0,    0,    0,    0,    0,    0,
    467       103,    0,    0,    0,  118,    0,    0,    0,    0,  111,
    468         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    469       100,  100,   18,  100,  100,  100,  100,  100,  100,  100,
    470        16,  100,  100,   33,  100,  100,  100,  100,  100,  100,
    471 
    472       100,  100,  100,  100,  100,   35,  100,   37,   38,  100,
    473        48,   53,  100,  100,  100,   89,  100,  100,    0,    0,
    474         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    475         0,   10,   11,   29,   55,  100,  100,  100,  100,  100,
    476       100,  100,  100,  100,  100,   60,   62,   65,  100,  100,
    477        77,   91,  100,  100,   36,   47,   70,   71,  100,   94,
    478        96,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    479         0,    0,    0,  100,   69,  100,  100,   12,  100,   30,
    480        34,  100,  100,  100,   66,  100,  100,  100,  100,  100,
    481       100,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    482 
    483         0,    0,    0,    0,   58,  100,  100,  100,  100,  100,
    484       100,   50,   63,   72,   78,   92,   97,  100,  100,    0,
    485         0,    0,    0,    0,    0,    0,    0,  100,  100,   13,
    486        19,   31,  100,  100,  100,   26,   86,    0,    0,  100,
    487       100,  100,  100,   73,   98,  100,   84,   20,   45,   81,
    488         0
     476        0,    0,    0,   10,   11,   29,   55,  100,  100,  100,
     477      100,  100,  100,  100,  100,  100,  100,   60,   62,   65,
     478      100,  100,   77,   91,  100,  100,   36,   47,   70,   71,
     479      100,   94,   96,    0,    0,    0,    0,    0,    0,    0,
     480        0,    0,    0,    0,    0,  100,   69,  100,  100,   12,
     481      100,   30,   34,  100,  100,  100,   66,  100,  100,  100,
     482
     483      100,  100,  100,    0,    0,    0,    0,    0,    0,    0,
     484        0,    0,    0,    0,    0,    0,   58,  100,  100,  100,
     485      100,  100,  100,   50,   63,   72,   78,   92,   97,  100,
     486      100,    0,    0,    0,    0,    0,    0,    0,    0,  100,
     487      100,   13,   19,   31,  100,  100,  100,   26,   86,    0,
     488        0,  100,  100,  100,  100,   73,   98,  100,   84,   20,
     489       45,   81,    0
    489490    } ;
    490491
     
    497498       16,   17,   18,   19,   20,   21,   22,   23,   24,   25,
    498499       26,   26,   26,   26,   26,   27,   28,   29,   30,   31,
    499        32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
    500        42,   11,   43,   11,   11,   44,   11,   45,   11,   46,
    501        11,   47,   48,   49,   50,   11,   11,   51,   11,   11,
    502        52,   53,   54,   55,   56,   57,   58,   59,   60,   61,
    503 
    504        62,   63,   64,   65,   66,   11,   67,   68,   69,   70,
    505        71,   72,   11,   73,   74,   75,   76,   77,   78,   79,
    506        80,   81,   82,   83,   84,   85,    1,    1,    1,    1,
     500       32,   33,   34,   35,   36,   37,   38,   39,   40,   39,
     501       41,   11,   42,   11,   11,   43,   11,   44,   11,   45,
     502       11,   46,   47,   48,   49,   11,   11,   50,   11,   11,
     503       51,   52,   53,   54,   55,   56,   57,   58,   59,   60,
     504
     505       61,   62,   63,   64,   65,   11,   66,   67,   68,   69,
     506       70,   71,   11,   72,   73,   74,   75,   76,   77,   78,
     507       79,   80,   81,   82,   83,   84,    1,    1,    1,    1,
    507508        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    508509        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    521522    } ;
    522523
    523 static yyconst flex_int32_t yy_meta[86] =
     524static yyconst flex_int32_t yy_meta[85] =
    524525    {   0,
    525526        1,    1,    2,    1,    1,    1,    1,    1,    3,    1,
     
    527528        6,    1,    7,    7,    7,    7,    7,    7,    1,    1,
    528529        1,    8,    1,    1,    1,    9,    9,    9,    9,    9,
    529         9,    4,    4,   10,    4,   11,    4,    4,    4,   10,
    530         4,    1,   12,    1,    1,   13,    1,    9,    9,    9,
    531         9,    9,    9,    4,    4,    4,    4,   10,    4,    4,
    532         4,   11,    4,    4,    4,   10,    4,    4,    4,    4,
    533         4,    1,    1,    1,    1
     530        4,    4,   10,    4,   11,    4,    4,    4,   10,    4,
     531        1,   12,    1,    1,   13,    1,    9,    9,    9,    9,
     532        9,    9,    4,    4,    4,    4,   10,    4,    4,    4,
     533       11,    4,    4,    4,   10,    4,    4,    4,    4,    4,
     534        1,    1,    1,    1
    534535    } ;
    535536
    536 static yyconst flex_int16_t yy_base[1025] =
     537static yyconst flex_int16_t yy_base[1039] =
    537538    {   0,
    538         0,   84, 2247, 2245,   94,    0,  177,  178,  179,  180,
    539      2259, 2762,  191, 2762,  197,   55, 2762, 2203,   60,  173,
    540      2762, 2762, 2762,   56,  188, 2762,  191,  189,  204,  216,
    541       275,    0, 2222, 2762,  216, 2222,  152,  344,  155,  220,
    542      2762,  159, 2762,  217,  226, 2762,  185,  154,  212,  251,
    543       237,  270,  235,  257,  241,  193,  305,  314,  333,  238,
    544       228, 2762,  225, 2762, 2218,  402,  390, 2762, 2227, 2762,
    545      2193,  204, 2762,    0, 2762,  426,    0, 2762,  417, 2762,
    546       439,  451, 2762,  498, 2192,  235, 2762, 2762, 2762, 2762,
    547      2762, 2210, 2762, 2208, 2762, 2762, 2218,  559, 2762, 2235,
    548 
    549      2762,  605,  413,  498,  516,  289,  253,  197,  293,  305,
    550         0,  319,  280,  231,  334, 2762, 2762, 2762, 2205, 2762,
    551      2762, 2762, 2203, 2200,  298,  356, 2213,  366,  429,  439,
    552       398,  434,  438,  448, 2194,  443, 2143,  459, 2172, 2762,
    553       335, 2762, 2762,  495, 2166, 2163, 2762, 2136,  460,  282,
    554       297,  329,  409,  437,  442,  281,  503,  414,  474,  372,
    555       484,  493,  378,  434,  433,  325,  494,  459,  499,  492,
    556       502,  509,  461,  301,  515,  535, 2164,  536,  520,  538,
    557       544,  541,  545,  567,  539,  421,  554,  563,  597,  570,
    558       571,  548, 2762, 2762,  652,  662, 2212,  668, 2762,  674,
    559 
    560      2762, 2159,  567, 2153, 2152,    0,  645, 2762, 2762,  680,
    561      2151, 2149, 2146,    0, 2167,  466,  640,  646,  689,  688,
    562       650,  678,  679,  682, 2164,  685,  692, 2141, 2139, 2762,
    563       714,  707, 2762, 2136, 2186, 2762,  703,    0,  697,  760,
    564       766,  779,  801,  696, 2762, 2144, 2119,    0,  787, 2164,
    565       825,  698, 2762, 2138, 2111,  841, 2762, 2762, 2144, 2762,
    566      2762,  717,  718, 2123, 2122,  719, 2099, 2097, 2096,    0,
    567      2093,    0, 2062,  585,  589,  704,  610,  675,  703,  540,
    568       706,  707,  743,  726,  720,  745,  787,  709,  748,  715,
    569       756,  759, 2092,  761,  781,  792,  817,  785,  791,  808,
    570 
    571       788,  818,  819,  807,  822,  821,  820,  832,  833,  834,
    572       835,  837,  838,  843,  845, 2091,  276,  847,  850,  846,
    573       849,  851,  852,  855,  853,  854,  856,  865, 2089,  867,
    574       904,  866,  873,  197,  874,  870,  938,  939, 2083, 2080,
    575      2079,    0, 2078,    0,  926,  930, 2076,    0, 2073,    0,
    576      2070,    0, 2091, 2762,  901,  912, 2070, 2066,    0, 2063,
    577         0,  935,  942,  953,  964,  976,  989,  998, 2762, 2762,
    578       939,  962, 1014,  987, 1023,  928, 1041, 1005, 2762, 2762,
    579      2060, 2059, 2058,    0, 2056,    0, 2053,    0, 2052,    0,
    580      2762,  911,  940,  976,  966,  881, 1003,  944, 1000,  974,
    581 
    582       941, 1015, 1018, 1019, 1021, 1006, 1025, 1027, 1039, 1041,
    583      1012, 1046, 1048, 2054, 1047, 2052,  975, 2049, 1050, 1051,
    584      1057, 1052, 1053, 1054, 1058, 2048, 1068, 2047, 1072, 1055,
    585      1074, 1076, 1078, 1079, 1081, 2045, 1080, 2042, 1082, 1085,
    586      1084, 1087, 1086, 1091, 1094, 1088, 1095, 1096,  588, 1109,
    587      1111, 1110, 2038, 1113, 1114, 1166, 2031,    0, 2029,    0,
    588      2027,    0, 2024,    0, 1159, 2022,    0, 2020,    0, 2017,
    589      2014, 2013,    0, 2012,    0, 1166, 1172, 1218, 1131, 1229,
    590      1155, 1132, 1129, 2762, 1235, 1242, 1253, 2022, 1995, 2004,
    591      2003,    0, 2002,    0, 2000,    0, 1997,    0, 1994,    0,
    592 
    593      1993,    0, 1149, 1120, 1995, 1153, 1159, 1164, 1156, 1167,
    594      1165, 1161,  233, 1211, 1219, 1162, 1186, 1229, 1173, 1185,
    595       166, 1235, 1236, 1222, 1237, 1242, 1993, 1249, 1241, 1990,
    596      1171, 1248, 1240, 1251, 1253, 1987, 1254, 1256, 1259, 1260,
    597      1986, 1261, 1264, 1985, 1268, 1270, 1267, 1272, 1274, 1983,
    598      1278,  921, 1280, 1281, 1282, 1290, 1283, 1288, 1980, 1293,
    599      1295, 1977, 2026, 1972,    0, 1970,    0, 1967,    0, 1964,
    600         0, 1963,    0, 1962,    0, 1960,    0, 1957,    0, 1341,
    601      1347, 1354, 1365, 1954, 2762, 1377, 2762, 1388, 2762, 1953,
    602         0, 1952,    0, 1950,    0, 1947,    0,    0,    0, 1949,
    603 
    604         0, 1366, 1297, 1296, 1333, 1306, 1331, 1300, 1301, 1353,
    605      1115, 1343, 1367, 1355, 1372, 1373, 1299, 1383, 1402, 1375,
    606      1381, 1385, 1378, 1386, 1388, 1948, 1393, 1399, 1404, 1405,
    607      1946, 1943, 1942, 1407, 1406, 1941, 1411, 1939, 1906, 1409,
    608      1334, 1904, 1903, 1900, 1897, 1896, 1895, 1410, 1413, 1893,
    609      1412, 1416, 1940, 2762, 1884,    0, 1883,    0,    0,    0,
    610      1885,    0,    0,    0, 2762,    0,    0,    0,    0, 1464,
    611      1470, 1516, 1880,    0, 1877,    0,    0,    0,    0, 1876,
    612      1425, 1420, 1878, 1424, 1447, 1448, 1429, 1456, 1457, 1451,
    613      1876, 1462, 1463, 1475, 1471, 1493, 1481, 1494, 1496, 1495,
    614 
    615      1497, 1499, 1466, 1500, 1483, 1873, 1502, 1872, 1871, 1482,
    616      1869, 1866, 1501, 1506, 1508, 1862, 1509, 1514,    0,    0,
    617      1855, 1851, 1835, 1834, 1560,    0, 1833, 1831, 1828, 1827,
    618      1826, 1827, 1824, 1823, 1822, 1516, 1520, 1522, 1417, 1515,
    619      1518, 1512, 1539, 1540, 1552, 1820, 1543, 1817, 1544, 1548,
    620      1551, 1556, 1545, 1526, 1816, 1815, 1813, 1810, 1550, 1809,
    621      1808, 1803, 1800, 1799, 1798, 1796, 1793, 1792, 1791, 1789,
    622      1786, 1785, 1784, 1557, 1785, 1558, 1562, 1561, 1565, 1566,
    623      1782, 1567, 1594, 1571, 1781, 1570, 1572, 1578, 1577, 1582,
    624      1583, 1777, 1775, 1768, 1766, 1765, 1762, 1761, 1760, 1758,
    625 
    626      1741, 1732, 1731, 1728, 1724, 1576, 1588, 1590, 1591, 1601,
    627      1589, 1721, 1714, 1602, 1712, 1711, 1607, 1603, 1608, 1687,
    628      1686, 1685, 1678, 1676, 1675, 1633, 1632, 1609, 1611, 1632,
    629      1619, 1626, 1620, 1621, 1625, 1596, 1477, 1462, 1152, 1613,
    630      1614, 1627, 1631, 1119, 1016, 1615,  762,  725,  676,  549,
    631      2762, 1690, 1703, 1716, 1726, 1736, 1749, 1759, 1772, 1785,
    632      1798, 1806, 1816, 1823, 1830, 1837, 1844, 1851, 1858, 1865,
    633      1872, 1879, 1892, 1899, 1903, 1911, 1914, 1921, 1928, 1935,
    634      1938, 1945, 1951, 1964, 1977, 1984, 1991, 1998, 2005, 2008,
    635      2015, 2018, 2025, 2028, 2035, 2038, 2045, 2048, 2055, 2058,
    636 
    637      2065, 2068, 2075, 2083, 2090, 2097, 2104, 2111, 2114, 2121,
    638      2124, 2131, 2134, 2141, 2147, 2160, 2167, 2174, 2177, 2184,
    639      2187, 2194, 2197, 2204, 2207, 2214, 2217, 2224, 2227, 2234,
    640      2241, 2244, 2251, 2254, 2261, 2268, 2275, 2278, 2285, 2288,
    641      2295, 2298, 2305, 2308, 2315, 2318, 2325, 2331, 2344, 2351,
    642      2358, 2361, 2368, 2371, 2378, 2381, 2388, 2391, 2398, 2401,
    643      2408, 2411, 2418, 2421, 2428, 2431, 2438, 2445, 2448, 2455,
    644      2458, 2465, 2468, 2475, 2478, 2481, 2487, 2494, 2503, 2510,
    645      2517, 2520, 2527, 2530, 2533, 2539, 2546, 2549, 2552, 2555,
    646      2558, 2561, 2564, 2567, 2574, 2577, 2584, 2587, 2590, 2593,
    647 
    648      2596, 2606, 2613, 2616, 2619, 2626, 2633, 2640, 2643, 2650,
    649      2657, 2664, 2671, 2678, 2685, 2692, 2699, 2706, 2713, 2720,
    650      2727, 2734, 2741, 2748
     539        0,   83, 2269, 2268,   93,    0,  175,  176,  177,  178,
     540     2283, 2863,  189, 2863,  195,   54, 2863, 2228,   59,  171,
     541     2863, 2863, 2863,   55,  186, 2863,  189,  187,  202,  214,
     542      272,    0, 2244, 2863,  214, 2244,  150,  340,  153,  222,
     543     2863,  157, 2863,  215,  224, 2863,  207,  181,  221,  249,
     544      235,  289,  155,  255,  218,  206,  266,  256,  323,  259,
     545      192, 2863,  223, 2863, 2241,  377,  342, 2863, 2251, 2863,
     546     2201,  234, 2863,    0, 2863,  421,    0, 2863,  393, 2863,
     547      399,  405, 2863,  492, 2199,  241, 2863, 2863, 2863, 2863,
     548     2863, 2216, 2863, 2213, 2863, 2863, 2223,  552, 2863, 2240,
     549
     550     2863,  413,  393,  437,  493,  377,  318,  195,  430,  382,
     551        0,  384,  321,  196,  427, 2863, 2863, 2863, 2210, 2863,
     552     2863, 2863, 2208, 2205,  252,  302, 2218,  342,  435,  422,
     553      381,  455,  400,  494, 2199,  440, 2149,  469, 2178, 2863,
     554      276, 2863, 2863,  520, 2172, 2169, 2863, 2142,  414,  463,
     555      470,  325,  254,  479,  432,  274,  480,  423,  483,  498,
     556      492,  503,  499,  509,  341,  455,  484,  377,  510,  512,
     557      517,  518,  529,  486,  530,  531, 2170,  536,  537,  541,
     558      548,  538,  552,  544,  566,  568,  545,  571,  593,  573,
     559      574,  578, 2863, 2863,  647,  653, 2217,  659, 2863,  665,
     560
     561     2863, 2165,  584, 2159, 2158,    0,  662, 2863, 2863,  671,
     562     2157, 2155, 2152,    0, 2174,  595,  602,  603,  680,  679,
     563      639,  669,  670,  673, 2171,  676,  683, 2148, 2145, 2863,
     564        0,  676,  704,  677,  696,  739, 2196, 2863,  708,  729,
     565      654,  762,  784,  801,  827,  595, 2863, 2155, 2129,    0,
     566      815, 2172,  807,  674, 2863, 2146, 2118,  848, 2863, 2863,
     567     2149, 2863, 2863,  702,  708, 2128, 2126,  696, 2121, 2119,
     568     2116,    0, 2113,    0, 2084,  681,  721,  722,  595,  708,
     569      724,  731,  741,  743,  825,  744,  761,  705,  752,  785,
     570      796,  753,  767,  789, 2114,  797,  826,  827,  828,  813,
     571
     572      832,  837,  839,  843,  764,  841,  845,  849,  852,  853,
     573      842,  856,  864,  865,  863,  866,  867, 2112,  872,  871,
     574      875,  873,  874,  876,  728,  881,  877,  878,  885,  891,
     575     2109,  889,  829,  892,  893,  894,  900,  903,  962,  957,
     576     2103, 2102, 2101,    0, 2099,    0,  949,  953, 2096,    0,
     577     2093,    0, 2092,    0, 2112, 2863,  948,  949, 2091, 2086,
     578        0, 2083,    0, 2863, 2863,  961,  982,  972,  924,  954,
     579     1003, 1027, 1036, 1042, 2863, 2863,  967,  968, 1050,  968,
     580     1088,  951, 1075,  966, 2863, 2863, 2082, 2081, 2079,    0,
     581     2076,    0, 2073,    0, 2072,    0, 2863,  982,  951,  968,
     582
     583     1004,  996, 1020, 1025, 1024, 1026, 1027, 1021, 1036, 1032,
     584     1055, 1067,  911, 1071,  988, 1074, 1070, 1080, 1082, 2074,
     585     1028, 2072, 1075, 2069, 1079, 1083, 1101, 1084, 1096, 1088,
     586     1104, 2066, 1106, 2065, 1089, 1108, 1111, 1112, 1116, 1115,
     587     1118, 2064, 1119, 2062, 1117, 1120, 1122, 1123, 1124, 1128,
     588     1129, 1038, 1125, 1138,  879, 1144, 1133, 1148, 2059, 1139,
     589     1149, 1200, 2053,    0, 2052,    0, 2051,    0, 2049,    0,
     590     1182, 2046,    0, 2045,    0, 2044, 2042, 2039,    0, 2038,
     591        0, 1192, 1198, 1243, 1184, 1254, 1185, 1167, 1187, 2863,
     592     1260, 1287, 1276, 2049, 2023, 2002, 2000,    0, 1999,    0,
     593
     594     1996,    0, 1993,    0, 1992,    0, 1991,    0, 1175, 1180,
     595     1992, 1176, 1221, 1181, 1190, 1196, 1238, 1245, 1237, 1253,
     596     1264, 1254, 1267, 1265, 1255, 1198, 1296, 1271, 1269, 1272,
     597     1279, 1281, 1989, 1293, 1285, 1986, 1197, 1282, 1224, 1292,
     598     1301, 1985, 1303, 1298, 1304, 1305, 1984, 1306, 1308, 1982,
     599     1309, 1314, 1311, 1317, 1319, 1979, 1324, 1325, 1322, 1326,
     600     1327, 1334, 1331, 1337, 1978, 1338, 1341, 1977, 2024, 1969,
     601        0, 1968,    0, 1967,    0, 1965,    0, 1958,    0, 1956,
     602        0, 1955,    0, 1952,    0, 1385, 1391, 1418, 1402, 1948,
     603     2863, 1408, 1405, 1415, 1414, 1463, 2863, 1944,    0, 1940,
     604
     605        0, 1924,    0, 1923,    0,    0,    0, 1925,    0, 1398,
     606     1342, 1343, 1372, 1369, 1387, 1344, 1345, 1397, 1412, 1400,
     607     1417, 1407, 1440, 1419, 1442, 1443, 1474, 1444, 1448, 1446,
     608     1449, 1453, 1452, 1923, 1458, 1456, 1462, 1463, 1920, 1919,
     609     1918, 1465, 1464, 1916, 1469, 1913, 1912, 1481, 1470, 1911,
     610     1909, 1906, 1905, 1904, 1902, 1483, 1487, 1899, 1489, 1488,
     611     1947, 2863, 1894,    0, 1892,    0,    0,    0, 1892,    0,
     612        0,    0, 2863,    0,    0,    0,    0, 1533, 1539, 2863,
     613     2863, 1485, 1508, 1584, 1888,    0, 1887,    0,    0,    0,
     614        0, 1885, 1350, 1517, 1885, 1493, 1494, 1528, 1482, 1496,
     615
     616     1522, 1521, 1884, 1529, 1531, 1534, 1532, 1566, 1561, 1562,
     617     1569, 1565, 1550, 1567, 1570, 1572, 1552, 1883, 1574, 1881,
     618     1878, 1576, 1877, 1876, 1577, 1578, 1581, 1874, 1582, 1579,
     619        0,    0,    0, 1868, 1867, 1866, 1620,    0, 1864, 1857,
     620     1855, 1854, 1851, 1853, 1852, 1850, 1833, 1584, 1586, 1601,
     621     1598, 1605, 1589, 1607, 1608, 1609, 1637, 1824, 1614, 1823,
     622     1616, 1618, 1621, 1626, 1620, 1627, 1820, 1813, 1810, 1803,
     623     1628, 1801, 1800, 1776, 1775, 1774, 1767, 1765, 1764, 1722,
     624     1721, 1720, 1719, 1718, 1717, 1630, 1719, 1631, 1636, 1638,
     625     1634, 1639, 1718, 1640, 1668, 1644, 1717, 1645, 1646, 1659,
     626
     627     1655, 1076, 1632, 1713, 1712, 1711, 1710, 1709, 1708, 1707,
     628     1706, 1705, 1704, 1703, 1702, 1658, 1551, 1653, 1663, 1666,
     629     1671, 1672, 1660, 1545, 1451, 1673, 1399, 1346, 1678, 1679,
     630     1682, 1281, 1196, 1019,  981,  977,  947,  946,  814, 1683,
     631     1684,  673, 1687,  669, 1693, 1694, 1695,  606,  576,  370,
     632      335, 1665, 1686, 1699, 1700,  337,  290, 1704,  251,  200,
     633      196,  136, 2863, 1778, 1791, 1804, 1814, 1824, 1837, 1847,
     634     1860, 1873, 1886, 1894, 1904, 1911, 1918, 1925, 1932, 1939,
     635     1946, 1953, 1960, 1967, 1980, 1987, 1991, 1999, 2005, 2012,
     636     2019, 2026, 2033, 2036, 2043, 2049, 2062, 2075, 2082, 2089,
     637
     638     2096, 2103, 2106, 2113, 2116, 2123, 2126, 2133, 2136, 2143,
     639     2146, 2153, 2156, 2163, 2166, 2173, 2181, 2188, 2195, 2202,
     640     2209, 2212, 2219, 2222, 2229, 2232, 2239, 2245, 2258, 2265,
     641     2272, 2275, 2282, 2285, 2292, 2295, 2302, 2305, 2312, 2315,
     642     2322, 2325, 2332, 2339, 2342, 2349, 2352, 2359, 2366, 2373,
     643     2376, 2383, 2386, 2393, 2396, 2403, 2406, 2413, 2416, 2423,
     644     2429, 2442, 2449, 2456, 2459, 2466, 2469, 2476, 2479, 2486,
     645     2489, 2496, 2499, 2506, 2509, 2516, 2519, 2526, 2529, 2536,
     646     2543, 2546, 2553, 2556, 2563, 2566, 2573, 2576, 2579, 2585,
     647     2592, 2601, 2608, 2615, 2618, 2625, 2628, 2631, 2637, 2644,
     648
     649     2647, 2650, 2653, 2656, 2659, 2662, 2665, 2672, 2675, 2682,
     650     2685, 2688, 2691, 2694, 2704, 2711, 2714, 2717, 2720, 2727,
     651     2734, 2741, 2744, 2751, 2758, 2765, 2772, 2779, 2786, 2793,
     652     2800, 2807, 2814, 2821, 2828, 2835, 2842, 2849
    651653    } ;
    652654
    653 static yyconst flex_int16_t yy_def[1025] =
     655static yyconst flex_int16_t yy_def[1039] =
    654656    {   0,
    655       851,    1,  852,  852,  851,    5,  853,  853,  854,  854,
    656       851,  851,  851,  851,  851,  851,  851,  855,  851,  851,
    657       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    658       851,   31,  851,  851,  851,  851,  851,  851,  856,  855,
    659       851,  851,  851,  851,  855,  851,  855,  855,  855,  855,
    660       855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
    661       855,  851,  851,  851,  851,  851,  857,  851,  851,  851,
    662       858,  851,  851,  859,  851,  851,  860,  851,  851,  851,
    663       851,  851,  851,  851,  855,  851,  851,  851,  851,  851,
    664       851,  851,  851,  851,  851,  851,  851,  851,  851,  861,
    665 
    666       851,  851,   30,  851,  851,  851,  851,  862,   30,  851,
    667        31,  851,  851,   31,  851,  851,  851,  851,  851,  851,
    668       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    669       851,  851,  851,  851,  851,  851,  851,  851,  863,  851,
    670       851,  851,  851,  855,  864,  865,  851,  851,  855,  855,
    671       855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
    672       855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
    673       855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
    674       855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
    675       855,  855,  851,  851,  851,  857,  857,  857,  851,  857,
    676 
    677       851,  858,  851,  866,  867,  859,  851,  851,  851,  851,
    678       868,  869,  870,  860,  851,  851,  851,  851,  851,  851,
    679       851,  851,  851,  851,  851,  851,  851,  871,  872,  851,
    680       851,  851,  851,  231,  873,  851,  851,  103,  103,  851,
    681       851,  851,  851,  851,  851,  851,  851,  874,  875,  876,
    682       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    683       851,  851,  851,  851,  863,  851,  877,  878,  879,  880,
    684       881,  882,  851,  883,  883,  883,  883,  883,  883,  883,
    685       883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
    686       883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
    687 
    688       883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
    689       883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
    690       883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
    691       883,  883,  883,  883,  883,  883,  884,  885,  886,  887,
    692       888,  889,  890,  891,  851,  851,  892,  893,  894,  895,
    693       896,  897,  851,  851,  851,  851,  851,  898,  899,  900,
    694       901,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    695       902,  903,  904,  851,  851,  851,  904,  851,  851,  851,
    696       905,  906,  907,  908,  909,  910,  911,  912,  913,  914,
    697       851,  915,  915,  915,  915,  915,  915,  915,  915,  915,
    698 
    699       915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
    700       915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
    701       915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
    702       915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
    703       915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
    704       915,  915,  915,  915,  915,  916,  917,  918,  919,  920,
    705       921,  922,  923,  924,  851,  925,  926,  927,  928,  929,
    706       929,  930,  931,  932,  933,  851,  851,  851,  934,  851,
    707       934,  851,  851,  851,  851,  851,  851,  851,  851,  935,
    708       936,  937,  938,  939,  940,  941,  942,  943,  944,  945,
    709 
    710       946,  947,  948,  948,  948,  948,  948,  948,  948,  948,
    711       948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
    712       948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
    713       948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
    714       948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
    715       948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
    716       948,  948,  949,  950,  951,  952,  953,  954,  955,  956,
    717       957,  958,  959,  960,  961,  962,  963,  964,  965,  851,
    718       851,  851,  851,  966,  851,  851,  851,  851,  851,  967,
    719       968,  969,  970,  971,  972,  973,  974,  975,  976,  977,
    720 
    721       978,  977,  977,  977,  977,  977,  977,  977,  977,  977,
    722       977,  977,  977,  977,  977,  977,  977,  977,  977,  977,
    723       977,  977,  977,  977,  977,  977,  977,  977,  977,  977,
    724       977,  977,  977,  977,  977,  977,  977,  977,  977,  977,
    725       977,  977,  977,  977,  977,  977,  977,  977,  977,  977,
    726       977,  977,  979,  851,  980,  981,  982,  983,  984,  985,
    727       986,  987,  988,  989,  851,  990,  991,  992,  993,  851,
    728       851,  851,  994,  995,  996,  997,  998,  999, 1000, 1001,
    729      1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
    730      1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
    731 
    732      1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
    733      1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1003, 1004,
    734       982, 1005, 1006, 1007,  851, 1008,  994,  996, 1009, 1010,
    735      1001, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
    736      1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
    737      1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
    738      1002, 1011, 1012, 1005, 1013, 1006, 1014, 1007, 1015, 1016,
    739      1009, 1017, 1010, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
    740      1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
    741      1002, 1018, 1011, 1019, 1012, 1020, 1013, 1021, 1014, 1022,
    742 
    743      1015, 1023, 1016, 1017, 1002, 1002, 1002, 1002, 1002, 1002,
    744      1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1024,
    745      1018, 1019, 1020, 1021,  996, 1022, 1023, 1002, 1002, 1002,
    746      1002, 1002, 1002, 1002, 1002, 1002, 1002, 1024,  996, 1002,
    747      1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
    748         0,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    749       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    750       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    751       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    752       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    753 
    754       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    755       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    756       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    757       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    758       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    759       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    760       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    761       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    762       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    763       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    764 
    765       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    766       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    767       851,  851,  851,  851
     657      863,    1,  864,  864,  863,    5,  865,  865,  866,  866,
     658      863,  863,  863,  863,  863,  863,  863,  867,  863,  863,
     659      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     660      863,   31,  863,  863,  863,  863,  863,  863,  868,  867,
     661      863,  863,  863,  863,  867,  863,  867,  867,  867,  867,
     662      867,  867,  867,  867,  867,  867,  867,  867,  867,  867,
     663      867,  863,  863,  863,  863,  863,  869,  863,  863,  863,
     664      870,  863,  863,  871,  863,  863,  872,  863,  863,  863,
     665      863,  863,  863,  863,  867,  863,  863,  863,  863,  863,
     666      863,  863,  863,  863,  863,  863,  863,  863,  863,  873,
     667
     668      863,   98,   30,  863,  863,  863,  863,  874,   30,  863,
     669       31,  863,  863,   31,  863,  863,  863,  863,  863,  863,
     670      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     671      863,  863,  863,  863,  863,  863,  863,  863,  875,  863,
     672      863,  863,  863,  867,  876,  877,  863,  863,  867,  867,
     673      867,  867,  867,  867,  867,  867,  867,  867,  867,  867,
     674      867,  867,  867,  867,  867,  867,  867,  867,  867,  867,
     675      867,  867,  867,  867,  867,  867,  867,  867,  867,  867,
     676      867,  867,  867,  867,  867,  867,  867,  867,  867,  867,
     677      867,  867,  863,  863,  863,  869,  869,  869,  863,  869,
     678
     679      863,  870,  863,  878,  879,  871,  863,  863,  863,  863,
     680      880,  881,  882,  872,  863,  863,  863,  863,  863,  863,
     681      863,  863,  863,  863,  863,  863,  863,  883,  884,  863,
     682       98,  863,  863,  863,  863,  863,  885,  863,  863,  109,
     683      240,  863,  863,  863,  863,  863,  863,  863,  863,  886,
     684      887,  888,  863,  863,  863,  863,  863,  863,  863,  863,
     685      863,  863,  863,  863,  863,  863,  889,  863,  890,  891,
     686      892,  893,  894,  895,  863,  896,  896,  896,  896,  896,
     687      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
     688      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
     689
     690      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
     691      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
     692      896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
     693      896,  896,  896,  896,  896,  896,  896,  896,  897,  898,
     694      899,  900,  901,  902,  903,  904,  863,  863,  905,  906,
     695      907,  908,  909,  910,  863,  863,  863,  863,  863,  911,
     696      912,  913,  914,  863,  863,  863,  863,  863,  863,  863,
     697      863,  863,  367,  863,  863,  863,  915,  916,  917,  863,
     698      863,  863,  917,  863,  863,  863,  918,  919,  920,  921,
     699      922,  923,  924,  925,  926,  927,  863,  928,  928,  928,
     700
     701      928,  928,  928,  928,  928,  928,  928,  928,  928,  928,
     702      928,  928,  928,  928,  928,  928,  928,  928,  928,  928,
     703      928,  928,  928,  928,  928,  928,  928,  928,  928,  928,
     704      928,  928,  928,  928,  928,  928,  928,  928,  928,  928,
     705      928,  928,  928,  928,  928,  928,  928,  928,  928,  928,
     706      928,  928,  928,  928,  928,  928,  928,  928,  928,  928,
     707      928,  929,  930,  931,  932,  933,  934,  935,  936,  937,
     708      863,  938,  939,  940,  941,  942,  942,  943,  944,  945,
     709      946,  863,  863,  863,  947,  863,  947,  863,  863,  863,
     710      863,  863,  863,  863,  863,  948,  949,  950,  951,  952,
     711
     712      953,  954,  955,  956,  957,  958,  959,  960,  961,  961,
     713      961,  961,  961,  961,  961,  961,  961,  961,  961,  961,
     714      961,  961,  961,  961,  961,  961,  961,  961,  961,  961,
     715      961,  961,  961,  961,  961,  961,  961,  961,  961,  961,
     716      961,  961,  961,  961,  961,  961,  961,  961,  961,  961,
     717      961,  961,  961,  961,  961,  961,  961,  961,  961,  961,
     718      961,  961,  961,  961,  961,  961,  961,  961,  962,  963,
     719      964,  965,  966,  967,  968,  969,  970,  971,  972,  973,
     720      974,  975,  976,  977,  978,  863,  863,  863,  863,  979,
     721      863,  588,  863,  863,  863,  863,  863,  980,  981,  982,
     722
     723      983,  984,  985,  986,  987,  988,  989,  990,  991,  990,
     724      990,  990,  990,  990,  990,  990,  990,  990,  990,  990,
     725      990,  990,  990,  990,  990,  990,  990,  990,  990,  990,
     726      990,  990,  990,  990,  990,  990,  990,  990,  990,  990,
     727      990,  990,  990,  990,  990,  990,  990,  990,  990,  990,
     728      990,  990,  990,  990,  990,  990,  990,  990,  990,  990,
     729      992,  863,  993,  994,  995,  996,  997,  998,  999, 1000,
     730     1001, 1002,  863, 1003, 1004, 1005, 1006,  863,  863,  863,
     731      863,  863,  863,  863, 1007, 1008, 1009, 1010, 1011, 1012,
     732     1013, 1014, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
     733
     734     1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
     735     1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
     736     1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
     737     1016, 1017, 1018, 1019, 1020, 1021,  863, 1022, 1007, 1009,
     738     1023, 1024, 1014, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
     739     1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
     740     1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
     741     1015, 1015, 1015, 1025, 1026, 1019, 1027, 1020, 1028, 1021,
     742     1029, 1030, 1023, 1031, 1024, 1015, 1015, 1015, 1015, 1015,
     743     1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
     744
     745     1015, 1015, 1015, 1032, 1025, 1033, 1026, 1034, 1027, 1035,
     746     1028, 1036, 1029, 1037, 1030, 1031, 1015, 1015, 1015, 1015,
     747     1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
     748     1015, 1038, 1032, 1033, 1034, 1035, 1009, 1036, 1037, 1015,
     749     1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1038,
     750     1009, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
     751     1015, 1015,    0,  863,  863,  863,  863,  863,  863,  863,
     752      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     753      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     754      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     755
     756      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     757      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     758      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     759      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     760      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     761      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     762      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     763      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     764      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     765      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     766
     767      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     768      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     769      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     770      863,  863,  863,  863,  863,  863,  863,  863
    768771    } ;
    769772
    770 static yyconst flex_int16_t yy_nxt[2848] =
     773static yyconst flex_int16_t yy_nxt[2948] =
    771774    {   0,
    772775       12,   13,   14,   15,   15,   15,   13,   16,   17,   12,
     
    774777       28,   29,   30,   31,   32,   32,   32,   32,   33,   34,
    775778       35,   36,   37,   38,   39,   18,   18,   18,   18,   18,
    776        18,   18,   18,   40,   18,   18,   18,   18,   18,   40,
    777        18,   41,   42,   43,   44,   45,   46,   47,   48,   49,
    778        50,   51,   52,   53,   18,   54,   18,   55,   18,   18,
    779        18,   18,   56,   57,   58,   59,   60,   61,   18,   18,
    780        18,   62,   63,   64,   65,   66,   83,   91,   84,   84,
    781        66,   87,   88,   67,   70,   70,   70,   70,   70,   70,
    782 
    783        70,   70,   70,   70,   71,   70,   70,   70,   70,   70,
     779       18,   18,   40,   18,   18,   18,   18,   18,   40,   18,
     780       41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
     781       51,   52,   53,   18,   54,   18,   55,   18,   18,   18,
     782       18,   56,   57,   58,   59,   60,   61,   18,   18,   18,
     783       62,   63,   64,   65,   66,   83,   91,   84,   84,   66,
     784       87,   88,   67,   70,   70,   70,   70,   70,   70,   70,
     785
     786       70,   70,   70,   71,   70,   70,   70,   70,   70,   70,
    784787       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
    785        70,   70,   70,   70,   70,   70,   70,   70,   70,   71,
     788       70,   70,   70,   70,   70,   70,   70,   70,   71,   71,
    786789       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    787        71,   71,   71,   71,   71,   70,   72,   70,   70,   71,
    788        73,   71,   71,   71,   71,   71,   71,   71,   71,   71,
     790       71,   71,   71,   70,   72,   70,   70,   71,   73,   71,
    789791       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    790        71,   71,   71,   71,   71,   70,   70,   70,   70,   75,
    791        75,   78,   78,  122,  123,   89,  140,   78,   78,  619,
    792        75,   75,   79,   80,   81,   81,   81,   79,   81,   80,
    793 
    794        82,   82,   82,   81,   90,   92,   86,  141,  145,   97,
    795        94,   98,   98,   98,   98,   98,   98,  248,   86,   93,
    796        99,   84,   95,   96,   84,  100,  160,  117,  142,   76,
    797        76,   76,   76,  143,  146,  101,  102,   86,  103,  103,
    798       103,  103,  104,  104,  118,   86,  119,  120,  147,   86,
    799       148,  851,  250,  204,  181,  105,  193,  453,  158,  106,
    800       159,  149,  150,  151,   86,  107,  108,  152,  153,  161,
    801       154,  109,   86,  155,  156,  144,  162,  105,   86,  205,
    802        86,  157,  163,  110,  228,   86,  256,   86,  611,   86,
    803        86,  107,  192,   86,  108,  102,  246,  111,  111,  111,
    804 
    805       111,  111,  111,   86,  168,  176,  169,  194,  191,   86,
    806       229,  179,  164,  851,  105,  170,  165,  180,  112,  177,
    807       247,  166,   86,  254,  113,  167,  178,  171,   86,  259,
    808       114,  260,  244,   86,   86,  172,  105,  173,  245,  438,
    809       174,  142,  115,  851,  175,  282,  143,  255,  251,   86,
    810       113,  124,  276,   86,  245,  125,  126,   86,  127,  189,
    811       128,  129,  252,  130,  245,  131,   86,  277,  253,  182,
    812       183,  851,  244,  312,  132,  133,  134,   86,  186,  184,
    813       245,   86,  185,  253,  267,   86,  187,  259,  144,  260,
    814       278,  198,  199,  188,  253,  135,  198,  259,  136,  260,
    815 
    816       303,  252,  190,  195,   80,   81,   81,   81,  195,  253,
    817       268,  196,  200,  200,  200,  200,  200,  200,   79,   80,
    818        81,   81,   81,   79,   86,  137,  138,  207,  208,  259,
    819        86,  260,  207,  295,  209,  238,  238,  238,  238,  209,
    820        81,   80,   81,   81,   81,   81,  261,  300,  210,  210,
    821       210,  210,   81,   80,   82,   82,   82,   81,  261,  209,
    822       259,   86,  260,  851,  262,  259,   86,  260,  239,  259,
    823       259,  260,  260,   86,  259,  211,  260,  279,  209,  259,
    824       263,  260,  293,  209,  209,   86,   86,  209,  209,   86,
    825       259,  851,  260,  328,   86,  209,  301,  353,  209,  354,
    826 
    827       209,  212,  209,  142,  213,  215,  302,  280,  143,  216,
    828       217,   86,   86,   86,  218,  219,  281,  220,  102,  221,
    829       104,  104,  104,  104,  104,  104,   86,  274,  222,  223,
    830       224,  311,  305,  241,  275,  241,   86,  105,  242,  242,
    831       242,  242,  242,  242,   86,   86,   86,   86,  294,  225,
    832       298,   86,  226,  240,   86,   86,  306,  296,  297,  105,
    833       283,   86,  284,  299,  285,  286,  308,   86,  287,  309,
    834       288,  243,   86,  304,  307,  289,  290,  291,  310,  292,
    835       227,  231,  231,  231,  231,  231,  231,   86,   86,  317,
    836        86,   86,   86,   86,  313,  318,   86,   86,  232,  233,
    837 
    838        86,   86,  233,  315,  327,  142,   86,  319,  323,  314,
    839       316,  322,  398,  336,  234,   86,  339,  320,  321,   86,
    840       232,  233,   86,   86,  325,  324,  233,   98,   98,   98,
    841        98,   98,   98,  329,  330,  332,  334,   86,  335,  326,
    842        86,   86,  340,  333,  232,  233,  207,  208,  233,   86,
    843       392,  207,  331,  195,   80,   81,   81,   81,  195,  393,
    844       237,  196,   86,  198,  199,  556,  232,  233,  198,  198,
    845       199,  353,  233,  354,  198,  337,  199,  353,  395,  354,
    846       337,  353,  338,  354,  200,  200,  200,  200,  200,  200,
     792       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
     793       71,   71,   71,   70,   70,   70,   70,   75,   75,   78,
     794       78,  122,  123,   89,  140,   78,   78,   86,   75,   75,
     795       79,   80,   81,   81,   81,   79,   81,   80,   82,   82,
     796
     797       82,   81,   90,   92,  141,  145,   86,   97,   94,   98,
     798       98,   98,   98,   98,   98,  250,  863,   93,   99,   84,
     799       95,   96,   84,  100,  176,  117,   76,   76,   76,   76,
     800      142,  146,   86,  101,  102,  143,  103,  103,  103,  103,
     801      104,  104,  118,   86,  119,  120,  147,   86,  148,  252,
     802      258,   86,  160,  105,  193,  192,  106,   86,   86,  149,
     803      150,  151,  107,  108,  152,  153,  181,  154,  109,   86,
     804      155,  156,   86,   86,  105,   86,  144,  161,  157,  158,
     805      110,  159,  204,  261,  162,  262,   86,  179,  107,  228,
     806      163,  108,  102,  180,  111,  111,  111,  111,  111,  111,
     807
     808       86,  168,   86,  169,  194,   86,   86,   86,  205,  164,
     809       86,  105,  170,  165,  112,  229,  177,   86,  166,  186,
     810      113,  281,  167,  178,  269,   86,  114,  187,  191,  182,
     811      183,  142,  105,  261,  188,  262,  143,  284,  115,  184,
     812       86,   86,  185,  198,  199,  171,  113,  124,  198,  189,
     813      270,  125,  126,  172,  127,  173,  128,  129,  174,  130,
     814      248,  131,  175,  256,  200,  200,  200,  200,  200,  200,
     815      132,  133,  134,  261,   86,  262,   86,  144,  195,   80,
     816       81,   81,   81,  195,  249,  280,  196,  257,   86,  863,
     817      135,  190,   86,  136,   79,   80,   81,   81,   81,   79,
     818
     819       81,   80,   81,   81,   81,   81,   81,   80,   82,   82,
     820       82,   81,  261,  304,  262,  240,  240,  240,  240,  246,
     821      137,  138,  207,  208,  863,  247,  254,  207,   86,  209,
     822      247,  261,  255,  262,  209,   98,   98,   98,   98,   98,
     823       98,  263,  863,  210,  210,  210,  210,  241,  246,  307,
     824      863,  247,  263,  261,  209,  262,  247,  102,  255,  104,
     825      104,  104,  104,  104,  104,   86,  261,  239,  262,  211,
     826      863,  261,  209,  262,   86,  255,  105,  209,  209,  863,
     827      276,  209,  209,   86,  253,  264,  261,  277,  262,  209,
     828      295,  242,  209,  254,  209,  212,  209,  105,  213,  215,
     829
     830      261,  255,  262,  216,  217,  283,   86,  863,  218,  219,
     831      243,  220,  243,  221,   86,  244,  244,  244,  244,  244,
     832      244,   86,  222,  223,  224,  261,  265,  262,  142,  305,
     833       86,   86,  278,  143,   86,   86,  285,   86,  286,  279,
     834      287,  288,  225,   86,  289,  226,  290,  245,  282,   86,
     835       86,  291,  292,  293,   86,  294,  296,  314,  297,  300,
     836       86,   86,  306,   86,  298,  299,  308,  302,   86,   86,
     837      303,   86,  301,  227,  231,  231,  231,  231,  231,  231,
     838       86,   86,   86,  311,  309,  310,  312,   86,   86,   86,
     839      232,  233,   86,  234,  235,   86,   86,  320,  313,   86,
     840
     841      327,  142,  317,   86,  316,  319,  236,  324,  315,  318,
     842      321,  232,  233,  232,  325,  328,  234,   86,  235,   86,
     843      322,  323,   86,  331,   86,   86,  355,   86,  356,   86,
     844      329,  326,  341,  355,  355,  356,  356,  334,  336,  330,
     845      337,  332,  338,  375,   86,  335,   86,  333,  195,   80,
     846       81,   81,   81,  195,  198,  199,  196,   86,  342,  198,
     847      198,  199,  401,  207,  208,  198,  339,  199,  207,  375,
     848      355,  339,  356,  340,  863,  200,  200,  200,  200,  200,
    847849      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
    848 
    849       200,  200,  345,  345,  345,  345,  354,  354,  355,  353,
    850       353,  354,  354,  353,  356,  354,  353,  851,  354,  353,
    851       353,  354,  354,  353,  362,  354,  362,   86,   86,  363,
    852       363,  363,  363,  363,  363,  346,  231,  231,  231,  231,
    853       231,  231,  232,  233,  396,  369,  233,  379,  259,  259,
    854       260,  260,  366,  232,  233,   86,   86,  233,   86,   86,
    855       397,   86,  364,  399,  232,  233,  409,   86,  381,  234,
    856       233,  369,   86,  379,  394,  232,  233,   86,   86,  400,
    857       411,  233,  104,  104,  104,  104,  104,  104,  242,  242,
    858       242,  242,  242,  242,  382,   86,  404,   86,  405,  105,
    859 
    860        86,  367,  367,  367,  367,  367,  367,  372,   86,  410,
    861       401,   86,  406,   86,   86,  251,  402,  403,  241,  233,
    862       241,  105,  233,  242,  242,  242,  242,  242,  242,  413,
    863       374,  414,  375,   86,  368,  412,  376,   86,  415,   86,
    864        86,  233,  377,   86,   86,  422,  233,  104,  104,  104,
    865       104,  104,  104,  416,  378,  407,  408,  418,  375,   86,
    866        86,  419,  376,  111,  111,  111,  111,  111,  111,   86,
    867        86,   86,   86,   86,   86,  423,  417,  424,  425,  427,
    868       251,  420,  421,  426,   86,   86,   86,   86,  428,   86,
    869        86,  431,  432,  429,  433,   86,  256,   86,   86,   86,
    870 
    871       430,   86,   86,   86,   86,   86,   86,   86,   86,  435,
    872       437,  434,  142,  436,  439,  440,  445,   86,   86,   86,
    873       441,  444,   86,  443,  442,   86,   86,  446,  450,  447,
    874       448,  454,  353,   86,  354,  449,  451,  455,  452,  337,
    875       199,  199,  507,  353,  337,  354,  338,  197,  209,  209,
    876       209,  209,  345,  345,  345,  345,   86,  363,  363,  363,
    877       363,  363,  363,   86,  476,  476,  476,  476,  476,  476,
    878       362,  488,  362,   86,  503,  363,  363,  363,  363,  363,
    879       363,  465,  233,  644,  480,  233,  231,  231,  231,  231,
    880       231,  231,   86,   86,  481,  489,   86,  477,  238,  238,
    881 
    882       238,  238,  104,  104,  233,  509,  512,  480,  504,  233,
    883       480,  367,  367,  367,  367,  367,  367,  482,   86,  365,
    884       367,  367,  367,  367,  367,  367,   86,   86,   86,  233,
    885       483,  366,  233,  480,  372,  511,  484,  506,  233,  528,
    886       485,  233,  485,  505,  368,  486,  486,  486,  486,  486,
    887       486,  233,   86,  478,  484,   86,  233,  374,   86,  375,
    888       233,  851,  484,  376,   86,  233,  508,   86,   86,  377,
    889        86,   86,  483,   86,  510,  524,  518,   86,  487,   86,
    890       484,  378,  519,  513,  374,  375,  375,  515,  516,  376,
    891       376,   86,  514,   86,  520,  517,  490,  522,   86,   86,
    892 
    893        86,  521,   86,   86,   86,   86,   86,   86,  378,   86,
    894        86,  534,  375,  527,  523,  526,  376,  525,  531,  536,
    895        86,  535,  532,  529,   86,  530,   86,  533,   86,  539,
    896        86,   86,   86,   86,   86,  537,   86,   86,   86,   86,
    897        86,  540,  544,   86,  538,  542,   86,   86,   86,  545,
    898       541,  543,  551,  553,  554,  555,  548,  546,  547,  549,
    899       550,   86,   86,   86,  552,   86,   86,   86,  199,  557,
    900       691,   86,   86,  560,  563,  562,  480,  480,  585,  558,
    901       559,  209,  209,  209,  209,  603,  481,  561,  476,  476,
    902       476,  476,  476,  476,  476,  476,  476,  476,  476,  476,
    903 
    904       480,   86,  480,  480,  585,   86,  233,  851,   86,  233,
    905       584,   86,  233,   86,   86,  233,   86,   86,  602,   86,
    906       604,  477,  609,   86,  610,   86,  480,  580,  233,  606,
    907       607,  605,  608,  233,  233,  614,  617,   86,   86,  233,
    908       367,  367,  367,  367,  367,  367,  581,  615,  581,  627,
    909       618,  582,  582,  582,  582,  582,  582,  486,  486,  486,
    910       486,  486,  486,   86,  586,  586,  586,  586,  586,  586,
    911       485,   86,  485,  478,   86,  486,  486,  486,  486,  486,
    912       486,   86,  587,  612,  583,  587,  616,   86,   86,   86,
    913       613,  622,   86,   86,   86,  625,  620,  588,  623,  624,
    914 
    915        86,   86,  626,   86,  587,   86,   86,  629,   86,  587,
    916       621,   86,   86,   86,  631,  632,   86,  628,  630,   86,
    917        86,  637,   86,  634,   86,  633,   86,  635,  636,  638,
    918        86,  639,   86,   86,   86,   86,  648,  641,  643,  645,
    919        86,  640,   86,  642,  649,   86,  647,   86,   86,   86,
    920       650,   86,   86,   86,  697,  646,  683,  684,   86,  688,
    921       652,  689,  651,  476,  476,  476,  476,  476,  476,  582,
    922       582,  582,  582,  582,  582,  686,  670,  670,  670,  670,
    923       670,  670,  581,   86,  581,   86,   86,  582,  582,  582,
    924       582,  582,  582,  714,  587,   86,  580,  587,  685,  586,
    925 
    926       586,  586,  586,  586,  586,   86,  687,   86,  692,  671,
    927       586,  586,  586,  586,  586,  586,  587,  587,   86,   86,
    928       587,  587,  690,  681,   86,   86,  699,   86,  587,  694,
    929        86,  587,  588,   86,  693,   86,  682,   86,   86,  587,
    930        86,  695,  700,  672,  587,   86,  702,  696,  703,  705,
    931       587,   86,  698,  701,   86,  587,   86,   86,   86,   86,
    932       704,   86,   86,   86,   86,   86,  709,  706,   86,   86,
    933       713,  715,   86,  717,  707,  716,   86,   86,  708,  710,
    934       712,   86,  733,  718,  777,  711,  670,  670,  670,  670,
    935       670,  670,  670,  670,  670,  670,  670,  670,  732,   86,
    936 
    937        86,  737,  734,   86,  587,  736,  735,  587,   86,   86,
    938       587,  738,  739,  587,   86,   86,  745,  851,   86,  671,
    939       741,  740,  748,   86,  742,  725,  587,   86,  752,   86,
    940       743,  587,  587,   86,   86,   86,  746,  587,  586,  586,
    941       586,  586,  586,  586,  744,   86,   86,   86,   86,   86,
    942       749,   86,   86,   86,   86,  747,  754,  756,   86,  751,
    943        86,   86,  750,  755,   86,  753,   86,   86,   86,  760,
    944        86,  672,   86,  757,   86,  761,  783,  778,   86,  776,
    945       758,  759,  670,  670,  670,  670,  670,  670,  774,  775,
    946       780,   86,   86,  779,  781,   86,   86,   86,  784,  785,
    947 
    948        86,  790,   86,   86,   86,  782,  787,  786,   86,   86,
    949        86,  788,  789,   86,   86,  725,  808,   86,   86,   86,
    950       812,  810,   86,   86,   86,  791,  813,  815,   86,   86,
    951        86,  806,  807,  816,   86,   86,  805,  811,  817,  809,
    952        86,   86,   86,   86,  814,  830,   86,  829,   86,  828,
    953       818,  819,  831,   86,   86,   86,  832,  834,  833,   86,
    954        86,   86,  835,   86,  836,   86,   86,   86,  841,  837,
    955       840,   86,   86,   86,  842,  843,  844,   86,   86,   86,
    956       845,  847,  848,   86,   86,  846,  849,  851,  851,  850,
     850      200,  200,  200,  347,  347,  347,  347,  356,  356,  357,
     851
     852      355,  355,  356,  356,  355,  358,  356,  355,  372,  356,
     853      355,  355,  356,  356,  355,  364,  356,  364,  365,  364,
     854       86,  366,  385,  366,   86,  348,  367,  367,  367,  367,
     855      367,  367,   86,  261,  365,  262,  364,  364,  364,  261,
     856      364,  262,  365,  364,  387,  398,  369,  233,  385,  102,
     857      370,  240,  240,  240,  240,  365,   86,  365,  368,   86,
     858      364,  231,  231,  231,  231,  231,  231,  369,  233,  369,
     859      388,  412,   86,   86,  370,   86,  402,  369,  233,   86,
     860      403,  370,   86,  241,  104,  104,  104,  104,  104,  104,
     861      399,  400,   86,  371,   86,   86,  450,  405,  369,  233,
     862
     863      369,  105,  404,   86,   86,  370,  244,  244,  244,  244,
     864      244,  244,   86,  410,  406,   86,  253,  417,   86,  413,
     865      414,  430,  105,  373,  373,  373,  373,  373,  373,  104,
     866      104,  104,  104,  104,  104,  378,   86,  142,  411,  232,
     867       86,  415,  234,  235,  243,  418,  243,   86,   86,  244,
     868      244,  244,  244,  244,  244,  374,  416,  380,  419,  381,
     869      232,  253,  232,  382,   86,  234,  420,  235,  863,  383,
     870      111,  111,  111,  111,  111,  111,   86,   86,   86,   86,
     871       86,  384,  421,   86,  424,  381,  423,  422,   86,  382,
     872       86,  407,   86,   86,   86,  428,   86,  408,  409,  429,
     873
     874       86,  425,  258,   86,   86,  432,  433,   86,  436,  426,
     875      427,  431,  437,  435,   86,   86,   86,   86,   86,  434,
     876      438,  439,   86,   86,   86,   86,   86,   86,   86,   86,
     877       86,  443,   86,  441,  444,  442,   86,  445,  440,  446,
     878       86,  451,   86,   86,   86,   86,  447,  449,  448,  456,
     879      452,   86,  453,  459,   86,  562,  460,  458,  454,  199,
     880      455,  457,   86,  339,  199,  197,  365,  525,  339,  461,
     881      340,  209,  209,  209,  209,  347,  347,  347,  347,  355,
     882      355,  356,  356,  367,  367,  367,  367,  367,  367,  366,
     883      365,  366,  365,  494,  367,  367,  367,  367,  367,  367,
     884
     885      863,  851,   86,  471,  482,  482,  482,  482,  482,  482,
     886      489,  486,  486,  365,  490,  365,  490,  495,  510,   86,
     887      232,  487,  488,  234,  235,  231,  231,  231,  231,  231,
     888      231,  863,  489,   86,  511,  863,  483,  486,  486,   86,
     889      490,  232,  490,  232,  509,  528,  234,   86,  235,  240,
     890      240,  240,  240,  104,  104,   86,  513,  371,  373,  373,
     891      373,  373,  373,  373,  373,  373,  373,  373,  373,  373,
     892      378,   86,   86,  863,  512,   86,   86,   86,   86,   86,
     893      369,  372,  514,   86,  370,  515,  517,   86,  519,   86,
     894      374,  518,  380,  533,  381,  863,  484,  516,  382,  521,
     895
     896      522,  369,  559,  369,  383,  491,   86,  491,  370,  520,
     897      492,  492,  492,  492,  492,  492,  384,  380,   86,  381,
     898      381,   86,   86,  382,  382,   86,   86,   86,  523,  496,
     899       86,   86,  530,   86,   86,   86,  524,  526,  534,   86,
     900       86,  384,  493,  830,  527,  381,  529,   86,  532,  382,
     901      531,  535,   86,  540,  541,   86,  536,   86,  539,   86,
     902      544,  537,   86,   86,  542,  538,   86,   86,   86,   86,
     903       86,   86,  543,   86,   86,   86,   86,  546,  550,   86,
     904       86,  545,  548,  560,   86,  547,  549,  551,  557,   86,
     905       86,  552,  553,  554,  555,   86,  561,  556,  558,   86,
     906
     907       86,  565,  199,  563,  209,  209,  209,  209,  569,  568,
     908      566,  486,  567,  564,  482,  482,  482,  482,  482,  482,
     909      482,  482,  482,  482,  482,  482,   86,   86,  486,  486,
     910      232,   86,   86,  234,  235,  591,  369,  486,  487,  590,
     911      370,   86,  612,  610,  611,  614,  483,   86,   86,   86,
     912      863,  232,  586,  232,  486,  486,  234,  369,  235,  369,
     913      616,  591,  626,  615,  370,  373,  373,  373,  373,  373,
     914      373,  587,   86,  587,  635,   86,  588,  588,  588,  588,
     915      588,  588,  492,  492,  492,  492,  492,  492,   86,   86,
     916      637,  619,  613,  491,  617,  491,   86,  484,  492,  492,
     917
     918      492,  492,  492,  492,   86,   86,   86,  618,  589,  592,
     919      592,  592,  592,  592,  592,   86,   86,  625,   86,  627,
     920       86,  624,   86,   86,  620,  593,  622,  623,  594,  595,
     921       86,  628,   86,   86,  621,  850,   86,  632,  633,  631,
     922      630,  596,  629,   86,   86,  634,  593,   86,  593,   86,
     923      636,  594,   86,  595,   86,   86,   86,   86,  638,   86,
     924       86,  639,   86,  640,  645,   86,  641,  642,   86,  646,
     925       86,  643,  644,   86,  647,   86,   86,   86,   86,  656,
     926      653,  649,   86,  651,  648,   86,  652,  650,   86,   86,
     927      655,  657,   86,   86,   86,   86,   86,   86,  658,  654,
     928
     929      695,   86,  700,  696,  701,  660,  659,  482,  482,  482,
     930      482,  482,  482,  588,  588,  588,  588,  588,  588,  587,
     931       86,  587,  744,   86,  588,  588,  588,  588,  588,  588,
     932      592,  592,  592,  592,  592,  592,  697,  698,   86,  586,
     933      678,  678,  678,  678,  678,  678,  680,  681,   86,   86,
     934       86,   86,  681,  680,  693,  680,  593,  680,   86,  594,
     935      595,  699,  596,   86,  704,  702,  703,  694,   86,  680,
     936       86,  681,  679,  681,  680,  681,  680,  593,  680,  593,
     937      706,  680,  594,  705,  595,  592,  592,  592,  592,  592,
     938      592,   86,  708,   86,   86,   86,  709,   86,  711,   86,
     939
     940       86,  682,   86,   86,   86,  683,  714,   86,  707,   86,
     941      712,  710,  717,   86,   86,   86,   86,  684,  715,  713,
     942       86,   86,  682,  721,  682,   86,  716,  681,  726,  683,
     943      719,  718,   86,   86,   86,  720,  722,  724,   86,   86,
     944       86,  725,  723,  727,   86,   86,  681,   86,  728,  729,
     945      750,  681,  747,  749,  730,  678,  678,  678,  678,  678,
     946      678,  678,  678,  678,  678,  678,  678,  681,   86,  681,
     947      746,  593,   86,   86,  594,  595,  751,  682,  745,   86,
     948       86,  683,   86,   86,  748,   86,  753,  679,  755,  757,
     949      752,  754,  593,  737,  593,  760,   86,  594,  682,  595,
     950
     951      682,   86,   86,   86,  756,  683,  592,  592,  592,  592,
     952      592,  592,   86,   86,  762,  758,   86,   86,   86,  761,
     953       86,   86,  759,   86,  766,   86,  763,   86,   86,   86,
     954       86,  764,   86,   86,  767,   86,  765,   86,  684,  773,
     955       86,  772,  678,  678,  678,  678,  678,  678,  769,   86,
     956      768,  770,   86,  771,  787,  786,   86,  788,   86,   86,
     957       86,  795,  793,  791,  789,   86,  790,   86,  796,   86,
     958      797,   86,   86,  794,  737,  799,  798,   86,   86,   86,
     959      800,   86,   86,   86,  792,   86,  801,   86,   86,   86,
     960       86,   86,  820,  822,  824,   86,   86,   86,  825,  831,
     961
     962      827,  802,  803,  818,   86,  819,   86,  821,  817,  823,
     963       86,   86,  863,  828,   86,  829,   86,   86,  826,   86,
     964      842,  841,   86,   86,   86,  840,  844,  846,  845,   86,
     965       86,  843,  847,   86,   86,   86,  858,   86,   86,  848,
     966      853,  854,  849,  852,   86,   86,   86,  855,  856,  857,
     967       86,   86,  859,  860,  861,   86,  863,  839,  863,  838,
     968      863,  836,  863,  835,  863,  834,  863,  833,   86,   86,
     969       86,  863,  816,  863,  815,  813,  863,  862,   68,   68,
    957970       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
    958 
    959        68,   68,   68,   74,   74,   74,   74,   74,   74,   74,
    960        74,   74,   74,   74,   74,   74,   77,   77,   77,   77,
    961        77,   77,   77,   77,   77,   77,   77,   77,   77,   85,
    962       839,  851,   85,  851,   85,   85,   85,   85,   85,  139,
    963       851,  851,  838,  139,  139,  139,  139,  139,  139,  197,
     971       68,   74,   74,   74,   74,   74,   74,   74,   74,   74,
     972
     973       74,   74,   74,   74,   77,   77,   77,   77,   77,   77,
     974       77,   77,   77,   77,   77,   77,   77,   85,  811,  863,
     975       85,  809,   85,   85,   85,   85,   85,  139,  863,  807,
     976      805,  139,  139,  139,  139,  139,  139,  197,  197,  197,
    964977      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    965       197,  197,  202,   86,   86,  202,   86,  202,  202,  202,
    966       202,  202,  206,   86,  206,  206,   86,  206,  206,  206,
    967       206,  206,  206,  851,  206,  214,  851,  827,  214,  214,
    968       214,  214,  214,  214,  214,  214,  851,  214,  235,  235,
    969 
    970       235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
    971       235,  249,  249,  826,  249,  851,  824,  851,  249,  265,
    972       823,  851,  265,  822,  265,  265,  265,  265,  265,  269,
    973       851,  269,  821,   86,   86,  269,  271,   86,  271,  851,
    974       804,  851,  271,  341,  803,  341,  801,  851,  799,  341,
    975       343,  851,  343,  797,  851,  795,  343,  347,  793,  347,
    976        86,   86,   86,  347,  349,   86,  349,   86,   86,   86,
    977       349,  351,   86,  351,   86,   86,   86,  351,  358,   86,
    978       358,  851,  773,  771,  358,  360,  851,  360,  851,  768,
    979       766,  360,  235,  235,  235,  235,  235,  235,  235,  235,
    980 
    981       235,  235,  235,  235,  235,  371,  764,  371,  373,  373,
    982       851,  373,  373,  373,   86,  373,  249,  249,   86,  249,
    983       383,   86,  383,   86,   86,   86,  383,  385,   86,  385,
    984        86,  731,  728,  385,  387,  727,  387,  203,  721,  720,
    985       387,  269,  654,  269,  389,   86,  389,   86,   86,   86,
    986       389,  271,   86,  271,   85,   86,   86,   85,   86,   85,
    987        85,   85,   85,   85,  197,  197,  197,  197,  197,  197,
    988       197,  197,  197,  197,  197,  197,  197,  456,  456,  456,
    989       456,  456,  456,  456,  456,  456,  456,  456,  456,  456,
    990       457,   86,  457,   86,   86,   86,  457,  459,   86,  459,
    991 
    992        86,   86,  679,  459,  461,  678,  461,  676,  674,  584,
    993       461,  341,  669,  341,  463,  668,  463,  666,  664,  662,
    994       463,  343,  660,  343,  466,  658,  466,  656,  654,   86,
    995       466,  347,   86,  347,  468,   86,  468,   86,   86,   86,
    996       468,  349,   86,  349,  470,   86,  470,   86,  601,  599,
    997       470,  351,  597,  351,  472,  595,  472,  593,  591,  490,
    998       472,  358,  589,  358,  474,  589,  474,  579,  577,  471,
    999       474,  360,  471,  360,  479,  575,  479,  573,  479,  571,
    1000       479,  371,  569,  371,  567,  371,  565,  371,  373,  373,
    1001        86,  373,  373,  373,   86,  373,  491,   86,  491,   86,
    1002 
    1003        86,   86,  491,  493,   86,  493,   86,  502,  500,  493,
    1004       495,  498,  495,  496,  494,  492,  495,  383,  475,  383,
    1005       497,  473,  497,  354,  354,  471,  497,  385,  469,  385,
    1006       499,  467,  499,  464,  462,  460,  499,  387,  458,  387,
    1007       501,   86,  501,   86,   86,  391,  501,  389,  390,  389,
    1008        85,  388,  386,   85,  384,   85,   85,   85,   85,   85,
    1009       456,  456,  456,  456,  456,  456,  456,  456,  456,  456,
    1010       456,  456,  456,  564,  266,  564,  261,  260,  380,  564,
    1011       457,  380,  457,  566,  248,  566,  370,  370,  236,  566,
    1012       459,  365,  459,  568,  361,  568,  359,  357,  353,  568,
    1013 
    1014       461,  352,  461,  570,  350,  570,  348,  344,  342,  570,
    1015       463,  203,  463,  572,  199,  572,   86,  273,  272,  572,
    1016       466,  270,  466,  574,  266,  574,  261,  264,  261,  574,
    1017       468,  259,  468,  470,  258,  470,  257,  236,  230,  470,
    1018       576,   84,  576,   84,   86,  203,  576,  472,  201,  472,
    1019       578,   84,  578,  121,  116,   86,  578,  474,  851,  474,
    1020       479,   69,  479,   69,  479,  851,  479,  373,  851,  373,
    1021       851,  851,  851,  373,  590,  851,  590,  851,  851,  851,
    1022       590,  491,  851,  491,  592,  851,  592,  851,  851,  851,
    1023       592,  493,  851,  493,  594,  851,  594,  851,  851,  851,
    1024 
    1025       594,  495,  851,  495,  596,  851,  596,  851,  851,  851,
    1026       596,  497,  851,  497,  598,  851,  598,  851,  851,  851,
    1027       598,  499,  851,  499,  600,  851,  600,  851,  851,  851,
    1028       600,  501,  851,  501,   85,  851,  851,   85,  851,   85,
    1029        85,   85,   85,   85,  653,  653,  653,  653,  653,  653,
    1030       653,  653,  653,  653,  653,  653,  653,  655,  851,  655,
    1031       851,  851,  851,  655,  564,  851,  564,  657,  851,  657,
    1032       851,  851,  851,  657,  566,  851,  566,  659,  851,  659,
    1033       851,  851,  851,  659,  568,  851,  568,  661,  851,  661,
    1034       851,  851,  851,  661,  570,  851,  570,  663,  851,  663,
    1035 
    1036       851,  851,  851,  663,  572,  851,  572,  665,  851,  665,
    1037       851,  851,  851,  665,  574,  851,  574,  667,  851,  667,
    1038       851,  851,  851,  667,  576,  851,  576,   85,  851,   85,
    1039       851,  851,  851,   85,  578,  851,  578,  479,  851,  479,
    1040       851,  851,  851,  479,  673,  851,  673,  851,  851,  851,
    1041       673,  590,  851,  590,  675,  851,  675,  851,  851,  851,
    1042       675,  592,  851,  592,  677,  851,  677,  851,  851,  851,
    1043       677,  594,  851,  594,  139,  851,  139,  851,  851,  851,
    1044       139,  596,  851,  596,  680,  851,  680,  598,  851,  598,
    1045        85,  851,  851,   85,  851,   85,   85,   85,   85,   85,
    1046 
    1047       600,  851,  600,  653,  653,  653,  653,  653,  653,  653,
    1048       653,  653,  653,  653,  653,  653,  719,  851,  719,  851,
    1049       851,  851,  719,  655,  851,  655,  202,  851,  202,  851,
    1050       851,  851,  202,  657,  851,  657,  722,  851,  722,  659,
    1051       851,  659,  202,  851,  851,  202,  851,  202,  202,  202,
    1052       202,  202,  661,  851,  661,  723,  851,  723,  663,  851,
    1053       663,  665,  851,  665,  724,  851,  724,  667,  851,  667,
    1054        85,  851,   85,  726,  851,  726,  851,  851,  851,  726,
    1055       673,  851,  673,  265,  851,  265,  851,  851,  851,  265,
    1056       675,  851,  675,  729,  851,  729,  677,  851,  677,  139,
    1057 
    1058       851,  139,  730,  851,  730,  851,  851,  851,  730,   85,
    1059       851,  851,   85,  851,   85,   85,   85,   85,   85,  762,
    1060       851,  762,  719,  851,  719,  763,  851,  763,  851,  851,
    1061       851,  763,  765,  851,  765,  851,  851,  851,  765,  767,
    1062       851,  767,  851,  851,  851,  767,  769,  851,  769,  770,
    1063       851,  770,  851,  851,  851,  770,  772,  851,  772,  851,
    1064       851,  851,  772,  792,  851,  792,  851,  851,  851,  792,
    1065       794,  851,  794,  851,  851,  851,  794,  796,  851,  796,
    1066       851,  851,  851,  796,  798,  851,  798,  851,  851,  851,
    1067       798,  800,  851,  800,  851,  851,  851,  800,  802,  851,
    1068 
    1069       802,  851,  851,  851,  802,  600,  851,  600,  851,  851,
    1070       851,  600,  820,  851,  820,  851,  851,  851,  820,  661,
    1071       851,  661,  851,  851,  851,  661,  665,  851,  665,  851,
    1072       851,  851,  665,   85,  851,   85,  851,  851,  851,   85,
    1073       825,  851,  825,  851,  851,  851,  825,  139,  851,  139,
    1074       851,  851,  851,  139,  202,  851,  202,  851,  851,  851,
    1075       202,   11,  851,  851,  851,  851,  851,  851,  851,  851,
    1076       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1077       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1078       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1079 
    1080       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1081       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1082       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1083       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1084       851,  851,  851,  851,  851,  851,  851
     978      202,   86,   86,  202,   86,  202,  202,  202,  202,  202,
     979      206,   86,  206,  206,   86,  206,  206,  206,  206,  206,
     980      206,   86,  206,  214,   86,   86,  214,  214,  214,  214,
     981      214,  214,  214,  214,   86,  214,  237,  237,  237,  237,
     982      237,  237,  237,  237,  237,  237,  237,  237,  237,  251,
     983
     984      251,   86,  251,   86,   86,  863,  251,  267,  785,  783,
     985      267,  863,  267,  267,  267,  267,  267,  271,  863,  271,
     986      780,  778,  776,  271,  273,   86,  273,   86,   86,   86,
     987      273,  343,   86,  343,   86,   86,   86,  343,  345,  743,
     988      345,  740,  739,  203,  345,  349,  733,  349,  732,  662,
     989       86,  349,  351,   86,  351,   86,   86,   86,  351,  353,
     990       86,  353,   86,   86,   86,  353,  360,   86,  360,   86,
     991       86,   86,  360,  362,   86,  362,   86,  691,  690,  362,
     992      237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
     993      237,  237,  237,  377,  688,  377,  379,  379,  686,  379,
     994
     995      379,  379,  590,  379,  251,  251,  677,  251,  267,  676,
     996      674,  267,  672,  267,  267,  267,  267,  267,  389,  670,
     997      389,  668,  666,  664,  389,  391,  662,  391,   86,   86,
     998       86,  391,  393,   86,  393,   86,   86,   86,  393,  271,
     999       86,  271,  395,   86,  395,  609,  607,  605,  395,  273,
     1000      603,  273,   85,  601,  599,   85,  496,   85,   85,   85,
     1001       85,   85,  197,  197,  197,  197,  197,  197,  197,  197,
     1002      197,  197,  197,  197,  197,  462,  462,  462,  462,  462,
     1003      462,  462,  462,  462,  462,  462,  462,  462,  463,  597,
     1004      463,  597,  585,  583,  463,  465,  477,  465,  477,  581,
     1005
     1006      579,  465,  467,  577,  467,  575,  573,  571,  467,  343,
     1007       86,  343,  469,   86,  469,   86,   86,   86,  469,  345,
     1008       86,  345,  472,   86,  472,   86,  508,  506,  472,  349,
     1009      504,  349,  474,  502,  474,  500,  498,  481,  474,  351,
     1010      479,  351,  476,  356,  476,  356,  477,  475,  476,  353,
     1011      473,  353,  478,  470,  478,  468,  466,  464,  478,  360,
     1012       86,  360,  480,   86,  480,   86,  397,  396,  480,  362,
     1013      394,  362,  485,  392,  485,  390,  485,  268,  485,  377,
     1014      263,  377,  262,  377,  386,  377,  379,  379,  386,  379,
     1015      379,  379,  250,  379,  497,  376,  497,  376,  238,  363,
     1016
     1017      497,  499,  361,  499,  359,  355,  354,  499,  501,  352,
     1018      501,  350,  346,  344,  501,  389,  203,  389,  503,  199,
     1019      503,   86,  275,  274,  503,  391,  272,  391,  505,  268,
     1020      505,  263,  266,  263,  505,  393,  261,  393,  507,  260,
     1021      507,  259,  238,  230,  507,  395,   84,  395,   85,   84,
     1022       86,   85,  203,   85,   85,   85,   85,   85,  462,  462,
     1023      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
     1024      462,  570,  201,  570,   84,  121,  116,  570,  463,   86,
     1025      463,  572,  863,  572,   69,   69,  863,  572,  465,  863,
     1026      465,  574,  863,  574,  863,  863,  863,  574,  467,  863,
     1027
     1028      467,  576,  863,  576,  863,  863,  863,  576,  469,  863,
     1029      469,  578,  863,  578,  863,  863,  863,  578,  472,  863,
     1030      472,  580,  863,  580,  863,  863,  863,  580,  474,  863,
     1031      474,  476,  863,  476,  863,  863,  863,  476,  582,  863,
     1032      582,  863,  863,  863,  582,  478,  863,  478,  584,  863,
     1033      584,  863,  863,  863,  584,  480,  863,  480,  485,  863,
     1034      485,  863,  485,  863,  485,  379,  863,  379,  863,  863,
     1035      863,  379,  598,  863,  598,  863,  863,  863,  598,  497,
     1036      863,  497,  600,  863,  600,  863,  863,  863,  600,  499,
     1037      863,  499,  602,  863,  602,  863,  863,  863,  602,  501,
     1038
     1039      863,  501,  604,  863,  604,  863,  863,  863,  604,  503,
     1040      863,  503,  606,  863,  606,  863,  863,  863,  606,  505,
     1041      863,  505,  608,  863,  608,  863,  863,  863,  608,  507,
     1042      863,  507,   85,  863,  863,   85,  863,   85,   85,   85,
     1043       85,   85,  661,  661,  661,  661,  661,  661,  661,  661,
     1044      661,  661,  661,  661,  661,  663,  863,  663,  863,  863,
     1045      863,  663,  570,  863,  570,  665,  863,  665,  863,  863,
     1046      863,  665,  572,  863,  572,  667,  863,  667,  863,  863,
     1047      863,  667,  574,  863,  574,  669,  863,  669,  863,  863,
     1048      863,  669,  576,  863,  576,  671,  863,  671,  863,  863,
     1049
     1050      863,  671,  578,  863,  578,  673,  863,  673,  863,  863,
     1051      863,  673,  580,  863,  580,  675,  863,  675,  863,  863,
     1052      863,  675,  582,  863,  582,   85,  863,   85,  863,  863,
     1053      863,   85,  584,  863,  584,  485,  863,  485,  863,  863,
     1054      863,  485,  685,  863,  685,  863,  863,  863,  685,  598,
     1055      863,  598,  687,  863,  687,  863,  863,  863,  687,  600,
     1056      863,  600,  689,  863,  689,  863,  863,  863,  689,  602,
     1057      863,  602,  139,  863,  139,  863,  863,  863,  139,  604,
     1058      863,  604,  692,  863,  692,  606,  863,  606,   85,  863,
     1059      863,   85,  863,   85,   85,   85,   85,   85,  608,  863,
     1060
     1061      608,  661,  661,  661,  661,  661,  661,  661,  661,  661,
     1062      661,  661,  661,  661,  731,  863,  731,  863,  863,  863,
     1063      731,  663,  863,  663,  202,  863,  202,  863,  863,  863,
     1064      202,  665,  863,  665,  734,  863,  734,  667,  863,  667,
     1065      202,  863,  863,  202,  863,  202,  202,  202,  202,  202,
     1066      669,  863,  669,  735,  863,  735,  671,  863,  671,  673,
     1067      863,  673,  736,  863,  736,  675,  863,  675,   85,  863,
     1068       85,  738,  863,  738,  863,  863,  863,  738,  685,  863,
     1069      685,  267,  863,  267,  863,  863,  863,  267,  687,  863,
     1070      687,  741,  863,  741,  689,  863,  689,  139,  863,  139,
     1071
     1072      742,  863,  742,  863,  863,  863,  742,   85,  863,  863,
     1073       85,  863,   85,   85,   85,   85,   85,  774,  863,  774,
     1074      731,  863,  731,  202,  863,  202,  775,  863,  775,  863,
     1075      863,  863,  775,  777,  863,  777,  863,  863,  863,  777,
     1076      779,  863,  779,  863,  863,  863,  779,  781,  863,  781,
     1077      782,  863,  782,  863,  863,  863,  782,  784,  863,  784,
     1078      863,  863,  863,  784,  804,  863,  804,  863,  863,  863,
     1079      804,  806,  863,  806,  863,  863,  863,  806,  808,  863,
     1080      808,  863,  863,  863,  808,  810,  863,  810,  863,  863,
     1081      863,  810,  812,  863,  812,  863,  863,  863,  812,  814,
     1082
     1083      863,  814,  863,  863,  863,  814,  608,  863,  608,  863,
     1084      863,  863,  608,  832,  863,  832,  863,  863,  863,  832,
     1085      669,  863,  669,  863,  863,  863,  669,  673,  863,  673,
     1086      863,  863,  863,  673,   85,  863,   85,  863,  863,  863,
     1087       85,  837,  863,  837,  863,  863,  863,  837,  139,  863,
     1088      139,  863,  863,  863,  139,  202,  863,  202,  863,  863,
     1089      863,  202,   11,  863,  863,  863,  863,  863,  863,  863,
     1090      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1091      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1092      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1093
     1094      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1095      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1096      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1097      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1098      863,  863,  863,  863,  863,  863,  863
    10851099    } ;
    10861100
    1087 static yyconst flex_int16_t yy_chk[2848] =
     1101static yyconst flex_int16_t yy_chk[2948] =
    10881102    {   0,
    10891103        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    10951109        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    10961110        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1097         1,    1,    1,    1,    1,    2,   16,   24,   16,   24,
    1098         2,   19,   19,    2,    5,    5,    5,    5,    5,    5,
     1111        1,    1,    1,    1,    2,   16,   24,   16,   24,    2,
     1112       19,   19,    2,    5,    5,    5,    5,    5,    5,    5,
    10991113
    11001114        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
     
    11051119        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    11061120        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    1107         5,    5,    5,    5,    5,    5,    5,    5,    5,    7,
    1108         8,    9,   10,   37,   37,   20,   39,    9,   10,  521,
    1109         7,    8,   13,   13,   13,   13,   13,   13,   15,   15,
    1110 
    1111        15,   15,   15,   15,   20,   25,   48,   39,   42,   28,
    1112        27,   28,   28,   28,   28,   28,   28,  108,  521,   25,
    1113        29,   25,   27,   27,   27,   29,   48,   35,   40,    7,
    1114         8,    9,   10,   40,   42,   29,   30,   47,   30,   30,
    1115        30,   30,   30,   30,   35,   56,   35,   35,   44,  334,
    1116        44,  114,  108,   72,   56,   30,   63,  334,   47,   30,
    1117        47,   45,   45,   45,   49,   30,   30,   45,   45,   49,
    1118        45,   30,   40,   45,   45,   40,   49,   30,   45,   72,
    1119        61,   45,   49,   30,   86,  513,  114,   53,  513,   51,
    1120        60,   30,   61,   55,   30,   31,  107,   31,   31,   31,
    1121 
    1122        31,   31,   31,   50,   51,   53,   51,   63,   60,   54,
    1123        86,   55,   50,  109,   31,   51,   50,   55,   31,   54,
    1124       107,   50,   52,  113,   31,   50,   54,   52,  317,  125,
    1125        31,  125,  106,  156,  150,   52,   31,   52,  106,  317,
    1126        52,   59,   31,  109,   52,  156,   59,  113,  109,  151,
    1127        31,   38,  150,  174,  110,   38,   38,   57,   38,   59,
    1128        38,   38,  112,   38,  106,   38,   58,  151,  112,   57,
    1129        57,  109,  110,  174,   38,   38,   38,  166,   58,   57,
    1130       110,  152,   57,  115,  141,   59,   58,  126,   59,  126,
    1131       152,   67,   67,   58,  112,   38,   67,  128,   38,  128,
    1132 
    1133       166,  115,   59,   66,   66,   66,   66,   66,   66,  115,
    1134       141,   66,   67,   67,   67,   67,   67,   67,   79,   79,
    1135        79,   79,   79,   79,  160,   38,   38,   76,   76,  131,
    1136       163,  131,   76,  160,   76,  103,  103,  103,  103,   76,
    1137        81,   81,   81,   81,   81,   81,  129,  163,   76,   76,
    1138        76,   76,   82,   82,   82,   82,   82,   82,  130,   76,
    1139       129,  153,  129,  103,  132,  132,  158,  132,  103,  133,
    1140       130,  133,  130,  186,  136,   76,  136,  153,   76,  134,
    1141       134,  134,  158,   76,   76,  165,  164,   76,   76,  154,
    1142       138,  103,  138,  186,  155,   76,  164,  216,   76,  216,
    1143 
    1144        76,   76,   76,  144,   76,   84,  165,  154,  144,   84,
    1145        84,  168,  149,  173,   84,   84,  155,   84,  104,   84,
    1146       104,  104,  104,  104,  104,  104,  159,  149,   84,   84,
    1147        84,  173,  168,  105,  149,  105,  161,  104,  105,  105,
    1148       105,  105,  105,  105,  170,  162,  167,  144,  159,   84,
    1149       162,  169,   84,  104,  171,  157,  169,  161,  161,  104,
    1150       157,  172,  157,  162,  157,  157,  170,  175,  157,  171,
    1151       157,  105,  179,  167,  169,  157,  157,  157,  172,  157,
    1152        84,   98,   98,   98,   98,   98,   98,  176,  178,  179,
    1153       180,  185,  280,  182,  175,  180,  181,  183,   98,   98,
    1154 
    1155       192,  850,   98,  178,  185,  189,  187,  181,  183,  176,
    1156       178,  182,  280,  192,   98,  188,  203,  181,  181,  184,
    1157        98,   98,  190,  191,  184,  183,   98,  102,  102,  102,
    1158       102,  102,  102,  187,  188,  190,  191,  274,  191,  184,
    1159       449,  275,  203,  190,  102,  102,  207,  207,  102,  189,
    1160       274,  207,  189,  195,  195,  195,  195,  195,  195,  275,
    1161       102,  195,  277,  196,  196,  449,  102,  102,  196,  198,
    1162       198,  217,  102,  217,  198,  200,  200,  218,  277,  218,
    1163       200,  221,  200,  221,  196,  196,  196,  196,  196,  196,
    1164       198,  198,  198,  198,  198,  198,  200,  200,  200,  200,
    1165 
    1166       200,  200,  210,  210,  210,  210,  219,  220,  222,  222,
    1167       223,  222,  223,  224,  224,  224,  226,  239,  226,  220,
    1168       219,  220,  219,  227,  232,  227,  232,  278,  849,  232,
    1169       232,  232,  232,  232,  232,  210,  231,  231,  231,  231,
    1170       231,  231,  237,  237,  278,  244,  237,  252,  262,  263,
    1171       262,  263,  239,  231,  231,  279,  276,  231,  281,  282,
    1172       279,  288,  232,  281,  237,  237,  288,  290,  266,  231,
    1173       237,  244,  285,  252,  276,  231,  231,  848,  284,  282,
    1174       290,  231,  240,  240,  240,  240,  240,  240,  241,  241,
    1175       241,  241,  241,  241,  266,  283,  284,  286,  285,  240,
    1176 
    1177       289,  242,  242,  242,  242,  242,  242,  249,  291,  289,
    1178       283,  292,  286,  294,  847,  240,  283,  283,  243,  242,
    1179       243,  240,  242,  243,  243,  243,  243,  243,  243,  292,
    1180       249,  294,  249,  295,  242,  291,  249,  298,  295,  287,
    1181       301,  242,  249,  299,  296,  301,  242,  251,  251,  251,
    1182       251,  251,  251,  296,  249,  287,  287,  298,  249,  304,
    1183       300,  299,  249,  256,  256,  256,  256,  256,  256,  297,
    1184       302,  303,  307,  306,  305,  302,  297,  303,  304,  306,
    1185       251,  300,  300,  305,  308,  309,  310,  311,  307,  312,
    1186       313,  310,  311,  308,  312,  314,  256,  315,  320,  318,
    1187 
    1188       309,  321,  319,  322,  323,  325,  326,  324,  327,  313,
    1189       315,  312,  331,  314,  318,  319,  324,  328,  332,  330,
    1190       320,  323,  336,  322,  321,  333,  335,  325,  330,  326,
    1191       327,  335,  355,  396,  355,  328,  332,  336,  333,  337,
    1192       337,  338,  396,  356,  337,  356,  337,  338,  345,  345,
    1193       345,  345,  346,  346,  346,  346,  331,  362,  362,  362,
    1194       362,  362,  362,  392,  363,  363,  363,  363,  363,  363,
    1195       364,  376,  364,  552,  392,  364,  364,  364,  364,  364,
    1196       364,  345,  363,  552,  371,  363,  365,  365,  365,  365,
    1197       365,  365,  393,  401,  371,  376,  398,  363,  366,  366,
    1198 
    1199       366,  366,  366,  366,  363,  398,  401,  372,  393,  363,
    1200       371,  367,  367,  367,  367,  367,  367,  372,  395,  365,
    1201       368,  368,  368,  368,  368,  368,  400,  417,  394,  367,
    1202       374,  366,  367,  372,  373,  400,  374,  395,  368,  417,
    1203       375,  368,  375,  394,  367,  375,  375,  375,  375,  375,
    1204       375,  367,  399,  368,  378,  397,  367,  373,  406,  373,
    1205       368,  377,  374,  373,  411,  368,  397,  402,  845,  373,
    1206       403,  404,  378,  405,  399,  411,  406,  407,  375,  408,
    1207       378,  373,  407,  402,  377,  373,  377,  404,  404,  373,
    1208       377,  409,  403,  410,  408,  405,  377,  409,  412,  415,
    1209 
    1210       413,  408,  419,  420,  422,  423,  424,  430,  377,  421,
    1211       425,  423,  377,  415,  410,  413,  377,  412,  421,  425,
    1212       427,  424,  421,  419,  429,  420,  431,  422,  432,  430,
    1213       433,  434,  437,  435,  439,  427,  441,  440,  443,  442,
    1214       446,  431,  435,  444,  429,  433,  445,  447,  448,  437,
    1215       432,  434,  444,  446,  447,  448,  441,  439,  440,  442,
    1216       443,  450,  452,  451,  445,  454,  455,  611,  456,  450,
    1217       611,  844,  504,  452,  456,  455,  479,  482,  483,  450,
    1218       451,  465,  465,  465,  465,  504,  479,  454,  476,  476,
    1219       476,  476,  476,  476,  477,  477,  477,  477,  477,  477,
    1220 
    1221       481,  503,  479,  482,  483,  506,  476,  839,  509,  476,
    1222       481,  507,  477,  512,  516,  477,  508,  511,  503,  510,
    1223       506,  476,  511,  531,  512,  519,  481,  477,  476,  508,
    1224       509,  507,  510,  476,  477,  516,  519,  520,  517,  477,
    1225       478,  478,  478,  478,  478,  478,  480,  517,  480,  531,
    1226       520,  480,  480,  480,  480,  480,  480,  485,  485,  485,
    1227       485,  485,  485,  514,  486,  486,  486,  486,  486,  486,
    1228       487,  515,  487,  478,  524,  487,  487,  487,  487,  487,
    1229       487,  518,  486,  514,  480,  486,  518,  522,  523,  525,
    1230       515,  524,  533,  529,  526,  528,  522,  486,  525,  526,
    1231 
    1232       532,  528,  529,  534,  486,  535,  537,  533,  538,  486,
    1233       523,  539,  540,  542,  535,  537,  543,  532,  534,  547,
    1234       545,  543,  546,  539,  548,  538,  549,  540,  542,  545,
    1235       551,  546,  553,  554,  555,  557,  556,  548,  551,  553,
    1236       558,  547,  556,  549,  557,  560,  555,  561,  604,  603,
    1237       558,  617,  608,  609,  617,  554,  603,  604,  606,  608,
    1238       561,  609,  560,  580,  580,  580,  580,  580,  580,  581,
    1239       581,  581,  581,  581,  581,  606,  582,  582,  582,  582,
    1240       582,  582,  583,  607,  583,  605,  641,  583,  583,  583,
    1241       583,  583,  583,  641,  582,  612,  580,  582,  605,  586,
    1242 
    1243       586,  586,  586,  586,  586,  610,  607,  614,  612,  582,
    1244       588,  588,  588,  588,  588,  588,  582,  586,  602,  613,
    1245       586,  582,  610,  602,  615,  616,  619,  620,  588,  614,
    1246       623,  588,  586,  621,  613,  618,  602,  622,  624,  586,
    1247       625,  615,  620,  588,  586,  627,  622,  616,  623,  625,
    1248       588,  628,  618,  621,  619,  588,  629,  630,  635,  634,
    1249       624,  640,  648,  637,  651,  649,  630,  627,  652,  739,
    1250       640,  648,  682,  651,  628,  649,  684,  681,  629,  634,
    1251       637,  687,  682,  652,  739,  635,  670,  670,  670,  670,
    1252       670,  670,  671,  671,  671,  671,  671,  671,  681,  685,
    1253 
    1254       686,  687,  684,  690,  670,  686,  685,  670,  688,  689,
    1255       671,  688,  689,  671,  692,  693,  696,  838,  703,  670,
    1256       692,  690,  699,  695,  693,  671,  670,  694,  703,  837,
    1257       694,  670,  671,  697,  710,  705,  697,  671,  672,  672,
    1258       672,  672,  672,  672,  695,  696,  698,  700,  699,  701,
    1259       700,  702,  704,  713,  707,  698,  705,  710,  714,  702,
    1260       715,  717,  701,  707,  742,  704,  718,  740,  736,  717,
    1261       741,  672,  737,  713,  738,  718,  745,  740,  754,  738,
    1262       714,  715,  725,  725,  725,  725,  725,  725,  736,  737,
    1263       742,  743,  744,  741,  743,  747,  749,  753,  747,  749,
    1264 
    1265       750,  754,  759,  751,  745,  744,  751,  750,  752,  774,
    1266       776,  752,  753,  778,  777,  725,  778,  779,  780,  782,
    1267       783,  780,  786,  784,  787,  759,  784,  787,  806,  789,
    1268       788,  776,  777,  788,  790,  791,  774,  782,  789,  779,
    1269       807,  811,  808,  809,  786,  808,  783,  807,  836,  806,
    1270       790,  791,  809,  810,  814,  818,  810,  814,  811,  817,
    1271       819,  828,  817,  829,  818,  840,  841,  846,  829,  819,
    1272       828,  831,  833,  834,  831,  833,  834,  835,  832,  842,
    1273       835,  841,  842,  843,  830,  840,  843,  827,  826,  846,
    1274       852,  852,  852,  852,  852,  852,  852,  852,  852,  852,
    1275 
    1276       852,  852,  852,  853,  853,  853,  853,  853,  853,  853,
    1277       853,  853,  853,  853,  853,  853,  854,  854,  854,  854,
    1278       854,  854,  854,  854,  854,  854,  854,  854,  854,  855,
    1279       825,  824,  855,  823,  855,  855,  855,  855,  855,  856,
    1280       822,  821,  820,  856,  856,  856,  856,  856,  856,  857,
    1281       857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
    1282       857,  857,  858,  816,  815,  858,  813,  858,  858,  858,
    1283       858,  858,  859,  812,  859,  859,  805,  859,  859,  859,
    1284       859,  859,  859,  804,  859,  860,  803,  802,  860,  860,
    1285       860,  860,  860,  860,  860,  860,  801,  860,  861,  861,
    1286 
    1287       861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
    1288       861,  862,  862,  800,  862,  799,  798,  797,  862,  863,
    1289       796,  795,  863,  794,  863,  863,  863,  863,  863,  864,
    1290       793,  864,  792,  785,  781,  864,  865,  775,  865,  773,
    1291       772,  771,  865,  866,  770,  866,  769,  768,  767,  866,
    1292       867,  766,  867,  765,  764,  763,  867,  868,  762,  868,
    1293       761,  760,  758,  868,  869,  757,  869,  756,  755,  748,
    1294       869,  870,  746,  870,  735,  734,  733,  870,  871,  732,
    1295       871,  731,  730,  729,  871,  872,  728,  872,  727,  724,
    1296       723,  872,  873,  873,  873,  873,  873,  873,  873,  873,
    1297 
    1298       873,  873,  873,  873,  873,  874,  722,  874,  875,  875,
    1299       721,  875,  875,  875,  716,  875,  876,  876,  712,  876,
    1300       877,  711,  877,  709,  708,  706,  877,  878,  691,  878,
    1301       683,  680,  675,  878,  879,  673,  879,  661,  657,  655,
    1302       879,  880,  653,  880,  881,  650,  881,  647,  646,  645,
    1303       881,  882,  644,  882,  883,  643,  642,  883,  639,  883,
    1304       883,  883,  883,  883,  884,  884,  884,  884,  884,  884,
    1305       884,  884,  884,  884,  884,  884,  884,  885,  885,  885,
     1121        5,    5,    5,    5,    5,    5,    5,    7,    8,    9,
     1122       10,   37,   37,   20,   39,    9,   10,  862,    7,    8,
     1123       13,   13,   13,   13,   13,   13,   15,   15,   15,   15,
     1124
     1125       15,   15,   20,   25,   39,   42,   53,   28,   27,   28,
     1126       28,   28,   28,   28,   28,  108,  114,   25,   29,   25,
     1127       27,   27,   27,   29,   53,   35,    7,    8,    9,   10,
     1128       40,   42,   48,   29,   30,   40,   30,   30,   30,   30,
     1129       30,   30,   35,   61,   35,   35,   44,  861,   44,  108,
     1130      114,  860,   48,   30,   63,   61,   30,   56,   47,   45,
     1131       45,   45,   30,   30,   45,   45,   56,   45,   30,   55,
     1132       45,   45,   49,   40,   30,   45,   40,   49,   45,   47,
     1133       30,   47,   72,  125,   49,  125,   51,   55,   30,   86,
     1134       49,   30,   31,   55,   31,   31,   31,   31,   31,   31,
     1135
     1136       50,   51,  859,   51,   63,  153,   54,   58,   72,   50,
     1137       60,   31,   51,   50,   31,   86,   54,   57,   50,   58,
     1138       31,  153,   50,   54,  141,  156,   31,   58,   60,   57,
     1139       57,   59,   31,  126,   58,  126,   59,  156,   31,   57,
     1140       52,  857,   57,   67,   67,   52,   31,   38,   67,   59,
     1141      141,   38,   38,   52,   38,   52,   38,   38,   52,   38,
     1142      107,   38,   52,  113,   67,   67,   67,   67,   67,   67,
     1143       38,   38,   38,  128,   59,  128,  152,   59,   66,   66,
     1144       66,   66,   66,   66,  107,  152,   66,  113,  856,  851,
     1145       38,   59,  165,   38,   79,   79,   79,   79,   79,   79,
     1146
     1147       81,   81,   81,   81,   81,   81,   82,   82,   82,   82,
     1148       82,   82,  131,  165,  131,  103,  103,  103,  103,  106,
     1149       38,   38,   76,   76,  850,  106,  112,   76,  168,   76,
     1150      110,  133,  112,  133,   76,  102,  102,  102,  102,  102,
     1151      102,  130,  103,   76,   76,   76,   76,  103,  110,  168,
     1152      109,  106,  129,  130,   76,  130,  110,  104,  112,  104,
     1153      104,  104,  104,  104,  104,  149,  129,  102,  129,   76,
     1154      103,  136,   76,  136,  158,  115,  104,   76,   76,  109,
     1155      149,   76,   76,  155,  109,  132,  132,  149,  132,   76,
     1156      158,  104,   76,  115,   76,   76,   76,  104,   76,   84,
     1157
     1158      138,  115,  138,   84,   84,  155,  166,  109,   84,   84,
     1159      105,   84,  105,   84,  150,  105,  105,  105,  105,  105,
     1160      105,  151,   84,   84,   84,  134,  134,  134,  144,  166,
     1161      154,  157,  150,  144,  159,  167,  157,  174,  157,  151,
     1162      157,  157,   84,  161,  157,   84,  157,  105,  154,  160,
     1163      163,  157,  157,  157,  162,  157,  159,  174,  160,  162,
     1164      164,  169,  167,  170,  161,  161,  169,  163,  171,  172,
     1165      164,  144,  162,   84,   98,   98,   98,   98,   98,   98,
     1166      173,  175,  176,  171,  169,  170,  172,  178,  179,  182,
     1167       98,   98,  180,   98,   98,  184,  187,  180,  173,  181,
     1168
     1169      184,  189,  178,  183,  176,  179,   98,  182,  175,  178,
     1170      181,   98,   98,   98,  183,  184,   98,  185,   98,  186,
     1171      181,  181,  188,  187,  190,  191,  216,  849,  216,  192,
     1172      185,  183,  203,  217,  218,  217,  218,  190,  191,  186,
     1173      191,  188,  192,  246,  189,  190,  279,  189,  195,  195,
     1174      195,  195,  195,  195,  196,  196,  195,  848,  203,  196,
     1175      198,  198,  279,  207,  207,  198,  200,  200,  207,  246,
     1176      221,  200,  221,  200,  241,  196,  196,  196,  196,  196,
     1177      196,  198,  198,  198,  198,  198,  198,  200,  200,  200,
     1178      200,  200,  200,  210,  210,  210,  210,  219,  220,  222,
     1179
     1180      222,  223,  222,  223,  224,  224,  224,  226,  241,  226,
     1181      220,  219,  220,  219,  227,  234,  227,  232,  232,  234,
     1182      844,  233,  254,  233,  842,  210,  233,  233,  233,  233,
     1183      233,  233,  276,  264,  235,  264,  234,  235,  234,  265,
     1184      232,  265,  232,  234,  268,  276,  239,  239,  254,  240,
     1185      239,  240,  240,  240,  240,  235,  288,  235,  233,  280,
     1186      235,  236,  236,  236,  236,  236,  236,  239,  239,  239,
     1187      268,  288,  277,  278,  239,  281,  280,  236,  236,  325,
     1188      281,  236,  282,  240,  242,  242,  242,  242,  242,  242,
     1189      277,  278,  283,  236,  284,  286,  325,  283,  236,  236,
     1190
     1191      236,  242,  282,  289,  292,  236,  243,  243,  243,  243,
     1192      243,  243,  287,  286,  284,  305,  242,  292,  293,  289,
     1193      289,  305,  242,  244,  244,  244,  244,  244,  244,  253,
     1194      253,  253,  253,  253,  253,  251,  290,  333,  287,  244,
     1195      294,  290,  244,  244,  245,  293,  245,  291,  296,  245,
     1196      245,  245,  245,  245,  245,  244,  291,  251,  294,  251,
     1197      244,  253,  244,  251,  300,  244,  296,  244,  839,  251,
     1198      258,  258,  258,  258,  258,  258,  285,  297,  298,  299,
     1199      333,  251,  297,  301,  300,  251,  299,  298,  302,  251,
     1200      303,  285,  306,  311,  304,  303,  307,  285,  285,  304,
     1201
     1202      308,  301,  258,  309,  310,  307,  308,  312,  311,  302,
     1203      302,  306,  312,  310,  315,  313,  314,  316,  317,  309,
     1204      313,  314,  320,  319,  322,  323,  321,  324,  327,  328,
     1205      455,  317,  326,  315,  319,  316,  329,  320,  314,  321,
     1206      332,  326,  330,  334,  335,  336,  322,  324,  323,  332,
     1207      327,  337,  328,  336,  338,  455,  337,  335,  329,  340,
     1208      330,  334,  413,  339,  339,  340,  369,  413,  339,  338,
     1209      339,  347,  347,  347,  347,  348,  348,  348,  348,  357,
     1210      358,  357,  358,  366,  366,  366,  366,  366,  366,  368,
     1211      369,  368,  370,  382,  368,  368,  368,  368,  368,  368,
     1212
     1213      838,  837,  399,  347,  367,  367,  367,  367,  367,  367,
     1214      380,  377,  378,  370,  384,  370,  380,  382,  399,  400,
     1215      367,  377,  378,  367,  367,  371,  371,  371,  371,  371,
     1216      371,  836,  384,  398,  400,  835,  367,  377,  378,  415,
     1217      384,  367,  380,  367,  398,  415,  367,  402,  367,  372,
     1218      372,  372,  372,  372,  372,  401,  402,  371,  373,  373,
     1219      373,  373,  373,  373,  374,  374,  374,  374,  374,  374,
     1220      379,  403,  408,  834,  401,  405,  404,  406,  407,  421,
     1221      374,  372,  403,  410,  374,  404,  406,  409,  408,  452,
     1222      373,  407,  379,  421,  379,  383,  374,  405,  379,  410,
     1223
     1224      410,  374,  452,  374,  379,  381,  411,  381,  374,  409,
     1225      381,  381,  381,  381,  381,  381,  379,  383,  412,  383,
     1226      379,  417,  414,  383,  379,  416,  423,  802,  411,  383,
     1227      425,  418,  417,  419,  426,  428,  412,  414,  423,  430,
     1228      435,  383,  381,  802,  414,  383,  416,  429,  419,  383,
     1229      418,  425,  427,  429,  430,  431,  426,  433,  428,  436,
     1230      435,  427,  437,  438,  431,  427,  440,  439,  445,  441,
     1231      443,  446,  433,  447,  448,  449,  453,  437,  441,  450,
     1232      451,  436,  439,  453,  457,  438,  440,  443,  450,  454,
     1233      460,  445,  446,  447,  448,  456,  454,  449,  451,  458,
     1234
     1235      461,  457,  462,  456,  471,  471,  471,  471,  462,  461,
     1236      458,  488,  460,  456,  482,  482,  482,  482,  482,  482,
     1237      483,  483,  483,  483,  483,  483,  509,  512,  485,  487,
     1238      482,  510,  514,  482,  482,  489,  483,  488,  485,  487,
     1239      483,  515,  512,  509,  510,  514,  482,  516,  537,  526,
     1240      833,  482,  483,  482,  485,  487,  482,  483,  482,  483,
     1241      516,  489,  526,  515,  483,  484,  484,  484,  484,  484,
     1242      484,  486,  513,  486,  537,  539,  486,  486,  486,  486,
     1243      486,  486,  491,  491,  491,  491,  491,  491,  519,  517,
     1244      539,  519,  513,  493,  517,  493,  518,  484,  493,  493,
     1245
     1246      493,  493,  493,  493,  520,  522,  525,  518,  486,  492,
     1247      492,  492,  492,  492,  492,  521,  524,  525,  523,  527,
     1248      529,  524,  528,  530,  520,  492,  522,  523,  492,  492,
     1249      531,  528,  532,  538,  521,  832,  535,  532,  534,  531,
     1250      530,  492,  529,  540,  534,  535,  492,  527,  492,  544,
     1251      538,  492,  541,  492,  543,  545,  546,  548,  540,  549,
     1252      551,  541,  553,  543,  549,  552,  544,  545,  554,  551,
     1253      555,  546,  548,  559,  552,  557,  558,  560,  561,  562,
     1254      559,  554,  563,  557,  553,  562,  558,  555,  564,  566,
     1255      561,  563,  567,  611,  612,  616,  617,  828,  564,  560,
     1256
     1257      611,  693,  616,  612,  617,  567,  566,  586,  586,  586,
     1258      586,  586,  586,  587,  587,  587,  587,  587,  587,  589,
     1259      614,  589,  693,  613,  589,  589,  589,  589,  589,  589,
     1260      592,  592,  592,  592,  592,  592,  613,  614,  615,  586,
     1261      588,  588,  588,  588,  588,  588,  593,  593,  618,  610,
     1262      827,  620,  595,  594,  610,  595,  588,  594,  622,  588,
     1263      588,  615,  592,  619,  620,  618,  619,  610,  621,  593,
     1264      624,  593,  588,  595,  594,  595,  594,  588,  595,  588,
     1265      622,  594,  588,  621,  588,  596,  596,  596,  596,  596,
     1266      596,  623,  624,  625,  626,  628,  625,  630,  627,  629,
     1267
     1268      631,  596,  825,  633,  632,  596,  630,  636,  623,  635,
     1269      628,  626,  633,  637,  638,  643,  642,  596,  631,  629,
     1270      645,  649,  596,  638,  596,  627,  632,  682,  649,  596,
     1271      636,  635,  648,  699,  656,  637,  642,  645,  657,  660,
     1272      659,  648,  643,  656,  696,  697,  683,  700,  657,  659,
     1273      700,  682,  697,  699,  660,  678,  678,  678,  678,  678,
     1274      678,  679,  679,  679,  679,  679,  679,  683,  694,  683,
     1275      696,  678,  702,  701,  678,  678,  701,  679,  694,  698,
     1276      704,  679,  705,  707,  698,  706,  704,  678,  706,  708,
     1277      702,  705,  678,  679,  678,  711,  824,  678,  679,  678,
     1278
     1279      679,  713,  817,  717,  707,  679,  684,  684,  684,  684,
     1280      684,  684,  709,  710,  713,  709,  712,  708,  714,  712,
     1281      711,  715,  710,  716,  717,  719,  714,  722,  725,  726,
     1282      730,  715,  727,  729,  719,  748,  716,  749,  684,  730,
     1283      753,  729,  737,  737,  737,  737,  737,  737,  725,  751,
     1284      722,  726,  750,  727,  749,  748,  752,  750,  754,  755,
     1285      756,  757,  755,  753,  751,  759,  752,  761,  759,  762,
     1286      761,  765,  763,  756,  737,  763,  762,  764,  766,  771,
     1287      764,  786,  788,  803,  754,  791,  765,  789,  757,  790,
     1288      792,  794,  790,  792,  795,  796,  798,  799,  796,  803,
     1289
     1290      799,  766,  771,  788,  818,  789,  801,  791,  786,  794,
     1291      800,  823,  816,  800,  819,  801,  852,  820,  798,  795,
     1292      820,  819,  821,  822,  826,  818,  822,  826,  823,  829,
     1293      830,  821,  829,  831,  840,  841,  852,  853,  843,  830,
     1294      841,  843,  831,  840,  845,  846,  847,  845,  846,  847,
     1295      854,  855,  853,  854,  855,  858,  815,  814,  813,  812,
     1296      811,  810,  809,  808,  807,  806,  805,  804,  797,  793,
     1297      787,  785,  784,  783,  782,  781,  780,  858,  864,  864,
     1298      864,  864,  864,  864,  864,  864,  864,  864,  864,  864,
     1299      864,  865,  865,  865,  865,  865,  865,  865,  865,  865,
     1300
     1301      865,  865,  865,  865,  866,  866,  866,  866,  866,  866,
     1302      866,  866,  866,  866,  866,  866,  866,  867,  779,  778,
     1303      867,  777,  867,  867,  867,  867,  867,  868,  776,  775,
     1304      774,  868,  868,  868,  868,  868,  868,  869,  869,  869,
     1305      869,  869,  869,  869,  869,  869,  869,  869,  869,  869,
     1306      870,  773,  772,  870,  770,  870,  870,  870,  870,  870,
     1307      871,  769,  871,  871,  768,  871,  871,  871,  871,  871,
     1308      871,  767,  871,  872,  760,  758,  872,  872,  872,  872,
     1309      872,  872,  872,  872,  747,  872,  873,  873,  873,  873,
     1310      873,  873,  873,  873,  873,  873,  873,  873,  873,  874,
     1311
     1312      874,  746,  874,  745,  744,  743,  874,  875,  742,  741,
     1313      875,  740,  875,  875,  875,  875,  875,  876,  739,  876,
     1314      736,  735,  734,  876,  877,  728,  877,  724,  723,  721,
     1315      877,  878,  720,  878,  718,  703,  695,  878,  879,  692,
     1316      879,  687,  685,  669,  879,  880,  665,  880,  663,  661,
     1317      658,  880,  881,  655,  881,  654,  653,  652,  881,  882,
     1318      651,  882,  650,  647,  646,  882,  883,  644,  883,  641,
     1319      640,  639,  883,  884,  634,  884,  608,  604,  602,  884,
    13061320      885,  885,  885,  885,  885,  885,  885,  885,  885,  885,
    1307       886,  638,  886,  636,  633,  632,  886,  887,  631,  887,
    1308 
    1309       626,  600,  596,  887,  888,  594,  888,  592,  590,  584,
    1310       888,  889,  578,  889,  890,  576,  890,  574,  572,  570,
    1311       890,  891,  568,  891,  892,  566,  892,  564,  563,  562,
    1312       892,  893,  559,  893,  894,  550,  894,  544,  541,  536,
    1313       894,  895,  530,  895,  896,  527,  896,  505,  501,  499,
    1314       896,  897,  497,  897,  898,  495,  898,  493,  491,  490,
    1315       898,  899,  489,  899,  900,  488,  900,  474,  472,  471,
    1316       900,  901,  470,  901,  902,  468,  902,  466,  902,  463,
    1317       902,  903,  461,  903,  459,  903,  457,  903,  904,  904,
    1318       453,  904,  904,  904,  438,  904,  905,  436,  905,  428,
    1319 
    1320       426,  418,  905,  906,  416,  906,  414,  389,  387,  906,
    1321       907,  385,  907,  383,  382,  381,  907,  908,  360,  908,
    1322       909,  358,  909,  357,  353,  351,  909,  910,  349,  910,
    1323       911,  347,  911,  343,  341,  340,  911,  912,  339,  912,
    1324       913,  329,  913,  316,  293,  273,  913,  914,  271,  914,
    1325       915,  269,  268,  915,  267,  915,  915,  915,  915,  915,
    1326       916,  916,  916,  916,  916,  916,  916,  916,  916,  916,
    1327       916,  916,  916,  917,  265,  917,  264,  259,  255,  917,
    1328       918,  254,  918,  919,  250,  919,  247,  246,  235,  919,
    1329       920,  234,  920,  921,  229,  921,  228,  225,  215,  921,
    1330 
    1331       922,  213,  922,  923,  212,  923,  211,  205,  204,  923,
    1332       924,  202,  924,  925,  197,  925,  177,  148,  146,  925,
    1333       926,  145,  926,  927,  139,  927,  137,  135,  127,  927,
    1334       928,  124,  928,  929,  123,  929,  119,  100,   97,  929,
    1335       930,   94,  930,   92,   85,   71,  930,  931,   69,  931,
    1336       932,   65,  932,   36,   33,   18,  932,  933,   11,  933,
    1337       934,    4,  934,    3,  934,    0,  934,  935,    0,  935,
    1338         0,    0,    0,  935,  936,    0,  936,    0,    0,    0,
    1339       936,  937,    0,  937,  938,    0,  938,    0,    0,    0,
    1340       938,  939,    0,  939,  940,    0,  940,    0,    0,    0,
    1341 
    1342       940,  941,    0,  941,  942,    0,  942,    0,    0,    0,
    1343       942,  943,    0,  943,  944,    0,  944,    0,    0,    0,
    1344       944,  945,    0,  945,  946,    0,  946,    0,    0,    0,
    1345       946,  947,    0,  947,  948,    0,    0,  948,    0,  948,
    1346       948,  948,  948,  948,  949,  949,  949,  949,  949,  949,
    1347       949,  949,  949,  949,  949,  949,  949,  950,    0,  950,
    1348         0,    0,    0,  950,  951,    0,  951,  952,    0,  952,
    1349         0,    0,    0,  952,  953,    0,  953,  954,    0,  954,
    1350         0,    0,    0,  954,  955,    0,  955,  956,    0,  956,
    1351         0,    0,    0,  956,  957,    0,  957,  958,    0,  958,
    1352 
    1353         0,    0,    0,  958,  959,    0,  959,  960,    0,  960,
    1354         0,    0,    0,  960,  961,    0,  961,  962,    0,  962,
    1355         0,    0,    0,  962,  963,    0,  963,  964,    0,  964,
    1356         0,    0,    0,  964,  965,    0,  965,  966,    0,  966,
    1357         0,    0,    0,  966,  967,    0,  967,    0,    0,    0,
    1358       967,  968,    0,  968,  969,    0,  969,    0,    0,    0,
    1359       969,  970,    0,  970,  971,    0,  971,    0,    0,    0,
    1360       971,  972,    0,  972,  973,    0,  973,    0,    0,    0,
    1361       973,  974,    0,  974,  975,    0,  975,  976,    0,  976,
    1362       977,    0,    0,  977,    0,  977,  977,  977,  977,  977,
    1363 
    1364       978,    0,  978,  979,  979,  979,  979,  979,  979,  979,
    1365       979,  979,  979,  979,  979,  979,  980,    0,  980,    0,
    1366         0,    0,  980,  981,    0,  981,  982,    0,  982,    0,
    1367         0,    0,  982,  983,    0,  983,  984,    0,  984,  985,
    1368         0,  985,  986,    0,    0,  986,    0,  986,  986,  986,
    1369       986,  986,  987,    0,  987,  988,    0,  988,  989,    0,
    1370       989,  990,    0,  990,  991,    0,  991,  992,    0,  992,
    1371       993,    0,  993,  994,    0,  994,    0,    0,    0,  994,
    1372       995,    0,  995,  996,    0,  996,    0,    0,    0,  996,
    1373       997,    0,  997,  998,    0,  998,  999,    0,  999, 1000,
    1374 
    1375         0, 1000, 1001,    0, 1001,    0,    0,    0, 1001, 1002,
    1376         0,    0, 1002,    0, 1002, 1002, 1002, 1002, 1002, 1003,
    1377         0, 1003, 1004,    0, 1004, 1005,    0, 1005,    0,    0,
    1378         0, 1005, 1006,    0, 1006,    0,    0,    0, 1006, 1007,
    1379         0, 1007,    0,    0,    0, 1007, 1008,    0, 1008, 1009,
    1380         0, 1009,    0,    0,    0, 1009, 1010,    0, 1010,    0,
    1381         0,    0, 1010, 1011,    0, 1011,    0,    0,    0, 1011,
    1382      1012,    0, 1012,    0,    0,    0, 1012, 1013,    0, 1013,
    1383         0,    0,    0, 1013, 1014,    0, 1014,    0,    0,    0,
    1384      1014, 1015,    0, 1015,    0,    0,    0, 1015, 1016,    0,
    1385 
    1386      1016,    0,    0,    0, 1016, 1017,    0, 1017,    0,    0,
    1387         0, 1017, 1018,    0, 1018,    0,    0,    0, 1018, 1019,
    1388         0, 1019,    0,    0,    0, 1019, 1020,    0, 1020,    0,
    1389         0,    0, 1020, 1021,    0, 1021,    0,    0,    0, 1021,
    1390      1022,    0, 1022,    0,    0,    0, 1022, 1023,    0, 1023,
    1391         0,    0,    0, 1023, 1024,    0, 1024,    0,    0,    0,
    1392      1024,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1393       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1394       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1395       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1396 
    1397       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1398       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1399       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1400       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
    1401       851,  851,  851,  851,  851,  851,  851
     1321      885,  885,  885,  886,  600,  886,  887,  887,  598,  887,
     1322
     1323      887,  887,  590,  887,  888,  888,  584,  888,  889,  582,
     1324      580,  889,  578,  889,  889,  889,  889,  889,  890,  576,
     1325      890,  574,  572,  570,  890,  891,  569,  891,  568,  565,
     1326      556,  891,  892,  550,  892,  547,  542,  536,  892,  893,
     1327      533,  893,  894,  511,  894,  507,  505,  503,  894,  895,
     1328      501,  895,  896,  499,  497,  896,  496,  896,  896,  896,
     1329      896,  896,  897,  897,  897,  897,  897,  897,  897,  897,
     1330      897,  897,  897,  897,  897,  898,  898,  898,  898,  898,
     1331      898,  898,  898,  898,  898,  898,  898,  898,  899,  495,
     1332      899,  494,  480,  478,  899,  900,  477,  900,  476,  474,
     1333
     1334      472,  900,  901,  469,  901,  467,  465,  463,  901,  902,
     1335      459,  902,  903,  444,  903,  442,  434,  432,  903,  904,
     1336      424,  904,  905,  422,  905,  420,  395,  393,  905,  906,
     1337      391,  906,  907,  389,  907,  388,  387,  362,  907,  908,
     1338      360,  908,  909,  359,  909,  355,  353,  351,  909,  910,
     1339      349,  910,  911,  345,  911,  343,  342,  341,  911,  912,
     1340      331,  912,  913,  318,  913,  295,  275,  273,  913,  914,
     1341      271,  914,  915,  270,  915,  269,  915,  267,  915,  916,
     1342      266,  916,  261,  916,  257,  916,  917,  917,  256,  917,
     1343      917,  917,  252,  917,  918,  249,  918,  248,  237,  229,
     1344
     1345      918,  919,  228,  919,  225,  215,  213,  919,  920,  212,
     1346      920,  211,  205,  204,  920,  921,  202,  921,  922,  197,
     1347      922,  177,  148,  146,  922,  923,  145,  923,  924,  139,
     1348      924,  137,  135,  127,  924,  925,  124,  925,  926,  123,
     1349      926,  119,  100,   97,  926,  927,   94,  927,  928,   92,
     1350       85,  928,   71,  928,  928,  928,  928,  928,  929,  929,
     1351      929,  929,  929,  929,  929,  929,  929,  929,  929,  929,
     1352      929,  930,   69,  930,   65,   36,   33,  930,  931,   18,
     1353      931,  932,   11,  932,    4,    3,    0,  932,  933,    0,
     1354      933,  934,    0,  934,    0,    0,    0,  934,  935,    0,
     1355
     1356      935,  936,    0,  936,    0,    0,    0,  936,  937,    0,
     1357      937,  938,    0,  938,    0,    0,    0,  938,  939,    0,
     1358      939,  940,    0,  940,    0,    0,    0,  940,  941,    0,
     1359      941,  942,    0,  942,    0,    0,    0,  942,  943,    0,
     1360      943,    0,    0,    0,  943,  944,    0,  944,  945,    0,
     1361      945,    0,    0,    0,  945,  946,    0,  946,  947,    0,
     1362      947,    0,  947,    0,  947,  948,    0,  948,    0,    0,
     1363        0,  948,  949,    0,  949,    0,    0,    0,  949,  950,
     1364        0,  950,  951,    0,  951,    0,    0,    0,  951,  952,
     1365        0,  952,  953,    0,  953,    0,    0,    0,  953,  954,
     1366
     1367        0,  954,  955,    0,  955,    0,    0,    0,  955,  956,
     1368        0,  956,  957,    0,  957,    0,    0,    0,  957,  958,
     1369        0,  958,  959,    0,  959,    0,    0,    0,  959,  960,
     1370        0,  960,  961,    0,    0,  961,    0,  961,  961,  961,
     1371      961,  961,  962,  962,  962,  962,  962,  962,  962,  962,
     1372      962,  962,  962,  962,  962,  963,    0,  963,    0,    0,
     1373        0,  963,  964,    0,  964,  965,    0,  965,    0,    0,
     1374        0,  965,  966,    0,  966,  967,    0,  967,    0,    0,
     1375        0,  967,  968,    0,  968,  969,    0,  969,    0,    0,
     1376        0,  969,  970,    0,  970,  971,    0,  971,    0,    0,
     1377
     1378        0,  971,  972,    0,  972,  973,    0,  973,    0,    0,
     1379        0,  973,  974,    0,  974,  975,    0,  975,    0,    0,
     1380        0,  975,  976,    0,  976,  977,    0,  977,    0,    0,
     1381        0,  977,  978,    0,  978,  979,    0,  979,    0,    0,
     1382        0,  979,  980,    0,  980,    0,    0,    0,  980,  981,
     1383        0,  981,  982,    0,  982,    0,    0,    0,  982,  983,
     1384        0,  983,  984,    0,  984,    0,    0,    0,  984,  985,
     1385        0,  985,  986,    0,  986,    0,    0,    0,  986,  987,
     1386        0,  987,  988,    0,  988,  989,    0,  989,  990,    0,
     1387        0,  990,    0,  990,  990,  990,  990,  990,  991,    0,
     1388
     1389      991,  992,  992,  992,  992,  992,  992,  992,  992,  992,
     1390      992,  992,  992,  992,  993,    0,  993,    0,    0,    0,
     1391      993,  994,    0,  994,  995,    0,  995,    0,    0,    0,
     1392      995,  996,    0,  996,  997,    0,  997,  998,    0,  998,
     1393      999,    0,    0,  999,    0,  999,  999,  999,  999,  999,
     1394     1000,    0, 1000, 1001,    0, 1001, 1002,    0, 1002, 1003,
     1395        0, 1003, 1004,    0, 1004, 1005,    0, 1005, 1006,    0,
     1396     1006, 1007,    0, 1007,    0,    0,    0, 1007, 1008,    0,
     1397     1008, 1009,    0, 1009,    0,    0,    0, 1009, 1010,    0,
     1398     1010, 1011,    0, 1011, 1012,    0, 1012, 1013,    0, 1013,
     1399
     1400     1014,    0, 1014,    0,    0,    0, 1014, 1015,    0,    0,
     1401     1015,    0, 1015, 1015, 1015, 1015, 1015, 1016,    0, 1016,
     1402     1017,    0, 1017, 1018,    0, 1018, 1019,    0, 1019,    0,
     1403        0,    0, 1019, 1020,    0, 1020,    0,    0,    0, 1020,
     1404     1021,    0, 1021,    0,    0,    0, 1021, 1022,    0, 1022,
     1405     1023,    0, 1023,    0,    0,    0, 1023, 1024,    0, 1024,
     1406        0,    0,    0, 1024, 1025,    0, 1025,    0,    0,    0,
     1407     1025, 1026,    0, 1026,    0,    0,    0, 1026, 1027,    0,
     1408     1027,    0,    0,    0, 1027, 1028,    0, 1028,    0,    0,
     1409        0, 1028, 1029,    0, 1029,    0,    0,    0, 1029, 1030,
     1410
     1411        0, 1030,    0,    0,    0, 1030, 1031,    0, 1031,    0,
     1412        0,    0, 1031, 1032,    0, 1032,    0,    0,    0, 1032,
     1413     1033,    0, 1033,    0,    0,    0, 1033, 1034,    0, 1034,
     1414        0,    0,    0, 1034, 1035,    0, 1035,    0,    0,    0,
     1415     1035, 1036,    0, 1036,    0,    0,    0, 1036, 1037,    0,
     1416     1037,    0,    0,    0, 1037, 1038,    0, 1038,    0,    0,
     1417        0, 1038,  863,  863,  863,  863,  863,  863,  863,  863,
     1418      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1419      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1420      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1421
     1422      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1423      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1424      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1425      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
     1426      863,  863,  863,  863,  863,  863,  863
    14021427    } ;
    14031428
     
    14411466 * Created On       : Sat Sep 22 08:58:10 2001
    14421467 * Last Modified By : Peter A. Buhr
    1443  * Last Modified On : Thu Oct  8 16:13:07 2015
    1444  * Update Count     : 404
     1468 * Last Modified On : Thu Jan 14 21:29:44 2016
     1469 * Update Count     : 414
    14451470 */
    14461471#line 20 "lex.ll"
     
    14911516// attribute identifier, GCC: $ in identifier
    14921517// numeric constants, CFA: '_' in constant
     1518// GCC: D (double), LD (long double) and iI (imaginary) suffixes
    14931519// character escape sequence, GCC: \e => esc character
    14941520// ' stop highlighting
     
    14991525
    15001526
    1501 #line 1502 "Parser/lex.cc"
     1527#line 1528 "Parser/lex.cc"
    15021528
    15031529#define INITIAL 0
     
    16911717        register int yy_act;
    16921718   
    1693 #line 136 "lex.ll"
     1719#line 137 "lex.ll"
    16941720
    16951721                                   /* line directives */
    1696 #line 1697 "Parser/lex.cc"
     1722#line 1723 "Parser/lex.cc"
    16971723
    16981724        if ( !(yy_init) )
     
    17481774                                {
    17491775                                yy_current_state = (int) yy_def[yy_current_state];
    1750                                 if ( yy_current_state >= 852 )
     1776                                if ( yy_current_state >= 864 )
    17511777                                        yy_c = yy_meta[(unsigned int) yy_c];
    17521778                                }
     
    17541780                        ++yy_cp;
    17551781                        }
    1756                 while ( yy_base[yy_current_state] != 2762 );
     1782                while ( yy_base[yy_current_state] != 2863 );
    17571783
    17581784yy_find_action:
     
    17911817/* rule 1 can match eol */
    17921818YY_RULE_SETUP
    1793 #line 138 "lex.ll"
     1819#line 139 "lex.ll"
    17941820{
    17951821        /* " stop highlighting */
     
    18181844/* rule 2 can match eol */
    18191845YY_RULE_SETUP
    1820 #line 161 "lex.ll"
     1846#line 162 "lex.ll"
    18211847;
    18221848        YY_BREAK
     
    18241850case 3:
    18251851YY_RULE_SETUP
    1826 #line 164 "lex.ll"
     1852#line 165 "lex.ll"
    18271853{ BEGIN COMMENT; }
    18281854        YY_BREAK
     
    18301856/* rule 4 can match eol */
    18311857YY_RULE_SETUP
    1832 #line 165 "lex.ll"
     1858#line 166 "lex.ll"
    18331859;
    18341860        YY_BREAK
    18351861case 5:
    18361862YY_RULE_SETUP
    1837 #line 166 "lex.ll"
     1863#line 167 "lex.ll"
    18381864{ BEGIN 0; }
    18391865        YY_BREAK
     
    18421868/* rule 6 can match eol */
    18431869YY_RULE_SETUP
    1844 #line 169 "lex.ll"
     1870#line 170 "lex.ll"
    18451871;
    18461872        YY_BREAK
     
    18481874case 7:
    18491875YY_RULE_SETUP
    1850 #line 172 "lex.ll"
    1851 { WHITE_RETURN(' '); }
    1852         YY_BREAK
    1853 case 8:
    1854 YY_RULE_SETUP
    18551876#line 173 "lex.ll"
    18561877{ WHITE_RETURN(' '); }
    18571878        YY_BREAK
     1879case 8:
     1880YY_RULE_SETUP
     1881#line 174 "lex.ll"
     1882{ WHITE_RETURN(' '); }
     1883        YY_BREAK
    18581884case 9:
    18591885/* rule 9 can match eol */
    18601886YY_RULE_SETUP
    1861 #line 174 "lex.ll"
     1887#line 175 "lex.ll"
    18621888{ NEWLINE_RETURN(); }
    18631889        YY_BREAK
     
    18651891case 10:
    18661892YY_RULE_SETUP
    1867 #line 177 "lex.ll"
     1893#line 178 "lex.ll"
    18681894{ KEYWORD_RETURN(ALIGNAS); }                    // C11
    18691895        YY_BREAK
    18701896case 11:
    18711897YY_RULE_SETUP
    1872 #line 178 "lex.ll"
     1898#line 179 "lex.ll"
    18731899{ KEYWORD_RETURN(ALIGNOF); }                    // C11
    18741900        YY_BREAK
    18751901case 12:
    1876 YY_RULE_SETUP
    1877 #line 179 "lex.ll"
    1878 { KEYWORD_RETURN(ALIGNOF); }                    // GCC
    1879         YY_BREAK
    1880 case 13:
    18811902YY_RULE_SETUP
    18821903#line 180 "lex.ll"
    18831904{ KEYWORD_RETURN(ALIGNOF); }                    // GCC
    18841905        YY_BREAK
     1906case 13:
     1907YY_RULE_SETUP
     1908#line 181 "lex.ll"
     1909{ KEYWORD_RETURN(ALIGNOF); }                    // GCC
     1910        YY_BREAK
    18851911case 14:
    18861912YY_RULE_SETUP
    1887 #line 181 "lex.ll"
     1913#line 182 "lex.ll"
    18881914{ KEYWORD_RETURN(ASM); }
    18891915        YY_BREAK
    18901916case 15:
    1891 YY_RULE_SETUP
    1892 #line 182 "lex.ll"
    1893 { KEYWORD_RETURN(ASM); }                                // GCC
    1894         YY_BREAK
    1895 case 16:
    18961917YY_RULE_SETUP
    18971918#line 183 "lex.ll"
    18981919{ KEYWORD_RETURN(ASM); }                                // GCC
    18991920        YY_BREAK
     1921case 16:
     1922YY_RULE_SETUP
     1923#line 184 "lex.ll"
     1924{ KEYWORD_RETURN(ASM); }                                // GCC
     1925        YY_BREAK
    19001926case 17:
    19011927YY_RULE_SETUP
    1902 #line 184 "lex.ll"
     1928#line 185 "lex.ll"
    19031929{ KEYWORD_RETURN(AT); }                                 // CFA
    19041930        YY_BREAK
    19051931case 18:
    19061932YY_RULE_SETUP
    1907 #line 185 "lex.ll"
     1933#line 186 "lex.ll"
    19081934{ KEYWORD_RETURN(ATOMIC); }                             // C11
    19091935        YY_BREAK
    19101936case 19:
    1911 YY_RULE_SETUP
    1912 #line 186 "lex.ll"
    1913 { KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    1914         YY_BREAK
    1915 case 20:
    19161937YY_RULE_SETUP
    19171938#line 187 "lex.ll"
    19181939{ KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    19191940        YY_BREAK
     1941case 20:
     1942YY_RULE_SETUP
     1943#line 188 "lex.ll"
     1944{ KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
     1945        YY_BREAK
    19201946case 21:
    19211947YY_RULE_SETUP
    1922 #line 188 "lex.ll"
     1948#line 189 "lex.ll"
    19231949{ KEYWORD_RETURN(AUTO); }
    19241950        YY_BREAK
    19251951case 22:
    19261952YY_RULE_SETUP
    1927 #line 189 "lex.ll"
     1953#line 190 "lex.ll"
    19281954{ KEYWORD_RETURN(BOOL); }                               // C99
    19291955        YY_BREAK
    19301956case 23:
    19311957YY_RULE_SETUP
    1932 #line 190 "lex.ll"
     1958#line 191 "lex.ll"
    19331959{ KEYWORD_RETURN(BREAK); }
    19341960        YY_BREAK
    19351961case 24:
    19361962YY_RULE_SETUP
    1937 #line 191 "lex.ll"
     1963#line 192 "lex.ll"
    19381964{ KEYWORD_RETURN(CASE); }
    19391965        YY_BREAK
    19401966case 25:
    19411967YY_RULE_SETUP
    1942 #line 192 "lex.ll"
     1968#line 193 "lex.ll"
    19431969{ KEYWORD_RETURN(CATCH); }                              // CFA
    19441970        YY_BREAK
    19451971case 26:
    19461972YY_RULE_SETUP
    1947 #line 193 "lex.ll"
     1973#line 194 "lex.ll"
    19481974{ KEYWORD_RETURN(CATCHRESUME); }                // CFA
    19491975        YY_BREAK
    19501976case 27:
    19511977YY_RULE_SETUP
    1952 #line 194 "lex.ll"
     1978#line 195 "lex.ll"
    19531979{ KEYWORD_RETURN(CHAR); }
    19541980        YY_BREAK
    19551981case 28:
    19561982YY_RULE_SETUP
    1957 #line 195 "lex.ll"
     1983#line 196 "lex.ll"
    19581984{ KEYWORD_RETURN(CHOOSE); }                             // CFA
    19591985        YY_BREAK
    19601986case 29:
    19611987YY_RULE_SETUP
    1962 #line 196 "lex.ll"
     1988#line 197 "lex.ll"
    19631989{ KEYWORD_RETURN(COMPLEX); }                    // C99
    19641990        YY_BREAK
    19651991case 30:
    1966 YY_RULE_SETUP
    1967 #line 197 "lex.ll"
    1968 { KEYWORD_RETURN(COMPLEX); }                    // GCC
    1969         YY_BREAK
    1970 case 31:
    19711992YY_RULE_SETUP
    19721993#line 198 "lex.ll"
    19731994{ KEYWORD_RETURN(COMPLEX); }                    // GCC
    19741995        YY_BREAK
     1996case 31:
     1997YY_RULE_SETUP
     1998#line 199 "lex.ll"
     1999{ KEYWORD_RETURN(COMPLEX); }                    // GCC
     2000        YY_BREAK
    19752001case 32:
    19762002YY_RULE_SETUP
    1977 #line 199 "lex.ll"
     2003#line 200 "lex.ll"
    19782004{ KEYWORD_RETURN(CONST); }
    19792005        YY_BREAK
    19802006case 33:
    1981 YY_RULE_SETUP
    1982 #line 200 "lex.ll"
    1983 { KEYWORD_RETURN(CONST); }                              // GCC
    1984         YY_BREAK
    1985 case 34:
    19862007YY_RULE_SETUP
    19872008#line 201 "lex.ll"
    19882009{ KEYWORD_RETURN(CONST); }                              // GCC
    19892010        YY_BREAK
     2011case 34:
     2012YY_RULE_SETUP
     2013#line 202 "lex.ll"
     2014{ KEYWORD_RETURN(CONST); }                              // GCC
     2015        YY_BREAK
    19902016case 35:
    19912017YY_RULE_SETUP
    1992 #line 202 "lex.ll"
     2018#line 203 "lex.ll"
    19932019{ KEYWORD_RETURN(CONTEXT); }                    // CFA
    19942020        YY_BREAK
    19952021case 36:
    19962022YY_RULE_SETUP
    1997 #line 203 "lex.ll"
     2023#line 204 "lex.ll"
    19982024{ KEYWORD_RETURN(CONTINUE); }
    19992025        YY_BREAK
    20002026case 37:
    20012027YY_RULE_SETUP
    2002 #line 204 "lex.ll"
     2028#line 205 "lex.ll"
    20032029{ KEYWORD_RETURN(DEFAULT); }
    20042030        YY_BREAK
    20052031case 38:
    20062032YY_RULE_SETUP
    2007 #line 205 "lex.ll"
     2033#line 206 "lex.ll"
    20082034{ KEYWORD_RETURN(DISABLE); }                    // CFA
    20092035        YY_BREAK
    20102036case 39:
    20112037YY_RULE_SETUP
    2012 #line 206 "lex.ll"
     2038#line 207 "lex.ll"
    20132039{ KEYWORD_RETURN(DO); }
    20142040        YY_BREAK
    20152041case 40:
    20162042YY_RULE_SETUP
    2017 #line 207 "lex.ll"
     2043#line 208 "lex.ll"
    20182044{ KEYWORD_RETURN(DOUBLE); }
    20192045        YY_BREAK
    20202046case 41:
    20212047YY_RULE_SETUP
    2022 #line 208 "lex.ll"
     2048#line 209 "lex.ll"
    20232049{ KEYWORD_RETURN(DTYPE); }                              // CFA
    20242050        YY_BREAK
    20252051case 42:
    20262052YY_RULE_SETUP
    2027 #line 209 "lex.ll"
     2053#line 210 "lex.ll"
    20282054{ KEYWORD_RETURN(ELSE); }
    20292055        YY_BREAK
    20302056case 43:
    20312057YY_RULE_SETUP
    2032 #line 210 "lex.ll"
     2058#line 211 "lex.ll"
    20332059{ KEYWORD_RETURN(ENABLE); }                             // CFA
    20342060        YY_BREAK
    20352061case 44:
    20362062YY_RULE_SETUP
    2037 #line 211 "lex.ll"
     2063#line 212 "lex.ll"
    20382064{ KEYWORD_RETURN(ENUM); }
    20392065        YY_BREAK
    20402066case 45:
    20412067YY_RULE_SETUP
    2042 #line 212 "lex.ll"
     2068#line 213 "lex.ll"
    20432069{ KEYWORD_RETURN(EXTENSION); }                  // GCC
    20442070        YY_BREAK
    20452071case 46:
    20462072YY_RULE_SETUP
    2047 #line 213 "lex.ll"
     2073#line 214 "lex.ll"
    20482074{ KEYWORD_RETURN(EXTERN); }
    20492075        YY_BREAK
    20502076case 47:
    20512077YY_RULE_SETUP
    2052 #line 214 "lex.ll"
     2078#line 215 "lex.ll"
    20532079{ KEYWORD_RETURN(FALLTHRU); }                   // CFA
    20542080        YY_BREAK
    20552081case 48:
    20562082YY_RULE_SETUP
    2057 #line 215 "lex.ll"
     2083#line 216 "lex.ll"
    20582084{ KEYWORD_RETURN(FINALLY); }                    // CFA
    20592085        YY_BREAK
    20602086case 49:
    20612087YY_RULE_SETUP
    2062 #line 216 "lex.ll"
     2088#line 217 "lex.ll"
    20632089{ KEYWORD_RETURN(FLOAT); }
    20642090        YY_BREAK
    20652091case 50:
    20662092YY_RULE_SETUP
    2067 #line 217 "lex.ll"
     2093#line 218 "lex.ll"
    20682094{ KEYWORD_RETURN(FLOAT); }                              // GCC
    20692095        YY_BREAK
    20702096case 51:
    20712097YY_RULE_SETUP
    2072 #line 218 "lex.ll"
     2098#line 219 "lex.ll"
    20732099{ KEYWORD_RETURN(FOR); }
    20742100        YY_BREAK
    20752101case 52:
    20762102YY_RULE_SETUP
    2077 #line 219 "lex.ll"
     2103#line 220 "lex.ll"
    20782104{ KEYWORD_RETURN(FORALL); }                             // CFA
    20792105        YY_BREAK
    20802106case 53:
    20812107YY_RULE_SETUP
    2082 #line 220 "lex.ll"
     2108#line 221 "lex.ll"
    20832109{ KEYWORD_RETURN(FORTRAN); }
    20842110        YY_BREAK
    20852111case 54:
    20862112YY_RULE_SETUP
    2087 #line 221 "lex.ll"
     2113#line 222 "lex.ll"
    20882114{ KEYWORD_RETURN(FTYPE); }                              // CFA
    20892115        YY_BREAK
    20902116case 55:
    20912117YY_RULE_SETUP
    2092 #line 222 "lex.ll"
     2118#line 223 "lex.ll"
    20932119{ KEYWORD_RETURN(GENERIC); }                    // C11
    20942120        YY_BREAK
    20952121case 56:
    20962122YY_RULE_SETUP
    2097 #line 223 "lex.ll"
     2123#line 224 "lex.ll"
    20982124{ KEYWORD_RETURN(GOTO); }
    20992125        YY_BREAK
    21002126case 57:
    21012127YY_RULE_SETUP
    2102 #line 224 "lex.ll"
     2128#line 225 "lex.ll"
    21032129{ KEYWORD_RETURN(IF); }
    21042130        YY_BREAK
    21052131case 58:
    21062132YY_RULE_SETUP
    2107 #line 225 "lex.ll"
     2133#line 226 "lex.ll"
    21082134{ KEYWORD_RETURN(IMAGINARY); }                  // C99
    21092135        YY_BREAK
    21102136case 59:
    2111 YY_RULE_SETUP
    2112 #line 226 "lex.ll"
    2113 { KEYWORD_RETURN(IMAGINARY); }                  // GCC
    2114         YY_BREAK
    2115 case 60:
    21162137YY_RULE_SETUP
    21172138#line 227 "lex.ll"
    21182139{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
    21192140        YY_BREAK
     2141case 60:
     2142YY_RULE_SETUP
     2143#line 228 "lex.ll"
     2144{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
     2145        YY_BREAK
    21202146case 61:
    21212147YY_RULE_SETUP
    2122 #line 228 "lex.ll"
     2148#line 229 "lex.ll"
    21232149{ KEYWORD_RETURN(INLINE); }                             // C99
    21242150        YY_BREAK
    21252151case 62:
    2126 YY_RULE_SETUP
    2127 #line 229 "lex.ll"
    2128 { KEYWORD_RETURN(INLINE); }                             // GCC
    2129         YY_BREAK
    2130 case 63:
    21312152YY_RULE_SETUP
    21322153#line 230 "lex.ll"
    21332154{ KEYWORD_RETURN(INLINE); }                             // GCC
    21342155        YY_BREAK
     2156case 63:
     2157YY_RULE_SETUP
     2158#line 231 "lex.ll"
     2159{ KEYWORD_RETURN(INLINE); }                             // GCC
     2160        YY_BREAK
    21352161case 64:
    21362162YY_RULE_SETUP
    2137 #line 231 "lex.ll"
     2163#line 232 "lex.ll"
    21382164{ KEYWORD_RETURN(INT); }
    21392165        YY_BREAK
    21402166case 65:
    21412167YY_RULE_SETUP
    2142 #line 232 "lex.ll"
     2168#line 233 "lex.ll"
    21432169{ KEYWORD_RETURN(INT); }                                // GCC
    21442170        YY_BREAK
    21452171case 66:
    21462172YY_RULE_SETUP
    2147 #line 233 "lex.ll"
     2173#line 234 "lex.ll"
    21482174{ KEYWORD_RETURN(LABEL); }                              // GCC
    21492175        YY_BREAK
    21502176case 67:
    21512177YY_RULE_SETUP
    2152 #line 234 "lex.ll"
     2178#line 235 "lex.ll"
    21532179{ KEYWORD_RETURN(LONG); }
    21542180        YY_BREAK
    21552181case 68:
    21562182YY_RULE_SETUP
    2157 #line 235 "lex.ll"
     2183#line 236 "lex.ll"
    21582184{ KEYWORD_RETURN(LVALUE); }                             // CFA
    21592185        YY_BREAK
    21602186case 69:
    21612187YY_RULE_SETUP
    2162 #line 236 "lex.ll"
     2188#line 237 "lex.ll"
    21632189{ KEYWORD_RETURN(NORETURN); }                   // C11
    21642190        YY_BREAK
    21652191case 70:
    21662192YY_RULE_SETUP
    2167 #line 237 "lex.ll"
     2193#line 238 "lex.ll"
    21682194{ KEYWORD_RETURN(REGISTER); }
    21692195        YY_BREAK
    21702196case 71:
    21712197YY_RULE_SETUP
    2172 #line 238 "lex.ll"
     2198#line 239 "lex.ll"
    21732199{ KEYWORD_RETURN(RESTRICT); }                   // C99
    21742200        YY_BREAK
    21752201case 72:
    2176 YY_RULE_SETUP
    2177 #line 239 "lex.ll"
    2178 { KEYWORD_RETURN(RESTRICT); }                   // GCC
    2179         YY_BREAK
    2180 case 73:
    21812202YY_RULE_SETUP
    21822203#line 240 "lex.ll"
    21832204{ KEYWORD_RETURN(RESTRICT); }                   // GCC
    21842205        YY_BREAK
     2206case 73:
     2207YY_RULE_SETUP
     2208#line 241 "lex.ll"
     2209{ KEYWORD_RETURN(RESTRICT); }                   // GCC
     2210        YY_BREAK
    21852211case 74:
    21862212YY_RULE_SETUP
    2187 #line 241 "lex.ll"
     2213#line 242 "lex.ll"
    21882214{ KEYWORD_RETURN(RETURN); }
    21892215        YY_BREAK
    21902216case 75:
    21912217YY_RULE_SETUP
    2192 #line 242 "lex.ll"
     2218#line 243 "lex.ll"
    21932219{ KEYWORD_RETURN(SHORT); }
    21942220        YY_BREAK
    21952221case 76:
    21962222YY_RULE_SETUP
    2197 #line 243 "lex.ll"
     2223#line 244 "lex.ll"
    21982224{ KEYWORD_RETURN(SIGNED); }
    21992225        YY_BREAK
    22002226case 77:
    2201 YY_RULE_SETUP
    2202 #line 244 "lex.ll"
    2203 { KEYWORD_RETURN(SIGNED); }                             // GCC
    2204         YY_BREAK
    2205 case 78:
    22062227YY_RULE_SETUP
    22072228#line 245 "lex.ll"
    22082229{ KEYWORD_RETURN(SIGNED); }                             // GCC
    22092230        YY_BREAK
     2231case 78:
     2232YY_RULE_SETUP
     2233#line 246 "lex.ll"
     2234{ KEYWORD_RETURN(SIGNED); }                             // GCC
     2235        YY_BREAK
    22102236case 79:
    22112237YY_RULE_SETUP
    2212 #line 246 "lex.ll"
     2238#line 247 "lex.ll"
    22132239{ KEYWORD_RETURN(SIZEOF); }
    22142240        YY_BREAK
    22152241case 80:
    22162242YY_RULE_SETUP
    2217 #line 247 "lex.ll"
     2243#line 248 "lex.ll"
    22182244{ KEYWORD_RETURN(STATIC); }
    22192245        YY_BREAK
    22202246case 81:
    22212247YY_RULE_SETUP
    2222 #line 248 "lex.ll"
     2248#line 249 "lex.ll"
    22232249{ KEYWORD_RETURN(STATICASSERT); }               // C11
    22242250        YY_BREAK
    22252251case 82:
    22262252YY_RULE_SETUP
    2227 #line 249 "lex.ll"
     2253#line 250 "lex.ll"
    22282254{ KEYWORD_RETURN(STRUCT); }
    22292255        YY_BREAK
    22302256case 83:
    22312257YY_RULE_SETUP
    2232 #line 250 "lex.ll"
     2258#line 251 "lex.ll"
    22332259{ KEYWORD_RETURN(SWITCH); }
    22342260        YY_BREAK
    22352261case 84:
    22362262YY_RULE_SETUP
    2237 #line 251 "lex.ll"
     2263#line 252 "lex.ll"
    22382264{ KEYWORD_RETURN(THREADLOCAL); }                // C11
    22392265        YY_BREAK
    22402266case 85:
    22412267YY_RULE_SETUP
    2242 #line 252 "lex.ll"
     2268#line 253 "lex.ll"
    22432269{ KEYWORD_RETURN(THROW); }                              // CFA
    22442270        YY_BREAK
    22452271case 86:
    22462272YY_RULE_SETUP
    2247 #line 253 "lex.ll"
     2273#line 254 "lex.ll"
    22482274{ KEYWORD_RETURN(THROWRESUME); }                // CFA
    22492275        YY_BREAK
    22502276case 87:
    22512277YY_RULE_SETUP
    2252 #line 254 "lex.ll"
     2278#line 255 "lex.ll"
    22532279{ KEYWORD_RETURN(TRY); }                                // CFA
    22542280        YY_BREAK
    22552281case 88:
    22562282YY_RULE_SETUP
    2257 #line 255 "lex.ll"
     2283#line 256 "lex.ll"
    22582284{ KEYWORD_RETURN(TYPE); }                               // CFA
    22592285        YY_BREAK
    22602286case 89:
    22612287YY_RULE_SETUP
    2262 #line 256 "lex.ll"
     2288#line 257 "lex.ll"
    22632289{ KEYWORD_RETURN(TYPEDEF); }
    22642290        YY_BREAK
    22652291case 90:
    2266 YY_RULE_SETUP
    2267 #line 257 "lex.ll"
    2268 { KEYWORD_RETURN(TYPEOF); }                             // GCC
    2269         YY_BREAK
    2270 case 91:
    22712292YY_RULE_SETUP
    22722293#line 258 "lex.ll"
    22732294{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    22742295        YY_BREAK
    2275 case 92:
     2296case 91:
    22762297YY_RULE_SETUP
    22772298#line 259 "lex.ll"
    22782299{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    22792300        YY_BREAK
     2301case 92:
     2302YY_RULE_SETUP
     2303#line 260 "lex.ll"
     2304{ KEYWORD_RETURN(TYPEOF); }                             // GCC
     2305        YY_BREAK
    22802306case 93:
    22812307YY_RULE_SETUP
    2282 #line 260 "lex.ll"
     2308#line 261 "lex.ll"
    22832309{ KEYWORD_RETURN(UNION); }
    22842310        YY_BREAK
    22852311case 94:
    22862312YY_RULE_SETUP
    2287 #line 261 "lex.ll"
     2313#line 262 "lex.ll"
    22882314{ KEYWORD_RETURN(UNSIGNED); }
    22892315        YY_BREAK
    22902316case 95:
    22912317YY_RULE_SETUP
    2292 #line 262 "lex.ll"
     2318#line 263 "lex.ll"
    22932319{ KEYWORD_RETURN(VOID); }
    22942320        YY_BREAK
    22952321case 96:
    22962322YY_RULE_SETUP
    2297 #line 263 "lex.ll"
     2323#line 264 "lex.ll"
    22982324{ KEYWORD_RETURN(VOLATILE); }
    22992325        YY_BREAK
    23002326case 97:
    2301 YY_RULE_SETUP
    2302 #line 264 "lex.ll"
    2303 { KEYWORD_RETURN(VOLATILE); }                   // GCC
    2304         YY_BREAK
    2305 case 98:
    23062327YY_RULE_SETUP
    23072328#line 265 "lex.ll"
    23082329{ KEYWORD_RETURN(VOLATILE); }                   // GCC
    23092330        YY_BREAK
     2331case 98:
     2332YY_RULE_SETUP
     2333#line 266 "lex.ll"
     2334{ KEYWORD_RETURN(VOLATILE); }                   // GCC
     2335        YY_BREAK
    23102336case 99:
    23112337YY_RULE_SETUP
    2312 #line 266 "lex.ll"
     2338#line 267 "lex.ll"
    23132339{ KEYWORD_RETURN(WHILE); }
    23142340        YY_BREAK
     
    23162342case 100:
    23172343YY_RULE_SETUP
    2318 #line 269 "lex.ll"
     2344#line 270 "lex.ll"
    23192345{ IDENTIFIER_RETURN(); }
    23202346        YY_BREAK
    23212347case 101:
    23222348YY_RULE_SETUP
    2323 #line 270 "lex.ll"
     2349#line 271 "lex.ll"
    23242350{ ATTRIBUTE_RETURN(); }
    23252351        YY_BREAK
    23262352case 102:
    23272353YY_RULE_SETUP
    2328 #line 271 "lex.ll"
     2354#line 272 "lex.ll"
    23292355{ BEGIN BKQUOTE; }
    23302356        YY_BREAK
    23312357case 103:
    23322358YY_RULE_SETUP
    2333 #line 272 "lex.ll"
     2359#line 273 "lex.ll"
    23342360{ IDENTIFIER_RETURN(); }
    23352361        YY_BREAK
    23362362case 104:
    23372363YY_RULE_SETUP
    2338 #line 273 "lex.ll"
     2364#line 274 "lex.ll"
    23392365{ BEGIN 0; }
    23402366        YY_BREAK
     
    23422368case 105:
    23432369YY_RULE_SETUP
    2344 #line 276 "lex.ll"
     2370#line 277 "lex.ll"
    23452371{ NUMERIC_RETURN(ZERO); }                               // CFA
    23462372        YY_BREAK
    23472373case 106:
    23482374YY_RULE_SETUP
    2349 #line 277 "lex.ll"
     2375#line 278 "lex.ll"
    23502376{ NUMERIC_RETURN(ONE); }                                // CFA
    23512377        YY_BREAK
    23522378case 107:
    2353 YY_RULE_SETUP
    2354 #line 278 "lex.ll"
    2355 { NUMERIC_RETURN(INTEGERconstant); }
    2356         YY_BREAK
    2357 case 108:
    23582379YY_RULE_SETUP
    23592380#line 279 "lex.ll"
    23602381{ NUMERIC_RETURN(INTEGERconstant); }
    23612382        YY_BREAK
    2362 case 109:
     2383case 108:
    23632384YY_RULE_SETUP
    23642385#line 280 "lex.ll"
    23652386{ NUMERIC_RETURN(INTEGERconstant); }
    23662387        YY_BREAK
     2388case 109:
     2389YY_RULE_SETUP
     2390#line 281 "lex.ll"
     2391{ NUMERIC_RETURN(INTEGERconstant); }
     2392        YY_BREAK
    23672393case 110:
    2368 YY_RULE_SETUP
    2369 #line 281 "lex.ll"
    2370 { NUMERIC_RETURN(FLOATINGconstant); }
    2371         YY_BREAK
    2372 case 111:
    23732394YY_RULE_SETUP
    23742395#line 282 "lex.ll"
    23752396{ NUMERIC_RETURN(FLOATINGconstant); }
    23762397        YY_BREAK
     2398case 111:
     2399YY_RULE_SETUP
     2400#line 283 "lex.ll"
     2401{ NUMERIC_RETURN(FLOATINGconstant); }
     2402        YY_BREAK
    23772403/* character constant, allows empty value */
    23782404case 112:
    23792405YY_RULE_SETUP
    2380 #line 285 "lex.ll"
     2406#line 286 "lex.ll"
    23812407{ BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    23822408        YY_BREAK
    23832409case 113:
    23842410YY_RULE_SETUP
    2385 #line 286 "lex.ll"
     2411#line 287 "lex.ll"
    23862412{ *strtext += std::string( yytext ); }
    23872413        YY_BREAK
     
    23892415/* rule 114 can match eol */
    23902416YY_RULE_SETUP
    2391 #line 287 "lex.ll"
     2417#line 288 "lex.ll"
    23922418{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); }
    23932419        YY_BREAK
     
    23962422case 115:
    23972423YY_RULE_SETUP
    2398 #line 291 "lex.ll"
     2424#line 292 "lex.ll"
    23992425{ BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    24002426        YY_BREAK
    24012427case 116:
    24022428YY_RULE_SETUP
    2403 #line 292 "lex.ll"
     2429#line 293 "lex.ll"
    24042430{ *strtext += std::string( yytext ); }
    24052431        YY_BREAK
     
    24072433/* rule 117 can match eol */
    24082434YY_RULE_SETUP
    2409 #line 293 "lex.ll"
     2435#line 294 "lex.ll"
    24102436{ BEGIN 0; *strtext += std::string( yytext ); RETURN_STR(STRINGliteral); }
    24112437        YY_BREAK
     
    24142440case 118:
    24152441YY_RULE_SETUP
    2416 #line 297 "lex.ll"
     2442#line 298 "lex.ll"
    24172443{ rm_underscore(); *strtext += std::string( yytext ); }
    24182444        YY_BREAK
     
    24202446/* rule 119 can match eol */
    24212447YY_RULE_SETUP
    2422 #line 298 "lex.ll"
     2448#line 299 "lex.ll"
    24232449{}                                              // continuation (ALSO HANDLED BY CPP)
    24242450        YY_BREAK
    24252451case 120:
    24262452YY_RULE_SETUP
    2427 #line 299 "lex.ll"
     2453#line 300 "lex.ll"
    24282454{ *strtext += std::string( yytext ); } // unknown escape character
    24292455        YY_BREAK
     
    24312457case 121:
    24322458YY_RULE_SETUP
    2433 #line 302 "lex.ll"
    2434 { ASCIIOP_RETURN(); }
    2435         YY_BREAK
    2436 case 122:
    2437 YY_RULE_SETUP
    24382459#line 303 "lex.ll"
    24392460{ ASCIIOP_RETURN(); }
    24402461        YY_BREAK
    2441 case 123:
     2462case 122:
    24422463YY_RULE_SETUP
    24432464#line 304 "lex.ll"
    24442465{ ASCIIOP_RETURN(); }
    24452466        YY_BREAK
    2446 case 124:
     2467case 123:
    24472468YY_RULE_SETUP
    24482469#line 305 "lex.ll"
    24492470{ ASCIIOP_RETURN(); }
    24502471        YY_BREAK
    2451 case 125:
     2472case 124:
    24522473YY_RULE_SETUP
    24532474#line 306 "lex.ll"
    24542475{ ASCIIOP_RETURN(); }
    24552476        YY_BREAK
    2456 case 126:
     2477case 125:
    24572478YY_RULE_SETUP
    24582479#line 307 "lex.ll"
    24592480{ ASCIIOP_RETURN(); }
    24602481        YY_BREAK
     2482case 126:
     2483YY_RULE_SETUP
     2484#line 308 "lex.ll"
     2485{ ASCIIOP_RETURN(); }
     2486        YY_BREAK
    24612487case 127:
    24622488YY_RULE_SETUP
    2463 #line 308 "lex.ll"
     2489#line 309 "lex.ll"
    24642490{ ASCIIOP_RETURN(); }                                   // also operator
    24652491        YY_BREAK
    24662492case 128:
    2467 YY_RULE_SETUP
    2468 #line 309 "lex.ll"
    2469 { ASCIIOP_RETURN(); }
    2470         YY_BREAK
    2471 case 129:
    24722493YY_RULE_SETUP
    24732494#line 310 "lex.ll"
    24742495{ ASCIIOP_RETURN(); }
    24752496        YY_BREAK
     2497case 129:
     2498YY_RULE_SETUP
     2499#line 311 "lex.ll"
     2500{ ASCIIOP_RETURN(); }
     2501        YY_BREAK
    24762502case 130:
    24772503YY_RULE_SETUP
    2478 #line 311 "lex.ll"
     2504#line 312 "lex.ll"
    24792505{ ASCIIOP_RETURN(); }                                   // also operator
    24802506        YY_BREAK
    24812507case 131:
    24822508YY_RULE_SETUP
    2483 #line 312 "lex.ll"
     2509#line 313 "lex.ll"
    24842510{ NAMEDOP_RETURN(ELLIPSIS); }
    24852511        YY_BREAK
     
    24872513case 132:
    24882514YY_RULE_SETUP
    2489 #line 315 "lex.ll"
     2515#line 316 "lex.ll"
    24902516{ RETURN_VAL('['); }
    24912517        YY_BREAK
    24922518case 133:
    24932519YY_RULE_SETUP
    2494 #line 316 "lex.ll"
     2520#line 317 "lex.ll"
    24952521{ RETURN_VAL(']'); }
    24962522        YY_BREAK
    24972523case 134:
    24982524YY_RULE_SETUP
    2499 #line 317 "lex.ll"
     2525#line 318 "lex.ll"
    25002526{ RETURN_VAL('{'); }
    25012527        YY_BREAK
    25022528case 135:
    25032529YY_RULE_SETUP
    2504 #line 318 "lex.ll"
     2530#line 319 "lex.ll"
    25052531{ RETURN_VAL('}'); }
    25062532        YY_BREAK
     
    25082534case 136:
    25092535YY_RULE_SETUP
    2510 #line 321 "lex.ll"
    2511 { ASCIIOP_RETURN(); }
    2512         YY_BREAK
    2513 case 137:
    2514 YY_RULE_SETUP
    25152536#line 322 "lex.ll"
    25162537{ ASCIIOP_RETURN(); }
    25172538        YY_BREAK
    2518 case 138:
     2539case 137:
    25192540YY_RULE_SETUP
    25202541#line 323 "lex.ll"
    25212542{ ASCIIOP_RETURN(); }
    25222543        YY_BREAK
    2523 case 139:
     2544case 138:
    25242545YY_RULE_SETUP
    25252546#line 324 "lex.ll"
    25262547{ ASCIIOP_RETURN(); }
    25272548        YY_BREAK
    2528 case 140:
     2549case 139:
    25292550YY_RULE_SETUP
    25302551#line 325 "lex.ll"
    25312552{ ASCIIOP_RETURN(); }
    25322553        YY_BREAK
    2533 case 141:
     2554case 140:
    25342555YY_RULE_SETUP
    25352556#line 326 "lex.ll"
    25362557{ ASCIIOP_RETURN(); }
    25372558        YY_BREAK
    2538 case 142:
     2559case 141:
    25392560YY_RULE_SETUP
    25402561#line 327 "lex.ll"
    25412562{ ASCIIOP_RETURN(); }
    25422563        YY_BREAK
    2543 case 143:
     2564case 142:
    25442565YY_RULE_SETUP
    25452566#line 328 "lex.ll"
    25462567{ ASCIIOP_RETURN(); }
    25472568        YY_BREAK
    2548 case 144:
     2569case 143:
    25492570YY_RULE_SETUP
    25502571#line 329 "lex.ll"
    25512572{ ASCIIOP_RETURN(); }
    25522573        YY_BREAK
    2553 case 145:
     2574case 144:
    25542575YY_RULE_SETUP
    25552576#line 330 "lex.ll"
    25562577{ ASCIIOP_RETURN(); }
    25572578        YY_BREAK
    2558 case 146:
     2579case 145:
    25592580YY_RULE_SETUP
    25602581#line 331 "lex.ll"
    25612582{ ASCIIOP_RETURN(); }
    25622583        YY_BREAK
    2563 case 147:
     2584case 146:
    25642585YY_RULE_SETUP
    25652586#line 332 "lex.ll"
    25662587{ ASCIIOP_RETURN(); }
    25672588        YY_BREAK
    2568 case 148:
     2589case 147:
    25692590YY_RULE_SETUP
    25702591#line 333 "lex.ll"
    25712592{ ASCIIOP_RETURN(); }
    25722593        YY_BREAK
    2573 case 149:
     2594case 148:
    25742595YY_RULE_SETUP
    25752596#line 334 "lex.ll"
    25762597{ ASCIIOP_RETURN(); }
    25772598        YY_BREAK
     2599case 149:
     2600YY_RULE_SETUP
     2601#line 335 "lex.ll"
     2602{ ASCIIOP_RETURN(); }
     2603        YY_BREAK
    25782604case 150:
    25792605YY_RULE_SETUP
    2580 #line 336 "lex.ll"
     2606#line 337 "lex.ll"
    25812607{ NAMEDOP_RETURN(ICR); }
    25822608        YY_BREAK
    25832609case 151:
    25842610YY_RULE_SETUP
    2585 #line 337 "lex.ll"
     2611#line 338 "lex.ll"
    25862612{ NAMEDOP_RETURN(DECR); }
    25872613        YY_BREAK
    25882614case 152:
    25892615YY_RULE_SETUP
    2590 #line 338 "lex.ll"
     2616#line 339 "lex.ll"
    25912617{ NAMEDOP_RETURN(EQ); }
    25922618        YY_BREAK
    25932619case 153:
    25942620YY_RULE_SETUP
    2595 #line 339 "lex.ll"
     2621#line 340 "lex.ll"
    25962622{ NAMEDOP_RETURN(NE); }
    25972623        YY_BREAK
    25982624case 154:
    25992625YY_RULE_SETUP
    2600 #line 340 "lex.ll"
     2626#line 341 "lex.ll"
    26012627{ NAMEDOP_RETURN(LS); }
    26022628        YY_BREAK
    26032629case 155:
    26042630YY_RULE_SETUP
    2605 #line 341 "lex.ll"
     2631#line 342 "lex.ll"
    26062632{ NAMEDOP_RETURN(RS); }
    26072633        YY_BREAK
    26082634case 156:
    26092635YY_RULE_SETUP
    2610 #line 342 "lex.ll"
     2636#line 343 "lex.ll"
    26112637{ NAMEDOP_RETURN(LE); }
    26122638        YY_BREAK
    26132639case 157:
    26142640YY_RULE_SETUP
    2615 #line 343 "lex.ll"
     2641#line 344 "lex.ll"
    26162642{ NAMEDOP_RETURN(GE); }
    26172643        YY_BREAK
    26182644case 158:
    26192645YY_RULE_SETUP
    2620 #line 344 "lex.ll"
     2646#line 345 "lex.ll"
    26212647{ NAMEDOP_RETURN(ANDAND); }
    26222648        YY_BREAK
    26232649case 159:
    26242650YY_RULE_SETUP
    2625 #line 345 "lex.ll"
     2651#line 346 "lex.ll"
    26262652{ NAMEDOP_RETURN(OROR); }
    26272653        YY_BREAK
    26282654case 160:
    26292655YY_RULE_SETUP
    2630 #line 346 "lex.ll"
     2656#line 347 "lex.ll"
    26312657{ NAMEDOP_RETURN(ARROW); }
    26322658        YY_BREAK
    26332659case 161:
    26342660YY_RULE_SETUP
    2635 #line 347 "lex.ll"
     2661#line 348 "lex.ll"
    26362662{ NAMEDOP_RETURN(PLUSassign); }
    26372663        YY_BREAK
    26382664case 162:
    26392665YY_RULE_SETUP
    2640 #line 348 "lex.ll"
     2666#line 349 "lex.ll"
    26412667{ NAMEDOP_RETURN(MINUSassign); }
    26422668        YY_BREAK
    26432669case 163:
    26442670YY_RULE_SETUP
    2645 #line 349 "lex.ll"
     2671#line 350 "lex.ll"
    26462672{ NAMEDOP_RETURN(MULTassign); }
    26472673        YY_BREAK
    26482674case 164:
    26492675YY_RULE_SETUP
    2650 #line 350 "lex.ll"
     2676#line 351 "lex.ll"
    26512677{ NAMEDOP_RETURN(DIVassign); }
    26522678        YY_BREAK
    26532679case 165:
    26542680YY_RULE_SETUP
    2655 #line 351 "lex.ll"
     2681#line 352 "lex.ll"
    26562682{ NAMEDOP_RETURN(MODassign); }
    26572683        YY_BREAK
    26582684case 166:
    26592685YY_RULE_SETUP
    2660 #line 352 "lex.ll"
     2686#line 353 "lex.ll"
    26612687{ NAMEDOP_RETURN(ANDassign); }
    26622688        YY_BREAK
    26632689case 167:
    26642690YY_RULE_SETUP
    2665 #line 353 "lex.ll"
     2691#line 354 "lex.ll"
    26662692{ NAMEDOP_RETURN(ORassign); }
    26672693        YY_BREAK
    26682694case 168:
    26692695YY_RULE_SETUP
    2670 #line 354 "lex.ll"
     2696#line 355 "lex.ll"
    26712697{ NAMEDOP_RETURN(ERassign); }
    26722698        YY_BREAK
    26732699case 169:
    26742700YY_RULE_SETUP
    2675 #line 355 "lex.ll"
     2701#line 356 "lex.ll"
    26762702{ NAMEDOP_RETURN(LSassign); }
    26772703        YY_BREAK
    26782704case 170:
    26792705YY_RULE_SETUP
    2680 #line 356 "lex.ll"
     2706#line 357 "lex.ll"
    26812707{ NAMEDOP_RETURN(RSassign); }
    26822708        YY_BREAK
    26832709case 171:
    26842710YY_RULE_SETUP
    2685 #line 358 "lex.ll"
     2711#line 359 "lex.ll"
    26862712{ NAMEDOP_RETURN(ATassign); }
    26872713        YY_BREAK
     
    26892715case 172:
    26902716YY_RULE_SETUP
    2691 #line 361 "lex.ll"
     2717#line 362 "lex.ll"
    26922718{ IDENTIFIER_RETURN(); }                                // unary
    26932719        YY_BREAK
    26942720case 173:
    2695 YY_RULE_SETUP
    2696 #line 362 "lex.ll"
    2697 { IDENTIFIER_RETURN(); }
    2698         YY_BREAK
    2699 case 174:
    27002721YY_RULE_SETUP
    27012722#line 363 "lex.ll"
    27022723{ IDENTIFIER_RETURN(); }
    27032724        YY_BREAK
     2725case 174:
     2726YY_RULE_SETUP
     2727#line 364 "lex.ll"
     2728{ IDENTIFIER_RETURN(); }
     2729        YY_BREAK
    27042730case 175:
    27052731YY_RULE_SETUP
    2706 #line 364 "lex.ll"
     2732#line 365 "lex.ll"
    27072733{ IDENTIFIER_RETURN(); }                // binary
    27082734        YY_BREAK
     
    27352761case 176:
    27362762YY_RULE_SETUP
    2737 #line 391 "lex.ll"
     2763#line 392 "lex.ll"
    27382764{
    27392765        // 1 or 2 character unary operator ?
     
    27502776case 177:
    27512777YY_RULE_SETUP
    2752 #line 403 "lex.ll"
     2778#line 404 "lex.ll"
    27532779{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
    27542780        YY_BREAK
    27552781case 178:
    27562782YY_RULE_SETUP
    2757 #line 405 "lex.ll"
     2783#line 406 "lex.ll"
    27582784ECHO;
    27592785        YY_BREAK
    2760 #line 2761 "Parser/lex.cc"
     2786#line 2787 "Parser/lex.cc"
    27612787case YY_STATE_EOF(INITIAL):
    27622788case YY_STATE_EOF(COMMENT):
     
    30553081                        {
    30563082                        yy_current_state = (int) yy_def[yy_current_state];
    3057                         if ( yy_current_state >= 852 )
     3083                        if ( yy_current_state >= 864 )
    30583084                                yy_c = yy_meta[(unsigned int) yy_c];
    30593085                        }
     
    30833109                {
    30843110                yy_current_state = (int) yy_def[yy_current_state];
    3085                 if ( yy_current_state >= 852 )
     3111                if ( yy_current_state >= 864 )
    30863112                        yy_c = yy_meta[(unsigned int) yy_c];
    30873113                }
    30883114        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    3089         yy_is_jam = (yy_current_state == 851);
     3115        yy_is_jam = (yy_current_state == 863);
    30903116
    30913117        return yy_is_jam ? 0 : yy_current_state;
     
    37333759#define YYTABLES_NAME "yytables"
    37343760
    3735 #line 405 "lex.ll"
     3761#line 406 "lex.ll"
    37363762
    37373763
Note: See TracChangeset for help on using the changeset viewer.