Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/lex.cc

    rde62360d r08061589  
    382382        (yy_c_buf_p) = yy_cp;
    383383
    384 #define YY_NUM_RULES 171
    385 #define YY_END_OF_BUFFER 172
     384#define YY_NUM_RULES 181
     385#define YY_END_OF_BUFFER 182
    386386/* This struct is not used in this scanner,
    387387   but its presence is necessary. */
     
    391391        flex_int32_t yy_nxt;
    392392        };
    393 static yyconst flex_int16_t yy_accept[826] =
     393static yyconst flex_int16_t yy_accept[892] =
    394394    {   0,
    395         0,    0,    0,    0,    0,    0,  108,  108,  111,  111,
    396       172,  170,    7,    9,    8,  131,  110,   95,  136,  139,
    397       107,  118,  119,  134,  132,  122,  133,  125,  135,  100,
    398       101,  102,  123,  124,  141,  143,  142,  144,  170,   95,
    399       116,  170,  117,  137,   95,   97,   95,   95,   95,   95,
    400        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    401        95,  120,  140,  121,  138,    7,  170,    4,    4,  171,
    402        98,  171,   99,  108,  109,  115,  111,  112,    7,    9,
    403         0,    8,  148,  166,   95,    0,  160,  130,  153,  161,
    404       158,  145,  156,  146,  157,  155,    0,  105,    3,    0,
    405 
    406       159,  105,  103,    0,    0,  103,  103,    0,    0,  103,
    407       102,  102,  102,    0,  102,  128,  129,  127,  149,  151,
    408       147,  152,  150,    0,    0,    0,    0,    0,    0,    0,
    409         0,    0,    0,    0,    0,    0,    0,    0,   96,    0,
    410       110,  107,   95,    0,    0,  163,   95,   95,   95,   95,
    411        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    412        95,   95,   36,   95,   95,   95,   95,   95,   95,   95,
    413        95,   95,   95,   53,   95,   95,   95,   95,   95,   95,
    414        95,   95,   95,   95,   95,   95,   95,   95,   95,  162,
    415       154,    7,    0,    0,    0,    2,    0,    5,   98,    0,
    416 
    417         0,    0,  108,    0,  114,  113,  113,    0,    0,    0,
    418       111,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    419         0,    0,    0,    0,    0,    0,  126,  105,    0,  105,
    420         0,    0,    6,    0,  103,    0,    0,    0,  105,    0,
    421       103,  103,  103,  103,    0,  104,    0,    0,  102,  102,
    422       102,  102,    0,  164,  165,    0,  168,  167,    0,    0,
    423         0,   96,    0,    0,    0,    0,    0,    0,    0,   95,
    424        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    425        95,   95,   95,   95,   95,   95,   95,   95,   14,   95,
    426        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    427 
    428        95,   95,   95,   95,   95,   47,   95,   95,   95,   60,
    429        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    430        95,   95,   82,   95,   95,   95,   95,   95,   95,   95,
    431         0,    0,    0,    0,    0,    0,    0,    0,  113,    0,
    432         0,    0,    0,    0,  113,    0,    0,  169,    0,    0,
    433         0,    0,    0,    0,    0,    0,  105,    0,    0,    0,
    434       105,    0,  103,  103,    0,    0,  104,  104,    0,  104,
    435         0,  104,  102,  102,    0,    0,    0,    0,    0,    0,
    436         0,    0,    0,    0,   95,   95,   95,   95,   95,   95,
    437        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    438 
    439        95,   95,   95,   95,   95,   95,   20,   95,   23,   95,
    440        25,   95,   95,   95,   95,   95,   95,   39,   40,   95,
    441        95,   95,   95,   95,   95,   95,   52,   95,   63,   95,
    442        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    443        83,   95,   95,   90,   95,   95,    0,    0,    0,    0,
     395        0,    0,    0,    0,    0,    0,  116,  116,  119,  119,
     396      182,  180,    7,    9,    8,  139,  118,  103,  144,  147,
     397      115,  126,  127,  142,  140,  130,  141,  133,  143,  108,
     398      109,  110,  131,  132,  149,  151,  150,  152,  180,  103,
     399      124,  180,  125,  145,  103,  105,  103,  103,  103,  103,
     400      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
     401      103,  103,  128,  148,  129,  146,    7,  180,    4,    4,
     402      181,  106,  181,  107,  116,  117,  123,  119,  120,    7,
     403        9,    0,    8,  156,  175,  103,    0,  168,  138,  161,
     404      169,  166,  153,  164,  154,  165,  163,    0,  113,    3,
     405
     406        0,  167,  113,  111,    0,    0,  111,  111,    0,    0,
     407      111,  110,  110,  110,    0,  110,  136,  137,  135,  157,
     408      159,  155,  160,  158,    0,    0,    0,    0,    0,    0,
     409        0,    0,    0,    0,    0,    0,    0,    0,    0,  104,
     410      174,    0,  118,  115,  103,    0,    0,  171,    0,  103,
     411      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
     412      103,  103,  103,  103,  103,  103,   38,  103,  103,  103,
     413      103,  103,  103,  103,  103,  103,  103,   57,  103,  103,
     414      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
     415      103,  103,  103,  103,  170,  162,    7,    0,    0,    0,
     416
     417        2,    0,    5,  106,    0,    0,    0,  116,    0,  122,
     418      121,  121,    0,    0,    0,  119,    0,    0,    0,    0,
    444419        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    445       113,    0,    0,    0,    0,    0,  105,    0,    0,    0,
    446         0,    0,    0,  104,  104,    0,  106,    0,  104,  104,
     420        0,  134,  113,  113,    0,  113,  113,    0,    0,    6,
     421        0,  111,    0,    0,    0,  113,    0,  111,  111,  111,
     422      111,    0,  112,    0,    0,  110,  110,  110,  110,    0,
     423      172,  173,    0,  178,  176,    0,    0,    0,  104,    0,
     424        0,    0,    0,    0,    0,    0,    0,  103,   17,  103,
     425      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
     426      103,  103,  103,  103,  103,  103,  103,   14,  103,  103,
     427
     428      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
     429      103,  103,  103,  103,  103,  103,   51,  103,  103,  103,
     430       64,  103,  103,  103,  103,  103,  103,  103,  103,  103,
     431      103,  103,  103,  103,  103,   90,  103,  103,  103,  103,
     432      103,  103,  103,    0,    0,    0,    0,    0,    0,    0,
     433        0,  121,    0,    0,    0,    0,    0,  121,    0,    0,
     434      179,    0,    0,    0,    0,    0,    0,    0,  113,    0,
     435      113,    0,  113,    0,    0,  113,    0,  111,  111,    0,
     436        0,  112,  112,    0,  112,    0,  112,  110,  110,    0,
     437        0,    0,    0,    0,    0,    0,    0,    0,    0,  177,
     438
     439      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
     440      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
     441      103,  103,  103,   21,  103,   24,  103,   27,  103,  103,
     442      103,  103,  103,  103,  103,   41,  103,   43,  103,  103,
     443      103,  103,  103,  103,  103,   56,  103,   67,  103,  103,
     444      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
     445      103,  103,  103,  103,   98,  103,  103,    0,    0,    0,
    447446        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    448         0,    0,    0,   95,   95,   21,   95,   95,   95,   95,
    449 
    450        95,   95,   95,   15,   95,   95,   95,   95,   95,   95,
    451        95,   95,   95,   95,   95,   95,   95,   22,   24,   95,
    452        30,   95,   95,   95,   95,   38,   95,   95,   95,   45,
    453        95,   95,   50,   95,   95,   95,   95,   95,   71,   95,
    454        95,   95,   95,   95,   81,   95,   95,   88,   95,   95,
    455        94,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     447        0,  121,    0,    0,    0,    0,    0,  113,    0,    0,
     448        0,    0,    0,    0,  112,  112,    0,  114,    0,  112,
     449
     450      112,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     451        0,    0,    0,    0,  103,  103,   22,  103,  103,  103,
     452      103,  103,  103,  103,   15,  103,  103,  103,  103,  103,
     453      103,  103,  103,  103,  103,  103,  103,  103,  103,   23,
     454       25,  103,   32,  103,  103,  103,  103,   40,  103,  103,
     455      103,  103,   49,  103,  103,   54,  103,  103,   71,  103,
     456      103,  103,   77,  103,  103,  103,  103,  103,   87,   89,
     457      103,  103,   95,  103,  103,  102,    0,    0,    0,    0,
    456458        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    457       106,    0,    0,  104,  106,  106,    0,  104,    0,    0,
    458         0,    0,    0,    0,    0,    0,    0,    0,   95,    0,
    459        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    460 
    461        95,   95,   95,   95,   95,   55,   95,   95,   95,   95,
    462        95,   95,   95,   26,   95,   95,   95,   37,   42,   95,
    463        95,   48,   95,   57,   64,   95,   95,   70,   72,   75,
    464        76,   78,   79,   95,   85,   95,   95,    0,    1,    0,
    465         0,    0,    0,    0,    0,   98,    0,    0,    0,  113,
    466         0,    0,    0,    0,  106,    0,    0,    0,    0,    0,
    467         0,    0,    0,    0,    0,   95,   95,   17,   95,   95,
    468        95,   95,   95,   95,   95,   16,   95,   95,   31,   95,
    469        95,   95,   95,   95,   95,   95,   95,   95,   95,   33,
    470        95,   35,   95,   44,   49,   95,   95,   84,   95,   95,
    471 
    472         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    473         0,    0,    0,   10,   11,   27,   51,   95,   95,   95,
    474        95,   95,   95,   95,   95,   95,   95,   56,   58,   61,
    475        95,   95,   73,   86,   95,   34,   43,   66,   67,   89,
    476        91,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    477         0,    0,    0,   95,   65,   95,   95,   12,   95,   28,
    478        32,   95,   95,   95,   62,   95,   95,   95,   95,    0,
    479         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    480         0,    0,   54,   95,   95,   95,   95,   95,   95,   46,
    481        59,   68,   74,   87,   92,    0,    0,    0,    0,    0,
    482 
    483         0,    0,    0,   95,   95,   13,   18,   29,   95,   95,
    484        95,    0,    0,   95,   95,   95,   95,   69,   93,   95,
    485        80,   19,   41,   77,    0
     459        0,    0,    0,    0,    0,  114,    0,    0,  112,  114,
     460
     461      114,  114,  114,    0,  112,    0,    0,    0,    0,    0,
     462        0,    0,    0,    0,    0,  103,    0,  103,  103,  103,
     463      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
     464      103,  103,  103,   59,  103,  103,  103,  103,  103,  103,
     465      103,  103,   28,  103,  103,  103,   39,   42,   45,  103,
     466      103,   52,  103,   61,   68,  103,  103,   76,   78,   81,
     467       82,   84,   85,  103,  103,   92,  103,  103,    0,    1,
     468        0,    0,    0,    0,    0,    0,  106,    0,    0,    0,
     469      121,    0,    0,    0,    0,  114,    0,  114,  114,    0,
     470        0,    0,    0,    0,    0,    0,    0,    0,  103,  103,
     471
     472       18,  103,  103,  103,  103,  103,  103,  103,   16,  103,
     473      103,  103,   33,  103,  103,  103,  103,  103,  103,  103,
     474      103,  103,  103,  103,  103,   36,   37,  103,   48,   53,
     475      103,  103,  103,   91,  103,  103,    0,    0,    0,    0,
     476        0,    0,    0,    0,    0,    0,    0,    0,    0,   10,
     477       11,   29,   55,  103,  103,  103,  103,  103,  103,  103,
     478      103,  103,  103,  103,   60,   62,   65,  103,  103,   79,
     479       93,  103,  103,   35,  103,   47,   72,   73,  103,   96,
     480       99,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     481        0,    0,    0,  103,   69,  103,  103,   12,  103,  103,
     482
     483       30,   34,  103,  103,  103,   66,  103,  103,  103,  103,
     484      103,  103,  103,    0,    0,    0,    0,    0,    0,    0,
     485        0,    0,    0,    0,    0,    0,   58,  103,  103,  103,
     486      103,  103,  103,  103,   50,   63,   74,   80,   94,  100,
     487      103,  103,  103,    0,    0,    0,    0,    0,    0,    0,
     488        0,  103,  103,   13,   19,  103,  103,   31,  103,  103,
     489      103,   26,   46,   88,    0,    0,  103,  103,  103,  103,
     490      103,  103,   75,  101,  103,   86,   20,  103,  103,   44,
     491       83,  103,  103,  103,  103,  103,  103,  103,   97,   70,
     492        0
     493
    486494    } ;
    487495
     
    496504       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
    497505       42,   11,   43,   11,   11,   44,   11,   45,   11,   46,
    498        11,   11,   47,   48,   49,   11,   11,   50,   11,   11,
    499        51,   52,   53,   54,   55,   56,   57,   58,   59,   60,
    500 
    501        61,   62,   63,   64,   65,   11,   66,   67,   68,   69,
    502        70,   71,   11,   72,   73,   74,   75,   76,   77,   78,
    503        79,   80,   81,   82,   83,   84,    1,    1,    1,    1,
     506       11,   47,   48,   49,   50,   11,   11,   51,   11,   11,
     507       52,   53,   54,   55,   56,   57,   58,   59,   60,   61,
     508
     509       62,   63,   64,   65,   66,   11,   67,   68,   69,   70,
     510       71,   72,   11,   73,   74,   75,   76,   77,   78,   79,
     511       80,   81,   82,   83,   84,   85,    1,    1,    1,    1,
    504512        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    505513        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    518526    } ;
    519527
    520 static yyconst flex_int32_t yy_meta[85] =
     528static yyconst flex_int32_t yy_meta[86] =
    521529    {   0,
    522530        1,    1,    2,    1,    1,    1,    1,    1,    3,    1,
    523531        4,    1,    1,    5,    1,    1,    1,    1,    1,    1,
    524532        6,    1,    7,    7,    7,    7,    7,    7,    1,    1,
    525         1,    1,    1,    1,    1,    8,    8,    8,    8,    8,
    526         8,    4,    4,    9,    4,   10,    4,    4,    9,    4,
    527         1,   11,    1,    1,   12,    1,    8,    8,    8,    8,
    528         8,    8,    4,    4,    4,    4,    9,    4,    4,    4,
    529        10,    4,    4,    4,    9,    4,    4,    4,    4,    4,
    530         1,    1,    1,    1
     533        1,    8,    1,    1,    1,    9,    9,    9,    9,    9,
     534        9,    4,    4,   10,    4,   11,    4,    4,    4,   10,
     535        4,    1,   12,    1,    1,   13,    1,    9,    9,    9,
     536        9,    9,    9,    4,    4,    4,    4,   10,    4,    4,
     537        4,   11,    4,    4,    4,   10,    4,    4,    4,    4,
     538        4,    1,    1,    1,    1
    531539    } ;
    532540
    533 static yyconst flex_int16_t yy_base[999] =
     541static yyconst flex_int16_t yy_base[1066] =
    534542    {   0,
    535         0,   83, 2266, 2265,   93,    0,  175,  176,  177,  178,
    536      2281, 2568,  189, 2568,  195,   54, 2568, 2223,   59,  171,
    537      2568, 2568, 2568,   55,  186, 2568,  189,  187,  202,  214,
    538       272,    0, 2241, 2568,  214, 2241,  150,  340, 2215,  222,
    539      2568,  157, 2568, 2234,  277, 2568,  192,  133,  196,  198,
    540       204,  271,  155,  218,  181,  200,  266,  238,  337,  224,
    541       227, 2568,  223, 2568, 2231,  372,  400, 2568, 2237, 2568,
    542      2206,  213, 2568,    0, 2568,  427,    0, 2568,  363, 2568,
    543       381,  393, 2568,  498, 2205,  229, 2568, 2568, 2568, 2568,
    544      2568, 2217, 2568, 2216, 2568, 2568, 2228,  558, 2568, 2240,
    545 
    546      2568,  603,  385,  443,  419,  259,  239,  280,  399,  406,
    547         0,  305,  240,  335,  411, 2568, 2568, 2568, 2210, 2568,
    548      2568, 2568, 2209, 2188,  215,  277, 2203,  310,  383,  384,
    549       327,  425,  380,  399, 2180,  448, 2130,  458, 2160,  288,
    550      2568, 2568,  486, 2151, 2150, 2568,  420,  423,  439,  456,
    551       445,  455,  460,  329,  483,  469,  462,  467,  480,  494,
    552       396,  471,  472,  487,  470,  513,  489,  506,  508,  509,
    553       386,  510,  516, 2152,  520,  522,  518,  541,  526,  543,
    554       540,  551,  549,  553,  565,  598,  572,  581,  557, 2568,
    555      2568,  669,  659, 2195,  686, 2568,  692, 2568, 2145,  559,
    556 
    557      2141, 2135,    0,  649, 2568, 2568,  679, 2134, 2133, 2127,
    558         0, 2149,  535,  606,  607,  674,  635,  625,  646,  664,
    559       689, 2146,  692,  693, 2119, 2118, 2568,  712,  723, 2568,
    560      2117, 2165, 2568,  714,    0,  555,  705,  759,  765,  776,
    561       593, 2568, 2123, 2099,    0,  784, 2141,  787,  632, 2568,
    562      2116, 2087,  798, 2568, 2568, 2119, 2568, 2568,  710,  725,
    563      2099, 2094,  720, 2090, 2089, 2085,    0, 2084,    0,  712,
    564       548,  710,  766,  767,  597,  745,  711,  777,  764,  788,
    565       720,  783,  792,  713,  639,  789,  611,  793, 2086,  794,
    566       791,  795,  810,  800,  805,  813,  814,  361,  818,  815,
    567 
    568       816,  821,  825,  822,  826,  828,  829,  836,  838, 2080,
    569       841,  842,  843,  839,  844,  845,  846,  849,  847,  853,
    570       855,  860, 2079,  859,  905,  864,  866,  872,  870,  871,
    571       933,  930, 2075, 2069, 2068,    0, 2067,    0,  920,  924,
    572      2061,    0, 2060,    0, 2059,    0, 2074, 2568,  919,  920,
    573      2054, 2051,    0, 2045,    0,  935,  941,  953,  963,  974,
    574       986,  996, 2568, 2568,  960,  961, 1013,  989, 1047,  926,
    575      1045,  968, 2568, 2568, 2044, 2043, 2037,    0, 2036,    0,
    576      2035,    0, 2014,    0,  874,  873,  987,  903,  931,  932,
    577       984,  920,  994,  995,  974,  976, 1009, 1024, 1017,  992,
    578 
    579      1029, 1027,  952, 1030, 1034, 1040, 2016, 1031, 2011, 1047,
    580      2010, 1049, 1043, 1054, 1038, 1056, 1057, 2009, 2003, 1052,
    581      1058, 1062, 1069, 1073, 1074, 1075, 2002, 1076, 2001, 1078,
    582      1079, 1082, 1083, 1085, 1081, 1086, 1092, 1089, 1099,  583,
    583      1108, 1095, 1087, 1995, 1097, 1109, 1160, 1991,    0, 1990,
    584         0, 1984,    0, 1983,    0, 1149, 1982,    0, 1978,    0,
    585      1977, 1976, 1972,    0, 1971,    0, 1156, 1162, 1207, 1121,
    586      1218, 1149, 1120, 1144, 2568, 1224, 1230, 1241, 1981, 1954,
    587      1959, 1957,    0, 1953,    0, 1951,    0, 1945,    0, 1944,
    588         0, 1943,    0, 1125, 1144, 1940, 1146, 1149, 1147, 1153,
    589 
    590      1150, 1218, 1162, 1110, 1156, 1155, 1164, 1211, 1224, 1225,
    591      1226,  164, 1228, 1208, 1170, 1232, 1238, 1939, 1938, 1235,
    592      1932, 1227, 1231, 1234, 1242, 1931, 1246, 1247, 1250, 1930,
    593      1252, 1255, 1924, 1257, 1261, 1254, 1256, 1258, 1923, 1264,
    594       709, 1271, 1262, 1268, 1922, 1273, 1277, 1916, 1274, 1279,
    595      1915, 1963, 1905,    0, 1904,    0, 1903,    0, 1897,    0,
    596      1896,    0, 1895,    0, 1891,    0, 1890,    0, 1322, 1328,
    597      1334, 1345, 1889, 2568, 1356, 2568, 1380, 2568, 1885,    0,
    598      1884,    0, 1883,    0, 1850,    0,    0,    0, 1852,    0,
    599      1342, 1281, 1315, 1322, 1333, 1289, 1283, 1338, 1340, 1336,
    600 
    601      1361, 1343, 1341, 1362, 1364, 1365, 1367, 1397, 1373, 1314,
    602      1376, 1375, 1377, 1847, 1378, 1380, 1382, 1846, 1845, 1381,
    603      1387, 1839, 1389, 1838, 1837, 1396, 1391, 1833, 1832, 1831,
    604      1827, 1826, 1825, 1392, 1818, 1407, 1394, 1846, 2568, 1793,
    605         0, 1792,    0,    0,    0, 1791,    0,    0,    0, 2568,
    606         0,    0,    0,    0, 1446, 1452, 1497, 1787,    0, 1786,
    607         0,    0,    0,    0, 1782, 1408, 1430, 1784, 1410, 1432,
    608      1437, 1411, 1412, 1443, 1433, 1783, 1447, 1445, 1457, 1413,
    609      1476, 1463, 1450, 1477, 1475, 1474, 1480, 1479, 1481, 1779,
    610      1482, 1778, 1483, 1777, 1773, 1464, 1485, 1772, 1490, 1486,
    611 
    612         0,    0, 1768, 1764, 1763, 1762, 1537,    0, 1758, 1757,
    613      1756, 1752, 1751, 1753, 1749, 1748, 1747, 1496, 1497, 1499,
    614      1502, 1493, 1492, 1501, 1518, 1519, 1547, 1738, 1522, 1737,
    615      1523, 1458, 1528, 1530, 1524, 1734, 1733, 1732, 1715, 1707,
    616      1706, 1700, 1694, 1691, 1683, 1682, 1663, 1662, 1661, 1653,
    617      1652, 1613, 1612, 1529, 1614, 1534, 1535, 1538, 1536, 1542,
    618      1613, 1543, 1562, 1546, 1612, 1544, 1548, 1554, 1550, 1608,
    619      1607, 1606, 1605, 1604, 1603, 1602, 1601, 1600, 1598, 1597,
    620      1567, 1566, 1505, 1552, 1560, 1565, 1563, 1571, 1564, 1286,
    621      1285, 1575, 1188, 1158, 1576, 1001,  997,  950,  901,  753,
    622 
    623       752,  642,  556, 1577, 1580,  519, 1584,  475, 1588, 1589,
    624      1590,  471,  407, 1582, 1583, 1594, 1596,  353,  298, 1595,
    625       274,  234,  233,  165, 2568, 1669, 1681, 1693, 1702, 1711,
    626      1723, 1732, 1744, 1756, 1768, 1775, 1784, 1790, 1796, 1802,
    627      1808, 1814, 1820, 1826, 1832, 1838, 1850, 1856, 1859, 1866,
    628      1868, 1874, 1880, 1886, 1888, 1894, 1899, 1911, 1923, 1929,
    629      1935, 1941, 1947, 1949, 1955, 1957, 1963, 1965, 1971, 1973,
    630      1979, 1981, 1987, 1989, 1995, 1997, 2003, 2010, 2016, 2022,
    631      2028, 2034, 2036, 2042, 2044, 2050, 2052, 2058, 2063, 2075,
    632      2081, 2087, 2089, 2095, 2097, 2103, 2105, 2111, 2113, 2119,
    633 
    634      2121, 2127, 2129, 2135, 2141, 2143, 2149, 2151, 2157, 2163,
    635      2169, 2171, 2177, 2179, 2185, 2187, 2193, 2195, 2201, 2203,
    636      2209, 2214, 2226, 2232, 2238, 2240, 2246, 2248, 2254, 2256,
    637      2262, 2264, 2270, 2272, 2278, 2280, 2286, 2288, 2294, 2296,
    638      2302, 2308, 2310, 2316, 2318, 2324, 2326, 2332, 2334, 2336,
    639      2341, 2347, 2355, 2361, 2367, 2369, 2375, 2377, 2379, 2384,
    640      2390, 2392, 2394, 2396, 2398, 2400, 2402, 2404, 2410, 2412,
    641      2418, 2420, 2422, 2424, 2426, 2435, 2441, 2443, 2445, 2451,
    642      2457, 2463, 2465, 2471, 2477, 2483, 2489, 2495, 2501, 2507,
    643      2513, 2519, 2525, 2531, 2537, 2543, 2549, 2555
    644 
     543        0,   84, 2285, 2282,   94,    0,  177,  178,  179,  180,
     544     2298, 2825,  191, 2825,  197,   55, 2825, 2244,   60,  173,
     545     2825, 2825, 2825,   56,  188, 2825,  191,  189,  204,  216,
     546      275,    0, 2262, 2825,  216, 2260,  152,  344,  155,  220,
     547     2825,  159, 2825,  217,  226, 2825,  185,  154,  212,  251,
     548      237,  270,  235,  257,  241,  205,  193,  305,  314,  333,
     549      238,  228, 2825,  225, 2825, 2255,  402,  390, 2825, 2266,
     550     2825, 2234,  235, 2825,    0, 2825,  426,    0, 2825,  417,
     551     2825,  439,  451, 2825,  498, 2232,  264, 2825, 2825, 2825,
     552     2825, 2825, 2248, 2825, 2245, 2825, 2825, 2257,  559, 2825,
     553
     554     2274, 2825,  438,  444,  511,  534,  289,  253,  197,  380,
     555      305,    0,  319,  280,  198,  322, 2825, 2825, 2825, 2243,
     556     2825, 2825, 2825, 2240, 2237,  218,  255, 2252,  298,  350,
     557      368,  312,  440,  398,  405, 2233,  441, 2181,  446, 2209,
     558     2825,  335, 2825, 2825,  468, 2203, 2202, 2825, 2175,  439,
     559      282,  433,  372,  281,  437,  434,  428,  570,  444,  466,
     560      464,  469,  475,  321,  492,  438,  471,  445,  474,  512,
     561      489,  503,  496,  521,  276,  515,  516, 2202,  526,  510,
     562      519,  525,  543,  522,  560,  553,  523,  561,  551,  544,
     563      599,  582,  593,  584, 2825, 2825,  660,  651, 2249,  666,
     564
     565     2825,  678, 2825, 2196,  607, 2192, 2191,    0,  693, 2825,
     566     2825,  684, 2189, 2186, 2183,    0, 2206,  578,  608,  617,
     567      654,  679,  650,  683,  684,  687, 2203,  690,  691, 2179,
     568     2159, 2825,    0,  683,  710,  686,  700, 2157, 2209, 2825,
     569      714,    0,  427,  746,  764,  786,  808,  621, 2825, 2165,
     570     2138,    0,  794, 2184,  795,  709, 2825, 2160, 2134,  832,
     571     2825, 2825, 2165, 2825, 2825,  711,  714, 2142, 2142,  717,
     572     2138, 2136, 2133,    0, 2130,    0, 2101,  694,  679,  712,
     573      709,  711,  698,  566,  726,  743,  771,  741,  790,  784,
     574      800,  795,  742,  744,  814,  816,  818, 2131,  819,  745,
     575
     576      820,  821,  822,  823,  824,  746,  825,  748,  659,  831,
     577      826,  833,  838,  839,  848,  850,  851,  844,  834,  857,
     578     2129,  858,  859,  860,  862,  861,  864,  865,  867,  868,
     579      866,  871,  876,  872,  878, 2126,  880,  689,  881,  882,
     580      892,  896,  893,  953,  954, 2120, 2119, 2118,    0, 2116,
     581        0,  941,  945, 2113,    0, 2112,    0, 2111,    0, 2131,
     582     2825,  940,  941, 2108, 2105,    0, 2104,    0, 2825,  953,
     583      975,  964, 2825,  981,  997, 1021, 2102, 2825, 2825,  939,
     584      940, 1006,  982, 1041,  310, 1039, 1004, 2825, 2825, 2099,
     585     2095, 2091,    0, 2089,    0, 2087,    0, 2084,    0, 2825,
     586
     587      886,  941,  960,  962,  977,  976,  980,  982, 1017, 1010,
     588     1002,  998, 1022, 1031, 1028, 1033, 1034, 1037, 1040, 1043,
     589     1038, 1041, 1053, 2085, 1055, 2083, 1045, 2080, 1056, 1061,
     590     1063, 1065, 1066, 1067, 1070, 2077, 1071, 2076, 1073, 1074,
     591     1075, 1078, 1080, 1081, 1085, 2075, 1087, 2073, 1084, 1089,
     592     1091, 1097, 1099, 1092, 1102, 1103, 1105, 1106, 1108,  905,
     593     1109, 1116, 1110, 1122, 2070, 1120, 1123, 1179, 2064,    0,
     594     2063,    0, 2062,    0, 2060,    0, 1166, 2057,    0, 2054,
     595        0, 2053, 2052, 2050,    0, 2047,    0, 1173, 2044, 1179,
     596     1137, 1195, 1181, 1178, 1176, 2825, 1219, 1231, 1253, 2055,
     597
     598     2030, 2040, 2037,    0, 2034,    0, 2033,    0, 2032,    0,
     599     2030,    0, 2027,    0, 1141, 1172, 2027, 1180, 1155, 1196,
     600     1157, 1216, 1207, 1231, 1125, 1210, 1232, 1214, 1187, 1236,
     601     1235, 1237, 1238, 1272, 1249, 1252, 1250, 1253, 1254, 2026,
     602     1261, 1256, 2025, 1260, 1263, 1264, 1257, 2023, 1271, 1268,
     603     1269, 1273, 2020, 1275, 1282, 2017, 1283, 1284, 2016, 1276,
     604     1286, 1289, 2015, 1294, 1291, 1296, 1295, 1297, 1310, 2013,
     605     1305, 1308, 2010, 1307, 1300, 2009, 2058, 2003,    0, 2000,
     606        0, 1999,    0, 1998,    0, 1996,    0, 1963,    0, 1961,
     607        0, 1960,    0, 1355, 1361, 1389, 1372, 1957, 2825, 1378,
     608
     609     1325, 1365, 1379, 1954, 2825, 1953,    0, 1952,    0, 1950,
     610        0, 1947,    0,    0,    0, 1947,    0, 1366, 1312, 1311,
     611     1341, 1323, 1368, 1369, 1374, 1356, 1383, 1372, 1388, 1390,
     612     1393, 1395, 1396, 1398, 1400, 1431, 1406, 1407, 1411, 1408,
     613     1413, 1414, 1946, 1409, 1416, 1419, 1945, 1943, 1940, 1422,
     614     1424, 1939, 1429, 1938, 1936, 1425, 1430, 1933, 1932, 1931,
     615     1929, 1926, 1922, 1436, 1433, 1918, 1439, 1440, 1964, 2825,
     616     1895,    0, 1894,    0,    0,    0, 1896,    0,    0,    0,
     617     2825,    0,    0,    0,    0, 1486, 1891, 2825, 2825, 1492,
     618     1888,    0, 1887,    0,    0,    0,    0, 1886, 1447, 1444,
     619
     620     1887, 1449, 1471, 1479, 1450, 1480, 1482, 1469, 1884, 1486,
     621     1490, 1488, 1502, 1452, 1510, 1504, 1491, 1519, 1506, 1498,
     622     1508, 1512, 1513, 1514, 1515, 1883, 1882, 1518, 1880, 1877,
     623     1517, 1520, 1523, 1876, 1521, 1525,    0,    0,    0, 1872,
     624     1870, 1867, 1575,    0, 1866, 1865, 1863, 1860, 1859, 1861,
     625     1859, 1856, 1855, 1531, 1538, 1527, 1528, 1530, 1533, 1552,
     626     1539, 1554, 1553, 1586, 1854, 1559, 1852, 1560, 1561, 1564,
     627     1570, 1572, 1571, 1849, 1574, 1848, 1847, 1845, 1575, 1842,
     628     1841, 1837, 1835, 1828, 1826, 1825, 1822, 1821, 1820, 1818,
     629     1801, 1792, 1791, 1576, 1791, 1579, 1577, 1580, 1582, 1581,
     630
     631     1585, 1784, 1589, 1616, 1593, 1781, 1591, 1599, 1605, 1592,
     632     1606, 1609, 1610, 1771, 1769, 1768, 1747, 1746, 1745, 1738,
     633     1736, 1735, 1693, 1689, 1688, 1687, 1689, 1611, 1612, 1614,
     634     1615, 1618, 1625, 1621, 1686, 1683, 1627, 1682, 1681, 1631,
     635     1635, 1441, 1637, 1677, 1674, 1354, 1319, 1318, 1267, 1212,
     636     1210, 1639, 1640, 1211, 1647, 1623, 1649, 1178, 1652, 1653,
     637     1657, 1177, 1126,  964,  937,  903, 1641, 1643, 1659, 1663,
     638     1664, 1665,  788,  752, 1629,  607,  487, 1666, 1669,  394,
     639      357, 1670, 1672, 1671, 1674, 1676, 1675, 1678,  233,  137,
     640     2825, 1750, 1763, 1776, 1786, 1796, 1809, 1819, 1832, 1845,
     641
     642     1858, 1866, 1876, 1883, 1890, 1897, 1904, 1911, 1918, 1925,
     643     1932, 1939, 1952, 1959, 1963, 1971, 1974, 1981, 1988, 1995,
     644     1998, 2005, 2011, 2024, 2037, 2044, 2051, 2058, 2065, 2068,
     645     2075, 2078, 2085, 2088, 2095, 2098, 2105, 2108, 2115, 2118,
     646     2125, 2128, 2135, 2143, 2150, 2157, 2164, 2171, 2174, 2181,
     647     2184, 2191, 2194, 2201, 2207, 2220, 2227, 2234, 2237, 2244,
     648     2247, 2254, 2257, 2264, 2267, 2274, 2277, 2284, 2287, 2294,
     649     2301, 2304, 2311, 2314, 2321, 2328, 2335, 2338, 2345, 2348,
     650     2355, 2358, 2365, 2368, 2375, 2378, 2385, 2391, 2404, 2411,
     651     2418, 2421, 2428, 2431, 2438, 2441, 2448, 2451, 2458, 2461,
     652
     653     2468, 2471, 2478, 2481, 2488, 2491, 2498, 2505, 2508, 2515,
     654     2518, 2525, 2528, 2535, 2538, 2541, 2547, 2554, 2563, 2570,
     655     2577, 2580, 2587, 2590, 2593, 2599, 2606, 2609, 2612, 2615,
     656     2618, 2621, 2624, 2627, 2634, 2637, 2644, 2647, 2650, 2653,
     657     2656, 2666, 2673, 2676, 2679, 2682, 2689, 2696, 2703, 2706,
     658     2713, 2720, 2727, 2734, 2741, 2748, 2755, 2762, 2769, 2776,
     659     2783, 2790, 2797, 2804, 2811
    645660    } ;
    646661
    647 static yyconst flex_int16_t yy_def[999] =
     662static yyconst flex_int16_t yy_def[1066] =
    648663    {   0,
    649       825,    1,  826,  826,  825,    5,  827,  827,  828,  828,
    650       825,  825,  825,  825,  825,  825,  825,  829,  825,  825,
    651       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    652       825,   31,  825,  825,  825,  825,  825,  825,  830,  829,
    653       825,  825,  825,  825,  829,  825,  829,  829,  829,  829,
    654       829,  829,  829,  829,  829,  829,  829,  829,  829,  829,
    655       829,  825,  825,  825,  825,  825,  831,  825,  825,  825,
    656       832,  825,  825,  833,  825,  825,  834,  825,  825,  825,
    657       825,  825,  825,  825,  829,  825,  825,  825,  825,  825,
    658       825,  825,  825,  825,  825,  825,  825,  825,  825,  835,
    659 
    660       825,  825,   30,  825,  825,  825,  825,  836,   30,  825,
    661        31,  825,  825,   31,  825,  825,  825,  825,  825,  825,
    662       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    663       825,  825,  825,  825,  825,  825,  825,  825,  837,  825,
    664       825,  825,  829,  838,  839,  825,  829,  829,  829,  829,
    665       829,  829,  829,  829,  829,  829,  829,  829,  829,  829,
    666       829,  829,  829,  829,  829,  829,  829,  829,  829,  829,
    667       829,  829,  829,  829,  829,  829,  829,  829,  829,  829,
    668       829,  829,  829,  829,  829,  829,  829,  829,  829,  825,
    669       825,  825,  831,  831,  831,  825,  831,  825,  832,  825,
    670 
    671       840,  841,  833,  825,  825,  825,  825,  842,  843,  844,
    672       834,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    673       825,  825,  825,  825,  845,  846,  825,  825,  825,  825,
    674       228,  847,  825,  825,  103,  103,  825,  825,  825,  825,
    675       825,  825,  825,  825,  848,  849,  850,  825,  825,  825,
    676       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    677       825,  837,  825,  851,  852,  853,  854,  855,  856,  857,
    678       857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
    679       857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
    680       857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
    681 
    682       857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
    683       857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
    684       857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
    685       858,  859,  860,  861,  862,  863,  864,  865,  825,  825,
    686       866,  867,  868,  869,  870,  871,  825,  825,  825,  825,
    687       825,  872,  873,  874,  875,  825,  825,  825,  825,  825,
    688       825,  825,  825,  825,  876,  877,  878,  825,  825,  825,
    689       878,  825,  825,  825,  879,  880,  881,  882,  883,  884,
    690       885,  886,  887,  888,  889,  889,  889,  889,  889,  889,
    691       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
    692 
    693       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
    694       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
    695       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
    696       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
    697       889,  889,  889,  889,  889,  889,  890,  891,  892,  893,
    698       894,  895,  896,  897,  898,  825,  899,  900,  901,  902,
    699       903,  903,  904,  905,  906,  907,  825,  825,  825,  908,
    700       825,  908,  825,  825,  825,  825,  825,  825,  825,  825,
    701       909,  910,  911,  912,  913,  914,  915,  916,  917,  918,
    702       919,  920,  921,  922,  922,  922,  922,  922,  922,  922,
    703 
    704       922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
    705       922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
    706       922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
    707       922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
    708       922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
    709       922,  923,  924,  925,  926,  927,  928,  929,  930,  931,
    710       932,  933,  934,  935,  936,  937,  938,  939,  825,  825,
    711       825,  825,  940,  825,  825,  825,  825,  825,  941,  942,
    712       943,  944,  945,  946,  947,  948,  949,  950,  951,  952,
    713       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    714 
    715       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    716       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    717       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    718       951,  951,  951,  951,  951,  951,  951,  953,  825,  954,
    719       955,  956,  957,  958,  959,  960,  961,  962,  963,  825,
    720       964,  965,  966,  967,  825,  825,  825,  968,  969,  970,
    721       971,  972,  973,  974,  975,  976,  976,  976,  976,  976,
    722       976,  976,  976,  976,  976,  976,  976,  976,  976,  976,
    723       976,  976,  976,  976,  976,  976,  976,  976,  976,  976,
    724       976,  976,  976,  976,  976,  976,  976,  976,  976,  976,
    725 
    726       977,  978,  956,  979,  980,  981,  825,  982,  968,  970,
    727       983,  984,  975,  976,  976,  976,  976,  976,  976,  976,
    728       976,  976,  976,  976,  976,  976,  976,  976,  976,  976,
    729       976,  976,  976,  976,  976,  976,  976,  976,  976,  976,
    730       976,  985,  986,  979,  987,  980,  988,  981,  989,  990,
    731       983,  991,  984,  976,  976,  976,  976,  976,  976,  976,
    732       976,  976,  976,  976,  976,  976,  976,  976,  976,  992,
    733       985,  993,  986,  994,  987,  995,  988,  996,  989,  997,
    734       990,  991,  976,  976,  976,  976,  976,  976,  976,  976,
    735       976,  976,  976,  976,  976,  998,  992,  993,  994,  995,
    736 
    737       970,  996,  997,  976,  976,  976,  976,  976,  976,  976,
    738       976,  998,  970,  976,  976,  976,  976,  976,  976,  976,
    739       976,  976,  976,  976,    0,  825,  825,  825,  825,  825,
    740       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    741       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    742       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    743       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    744       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    745       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    746       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    747 
    748       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    749       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    750       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    751       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    752       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    753       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    754       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    755       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    756       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    757       825,  825,  825,  825,  825,  825,  825,  825
    758 
     664      891,    1,  892,  892,  891,    5,  893,  893,  894,  894,
     665      891,  891,  891,  891,  891,  891,  891,  895,  891,  891,
     666      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     667      891,   31,  891,  891,  891,  891,  891,  891,  896,  895,
     668      891,  891,  891,  891,  895,  891,  895,  895,  895,  895,
     669      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
     670      895,  895,  891,  891,  891,  891,  891,  897,  891,  891,
     671      891,  898,  891,  891,  899,  891,  891,  900,  891,  891,
     672      891,  891,  891,  891,  891,  895,  891,  891,  891,  891,
     673      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     674
     675      901,  891,   99,   30,  891,  891,  891,  891,  902,   30,
     676      891,   31,  891,  891,   31,  891,  891,  891,  891,  891,
     677      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     678      891,  891,  891,  891,  891,  891,  891,  891,  891,  903,
     679      891,  891,  891,  891,  895,  904,  905,  891,  891,  895,
     680      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
     681      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
     682      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
     683      895,  895,  895,  895,  895,  895,  895,  895,  895,  895,
     684      895,  895,  895,  895,  891,  891,  891,  897,  897,  897,
     685
     686      891,  897,  891,  898,  891,  906,  907,  899,  891,  891,
     687      891,  891,  908,  909,  910,  900,  891,  891,  891,  891,
     688      891,  891,  891,  891,  891,  891,  891,  891,  891,  911,
     689      912,  891,   99,  891,  891,  891,  891,   99,  913,  891,
     690      891,  104,  104,  891,  891,  891,  891,  891,  891,  891,
     691      891,  914,  915,  916,  891,  891,  891,  891,  891,  891,
     692      891,  891,  891,  891,  891,  891,  891,  891,  903,  891,
     693      917,  918,  919,  920,  921,  922,  891,  923,  923,  923,
     694      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
     695      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
     696
     697      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
     698      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
     699      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
     700      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
     701      923,  923,  923,  924,  925,  926,  927,  928,  929,  930,
     702      931,  891,  891,  932,  933,  934,  935,  936,  937,  891,
     703      891,  891,  891,  891,  938,  939,  940,  941,  891,  891,
     704      891,  891,  891,  891,  891,  371,  376,  891,  891,  942,
     705      943,  944,  891,  891,  891,  944,  891,  891,  891,  945,
     706      946,  947,  948,  949,  950,  951,  952,  953,  954,  891,
     707
     708      955,  955,  955,  955,  955,  955,  955,  955,  955,  955,
     709      955,  955,  955,  955,  955,  955,  955,  955,  955,  955,
     710      955,  955,  955,  955,  955,  955,  955,  955,  955,  955,
     711      955,  955,  955,  955,  955,  955,  955,  955,  955,  955,
     712      955,  955,  955,  955,  955,  955,  955,  955,  955,  955,
     713      955,  955,  955,  955,  955,  955,  955,  955,  955,  955,
     714      955,  955,  955,  955,  955,  955,  955,  956,  957,  958,
     715      959,  960,  961,  962,  963,  964,  891,  965,  966,  967,
     716      968,  969,  969,  970,  971,  972,  973,  891,  488,  891,
     717      974,  891,  974,  891,  891,  891,  891,  891,  891,  891,
     718
     719      891,  975,  976,  977,  978,  979,  980,  981,  982,  983,
     720      984,  985,  986,  987,  988,  988,  988,  988,  988,  988,
     721      988,  988,  988,  988,  988,  988,  988,  988,  988,  988,
     722      988,  988,  988,  988,  988,  988,  988,  988,  988,  988,
     723      988,  988,  988,  988,  988,  988,  988,  988,  988,  988,
     724      988,  988,  988,  988,  988,  988,  988,  988,  988,  988,
     725      988,  988,  988,  988,  988,  988,  988,  988,  988,  988,
     726      988,  988,  988,  988,  988,  988,  989,  990,  991,  992,
     727      993,  994,  995,  996,  997,  998,  999, 1000, 1001, 1002,
     728     1003, 1004, 1005,  891,  891,  891,  891, 1006,  891,  596,
     729
     730      891,  891,  891,  600,  891, 1007, 1008, 1009, 1010, 1011,
     731     1012, 1013, 1014, 1015, 1016, 1017, 1018, 1017, 1017, 1017,
     732     1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
     733     1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
     734     1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
     735     1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
     736     1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1019,  891,
     737     1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029,
     738      891, 1030, 1031, 1032, 1033,  891,  686,  891,  891,  891,
     739     1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1042,
     740
     741     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     742     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     743     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     744     1042, 1042, 1042, 1042, 1042, 1042, 1043, 1044, 1045, 1046,
     745     1047, 1048,  891, 1049, 1034, 1036, 1050, 1051, 1041, 1042,
     746     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     747     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     748     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     749     1042, 1052, 1053, 1046, 1054, 1047, 1055, 1048, 1056, 1057,
     750     1050, 1058, 1051, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     751
     752     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     753     1042, 1042, 1042, 1059, 1052, 1060, 1053, 1061, 1054, 1062,
     754     1055, 1063, 1056, 1064, 1057, 1058, 1042, 1042, 1042, 1042,
     755     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     756     1042, 1042, 1042, 1065, 1059, 1060, 1061, 1062, 1036, 1063,
     757     1064, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     758     1042, 1042, 1042, 1042, 1065, 1036, 1042, 1042, 1042, 1042,
     759     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     760     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     761        0,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     762
     763      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     764      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     765      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     766      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     767      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     768      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     769      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     770      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     771      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     772      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     773
     774      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     775      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     776      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     777      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     778      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     779      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     780      891,  891,  891,  891,  891
    759781    } ;
    760782
    761 static yyconst flex_int16_t yy_nxt[2653] =
     783static yyconst flex_int16_t yy_nxt[2911] =
    762784    {   0,
    763785       12,   13,   14,   15,   15,   15,   13,   16,   17,   12,
     
    765787       28,   29,   30,   31,   32,   32,   32,   32,   33,   34,
    766788       35,   36,   37,   38,   39,   18,   18,   18,   18,   18,
    767        18,   18,   18,   40,   18,   18,   18,   18,   40,   18,
    768        41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
    769        51,   52,   53,   18,   54,   18,   55,   18,   18,   18,
    770        18,   56,   57,   58,   59,   60,   61,   18,   18,   18,
    771        62,   63,   64,   65,   66,   83,   91,   84,   84,   66,
    772        87,   88,   67,   70,   70,   70,   70,   70,   70,   70,
    773 
    774        70,   70,   70,   71,   70,   70,   70,   70,   70,   70,
    775        70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
    776        70,   70,   70,   70,   70,   70,   70,   70,   71,   71,
     789       18,   18,   18,   40,   18,   18,   18,   18,   18,   40,
     790       18,   41,   42,   43,   44,   45,   46,   47,   48,   49,
     791       50,   51,   52,   53,   18,   54,   18,   55,   18,   18,
     792       56,   18,   57,   58,   59,   60,   61,   62,   18,   18,
     793       18,   63,   64,   65,   66,   67,   84,   92,   85,   85,
     794       67,   88,   89,   68,   71,   71,   71,   71,   71,   71,
     795
     796       71,   71,   71,   71,   72,   71,   71,   71,   71,   71,
    777797       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    778        71,   71,   71,   70,   72,   70,   70,   71,   73,   71,
    779        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    780        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    781        71,   71,   71,   70,   70,   70,   70,   75,   75,   78,
    782        78,  122,  123,   89,   86,   78,   78,  608,   75,   75,
    783        79,   80,   81,   81,   81,   79,   81,   80,   82,   82,
    784 
    785        82,   81,   90,   92,  158,  144,   86,   97,   94,   98,
    786        98,   98,   98,   98,   98,   86,   86,   93,   99,   84,
    787        95,   96,   84,  100,  173,  117,   76,   76,   76,   76,
    788       141,  145,   86,  101,  102,  142,  103,  103,  103,  103,
    789       104,  104,  118,   86,  119,  120,  256,   86,  257,   86,
    790       176,   86,  159,  105,  190,   86,  177,  106,  162,  160,
    791       178,  201,  107,  108,  156,  161,  157,  163,  109,   86,
    792       165,  164,  166,   86,  105,   86,  143,  225,   86,  174,
    793       110,  167,  243,  251,   86,   86,  175,  202,  107,   86,
    794       189,  108,  102,  188,  111,  111,  111,  111,  111,  111,
    795 
    796       245,  183,  241,  226,  191,  244,  252,  242,  256,  184,
    797       257,  105,  147,  148,  149,  112,  185,   86,  150,  151,
    798       113,  152,   86,  153,  154,   86,  114,  168,   86,  179,
    799       180,  155,  105,  242,  247,  169,  264,  170,  115,  181,
    800       171,  256,  182,  257,  172,  141,  113,  124,  249,   86,
    801       142,  125,  126,  250,  127,  825,  128,  129,  256,  130,
    802       257,  131,  265,  186,   79,   80,   81,   81,   81,   79,
    803       132,  133,  134,  192,   80,   81,   81,   81,  192,  250,
    804        86,  193,   81,   80,   81,   81,   81,   81,   86,  253,
    805       135,  143,  278,  136,   81,   80,   82,   82,   82,   81,
    806 
    807       258,  195,  196,  258,   86,  187,  195,  235,  235,  235,
    808       235,  256,   86,  257,  256,  256,  257,  257,  416,  825,
    809       137,  138,  197,  197,  197,  197,  197,  197,  204,  205,
    810       256,  260,  257,  204,  825,  206,  238,   86,  238,  236,
    811       206,  239,  239,  239,  239,  239,  239,   86,  825,  207,
    812       207,  207,  207,  248,  242,  259,  256,  306,  257,  250,
    813       206,  825,  825,  102,  296,  104,  104,  104,  104,  104,
    814       104,   86,  241,  240,   86,  208,  825,  249,  206,  256,
    815       242,  257,  105,  206,  206,  250,  270,  206,  206,  256,
    816        86,  257,  272,  271,  141,  206,   86,  237,  206,  142,
    817 
    818       206,  209,  206,  105,  210,  212,   86,   86,  273,  213,
    819       214,   86,  275,   86,  215,  216,  274,  217,   86,  218,
    820        86,   86,   86,   86,  276,  825,   86,  291,  219,  220,
    821       221,   86,  297,  277,   86,  290,  289,   86,   86,  279,
    822        86,  280,  300,  281,  282,   86,  298,  283,  222,  284,
    823       294,  223,  292,  293,  285,  286,  287,   86,  288,   86,
    824        86,   86,  302,  295,   86,  299,  347,   86,  348,   86,
    825        86,   86,  303,   86,  312,  825,  304,   86,  305,  224,
    826       228,  228,  228,  228,  228,  228,  309,  301,  307,  308,
    827       311,   86,   86,  310,   86,  316,  319,  229,  230,   86,
    828 
    829        86,  230,   86,  313,   86,  317,  141,  333,   86,  360,
    830       825,  320,  231,  314,  315,  321,   86,  386,  229,  230,
    831       322,  330,  318,   86,  230,   98,   98,   98,   98,   98,
    832        98,  323,   86,  334,   86,  324,  326,  347,  347,  348,
    833       348,  363,  229,  230,  327,  328,  230,  329,   86,   86,
    834       204,  205,  325,  390,  348,  204,  347,  234,  348,  545,
    835       195,  196,   86,  229,  230,  195,  347,  363,  348,  230,
    836       192,   80,   81,   81,   81,  192,  349,  347,  193,  348,
    837       373,  197,  197,  197,  197,  197,  197,  195,  196,  405,
    838        86,  348,  195,  331,  196,  347,  825,  348,  331,  403,
    839 
    840       332,  339,  339,  339,  339,  347,  373,  348,  197,  197,
    841       197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    842       347,  350,  348,  347,  347,  348,  348,  104,  104,  104,
    843       104,  104,  104,  340,  228,  228,  228,  228,  228,  228,
    844       356,  256,  356,  257,  105,  357,  357,  357,  357,  357,
    845       357,  229,  230,  229,  230,  230,  256,  230,  257,  248,
    846        86,   86,   86,   86,   86,  105,  231,  392,  375,  402,
    847       630,   86,  229,  230,  229,  230,  385,  358,  230,  387,
    848       230,  239,  239,  239,  239,  239,  239,  361,  361,  361,
    849       361,  361,  361,  238,  376,  238,   86,  398,  239,  239,
    850 
    851       239,  239,  239,  239,  366,  230,  813,  825,  230,  104,
    852       104,  104,  104,  104,  104,   86,  391,   86,   86,  362,
    853       111,  111,  111,  111,  111,  111,  230,  368,   86,  369,
    854       394,  230,  370,  388,   86,  389,  395,  396,  371,   86,
    855        86,  248,   86,   86,   86,   86,   86,  408,  393,  399,
    856       372,   86,  253,  404,  369,  409,   86,  397,  370,  400,
    857       401,   86,  406,  407,   86,   86,   86,   86,  410,   86,
    858       415,  411,   86,   86,  412,  418,   86,   86,  422,   86,
    859        86,  420,  423,  419,  424,  413,  414,   86,  417,   86,
    860        86,  421,   86,   86,   86,   86,   86,   86,   86,  426,
    861 
    862        86,  425,  428,  429,   86,  427,   86,  431,  430,  436,
    863        86,   86,  432,  141,  435,   86,  434,   86,  433,  441,
    864       437,   86,   86,   86,   86,   86,  445,  438,  439,  440,
    865       443,  444,  196,  442,  331,  196,  494,  446,  194,  331,
    866       495,  332,  206,  206,  206,  206,  339,  339,  339,  339,
    867       347,  347,  348,  348,   86,  825,   86,  357,  357,  357,
    868       357,  357,  357,  467,  467,  467,  467,  467,  467,  479,
    869       356,   86,  356,  497,  456,  357,  357,  357,  357,  357,
    870       357,  230,   86,   86,  230,  228,  228,  228,  228,  228,
    871       228,  498,  480,  501,  499,  468,  235,  235,  235,  235,
    872 
    873       104,  104,  230,   86,  825,  471,  471,  230,  361,  361,
    874       361,  361,  361,  361,  472,  473,  475,  359,  361,  361,
    875       361,  361,  361,  361,  514,   86,  230,   86,  360,  230,
    876       471,  471,  474,  366,  474,   86,  230,  475,   86,  230,
    877       362,  504,  475,   86,  500,   86,   86,  230,  510,  505,
    878       469,  825,  230,  496,  502,  812,  368,  230,  369,  503,
    879        86,  370,  230,  475,  476,  825,  476,  371,   86,  477,
    880       477,  477,  477,  477,  477,   86,  506,  507,   86,  372,
    881        86,   86,   86,  369,  513,   86,  509,  370,  368,   86,
    882       369,   86,  515,  370,   86,  511,  518,  508,   86,  481,
    883 
    884        86,  478,  512,   86,  516,   86,  517,   86,   86,   86,
    885       519,  372,  524,   86,  522,  369,  521,  526,  523,  370,
    886        86,  520,  525,  527,   86,   86,   86,   86,  529,   86,
    887        86,  528,   86,   86,   86,  533,   86,   86,   86,  531,
    888        86,  540,  530,   86,  534,  532,   86,  543,   86,  549,
    889        86,  536,  535,  537,  538,  541,  542,  544,  539,   86,
    890        86,   86,  196,  548,  600,  471,  471,  546,  552,  551,
    891       550,  206,  206,  206,  206,  472,   86,  547,  467,  467,
    892       467,  467,  467,  467,  467,  467,  467,  467,  467,  467,
    893       471,  471,  574,  591,  471,   86,  230,   86,   86,  230,
    894 
    895        86,   86,  230,  573,   86,  230,   86,   86,  592,   86,
    896       468,  595,  593,   86,  597,   86,  569,  230,  574,  471,
    897       594,   86,  230,  230,  599,  602,  596,  601,  230,  361,
    898       361,  361,  361,  361,  361,  570,  603,  570,  611,   86,
    899       571,  571,  571,  571,  571,  571,  477,  477,  477,  477,
    900       477,  477,  575,  575,  575,  575,  575,  575,  476,   86,
    901       476,  469,   86,  477,  477,  477,  477,  477,  477,   86,
    902       576,  604,  572,  576,  598,   86,   86,   86,   86,   86,
    903       605,  610,   86,   86,  577,   86,   86,  606,  609,   86,
    904       607,  576,  612,   86,  613,  614,  576,   86,   86,  616,
    905 
    906       617,   86,  618,   86,  615,   86,   86,   86,   86,   86,
    907       620,  623,   86,   86,  619,   86,  621,  624,  622,   86,
    908       627,  625,   86,  629,   86,   86,  628,  626,   86,  631,
    909        86,  633,   86,  634,   86,  632,   86,   86,  635,  668,
    910        86,  673,  636,  637,  467,  467,  467,  467,  467,  467,
    911       571,  571,  571,  571,  571,  571,  655,  655,  655,  655,
    912       655,  655,  570,  672,  570,   86,   86,  571,  571,  571,
    913       571,  571,  571,   86,  576,  669,  569,  576,  575,  575,
    914       575,  575,  575,  575,   86,  686,  670,   86,  656,   86,
    915       676,   86,   86,   86,   86,  576,  576,  674,  666,  576,
    916 
    917       576,  671,  575,  575,  575,  575,  575,  575,  675,  678,
    918       577,  667,   86,   86,  679,   86,   86,  576,   86,  682,
    919       576,  684,  576,  576,   86,  677,   86,   86,   86,   86,
    920       680,   86,   86,   86,  657,  683,  687,  681,   86,  685,
    921        86,  576,   86,   86,  688,   86,  576,   86,   86,  697,
    922       689,  690,  693,  698,  691,  692,  696,  695,   86,   86,
    923       700,   86,   86,   86,   86,  694,  720,  699,  655,  655,
    924       655,  655,  655,  655,  655,  655,  655,  655,  655,  655,
    925       714,   86,  719,   86,   86,  726,  576,  716,   86,  576,
    926       717,  715,  576,  718,   86,  576,   86,  721,   86,  727,
    927 
    928       656,   86,  722,  730,  723,  724,  707,  576,   86,   86,
    929       729,  725,  576,  576,   86,   86,  766,  728,  576,  575,
    930       575,  575,  575,  575,  575,   86,   86,   86,   86,  731,
    931        86,   86,   86,   86,   86,  738,   86,   86,  732,  733,
    932       734,   86,  736,   86,   86,  735,  741,   86,   86,  740,
    933        86,  657,   86,   86,  758,  756,   86,  737,  739,  655,
    934       655,  655,  655,  655,  655,  755,  759,  754,  757,   86,
    935        86,  763,  761,   86,   86,   86,  764,  765,  760,   86,
    936        86,   86,  767,  762,  768,   86,   86,   86,  790,   86,
    937       769,  707,  786,   86,   86,   86,  788,   86,   86,   86,
    938 
    939       791,   86,  793,   86,  785,   86,  784,  783,  794,  787,
    940       795,   86,  789,   86,   86,   86,   86,  792,  805,  806,
    941       825,  825,   86,  807,  804,  808,   86,   86,   86,  810,
    942       811,   86,  809,   86,   86,   86,  815,  814,  816,   86,
    943        86,   86,  817,  818,  819,   86,   86,   86,  822,  821,
    944       823,  803,  825,  820,  802,  825,  800,  825,  799,  825,
    945       798,  825,  797,   86,   86,   86,  825,  782,  824,   68,
    946        68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
    947        68,   74,   74,   74,   74,   74,   74,   74,   74,   74,
    948        74,   74,   74,   77,   77,   77,   77,   77,   77,   77,
    949 
    950        77,   77,   77,   77,   77,   85,  825,  781,   85,   85,
    951        85,   85,   85,   85,  139,  779,  825,  777,  139,  139,
    952       139,  139,  139,  194,  194,  194,  194,  194,  194,  194,
    953       194,  194,  194,  194,  194,  199,  825,  775,  199,  199,
    954       199,  199,  199,  199,  203,  825,  203,  203,  773,  203,
    955       203,  203,  203,  203,  771,  203,  211,   86,   86,  211,
    956       211,  211,  211,  211,  211,  211,   86,  211,  232,  232,
    957       232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
    958       246,  246,  246,   86,   86,   86,  246,  262,   86,   86,
    959       262,  262,  262,  262,  262,  262,  266,  266,   86,   86,
    960 
    961        86,  266,  268,  268,   86,  825,  753,  268,  335,  335,
    962       751,  825,  825,  335,  337,  337,  748,  746,  744,  337,
    963       341,  341,  825,   86,   86,  341,  343,  343,   86,   86,
    964        86,  343,  345,  345,   86,   86,  713,  345,  352,  352,
    965       710,  709,  200,  352,  354,  354,  703,  702,  639,  354,
    966       232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
    967       232,  232,  365,  365,  367,  367,  367,  367,  367,   86,
    968       367,  246,  246,  246,  377,  377,   86,   86,   86,  377,
    969       379,  379,   86,   86,   86,  379,  381,  381,   86,   86,
    970        86,  381,  266,  266,  383,  383,   86,   86,   86,  383,
    971 
    972       268,  268,   85,   86,  664,   85,   85,   85,   85,   85,
    973        85,  194,  194,  194,  194,  194,  194,  194,  194,  194,
    974       194,  194,  194,  447,  447,  447,  447,  447,  447,  447,
    975       447,  447,  447,  447,  447,  448,  448,  663,  661,  659,
    976       448,  450,  450,  573,  654,  653,  450,  452,  452,  651,
    977       649,  647,  452,  335,  335,  454,  454,  645,  643,  641,
    978       454,  337,  337,  457,  457,  639,   86,   86,  457,  341,
    979       341,  459,  459,   86,   86,   86,  459,  343,  343,  461,
    980       461,   86,   86,   86,  461,  345,  345,  463,  463,   86,
    981        86,   86,  463,  352,  352,  465,  465,  590,  588,  586,
    982 
    983       465,  354,  354,  470,  470,  584,  470,  582,  470,  365,
    984       365,  580,  365,  481,  365,  367,  367,  367,  367,  367,
    985       578,  367,  482,  482,  578,  568,  566,  482,  484,  484,
    986       462,  462,  564,  484,  486,  486,  562,  560,  558,  486,
    987       377,  377,  488,  488,  556,  554,   86,  488,  379,  379,
    988       490,  490,   86,   86,   86,  490,  381,  381,  492,  492,
    989        86,   86,   86,  492,  383,  383,   85,   86,  493,   85,
    990        85,   85,   85,   85,   85,  447,  447,  447,  447,  447,
    991       447,  447,  447,  447,  447,  447,  447,  553,  553,  491,
    992       489,  487,  553,  448,  448,  555,  555,  485,  483,  466,
    993 
    994       555,  450,  450,  557,  557,  464,  348,  348,  557,  452,
    995       452,  559,  559,  462,  460,  458,  559,  454,  454,  561,
    996       561,  455,  453,  451,  561,  457,  457,  563,  563,  449,
    997        86,   86,  563,  459,  459,  461,  461,   86,  384,  382,
    998       461,  565,  565,  380,  378,  263,  565,  463,  463,  567,
    999       567,  258,  257,  374,  567,  465,  465,  470,  470,  374,
    1000       470,  245,  470,  367,  367,  364,  364,  233,  367,  579,
    1001       579,  359,  355,  353,  579,  482,  482,  581,  581,  351,
    1002       347,  346,  581,  484,  484,  583,  583,  344,  342,  338,
    1003       583,  486,  486,  585,  585,  336,  200,  196,  585,  488,
    1004 
    1005       488,  587,  587,   86,  269,  267,  587,  490,  490,  589,
    1006       589,  263,  258,  261,  589,  492,  492,   85,  258,  256,
    1007        85,   85,   85,   85,   85,   85,  638,  638,  638,  638,
    1008       638,  638,  638,  638,  638,  638,  638,  638,  640,  640,
    1009       255,  254,  233,  640,  553,  553,  642,  642,  227,   84,
    1010        84,  642,  555,  555,  644,  644,   86,  200,  198,  644,
    1011       557,  557,  646,  646,   84,  146,  140,  646,  559,  559,
    1012       648,  648,  121,  116,   86,  648,  561,  561,  650,  650,
    1013       825,   69,   69,  650,  563,  563,  652,  652,  825,  825,
    1014       825,  652,  565,  565,   85,   85,  825,  825,  825,   85,
    1015 
    1016       567,  567,  470,  470,  825,  825,  825,  470,  658,  658,
    1017       825,  825,  825,  658,  579,  579,  660,  660,  825,  825,
    1018       825,  660,  581,  581,  662,  662,  825,  825,  825,  662,
    1019       583,  583,  139,  139,  825,  825,  825,  139,  585,  585,
    1020       665,  665,  587,  587,   85,  825,  825,   85,   85,   85,
    1021        85,   85,   85,  589,  589,  638,  638,  638,  638,  638,
    1022       638,  638,  638,  638,  638,  638,  638,  701,  701,  825,
    1023       825,  825,  701,  640,  640,  199,  199,  825,  825,  825,
    1024       199,  642,  642,  704,  704,  644,  644,  199,  825,  825,
    1025       199,  199,  199,  199,  199,  199,  646,  646,  705,  705,
    1026 
    1027       648,  648,  650,  650,  706,  706,  652,  652,   85,   85,
    1028       708,  708,  825,  825,  825,  708,  658,  658,  262,  262,
    1029       825,  825,  825,  262,  660,  660,  711,  711,  662,  662,
    1030       139,  139,  712,  712,  825,  825,  825,  712,   85,  825,
    1031       825,   85,   85,   85,   85,   85,   85,  742,  742,  701,
    1032       701,  743,  743,  825,  825,  825,  743,  745,  745,  825,
    1033       825,  825,  745,  747,  747,  825,  825,  825,  747,  749,
    1034       749,  750,  750,  825,  825,  825,  750,  752,  752,  825,
    1035       825,  825,  752,  770,  770,  825,  825,  825,  770,  772,
    1036       772,  825,  825,  825,  772,  774,  774,  825,  825,  825,
    1037 
    1038       774,  776,  776,  825,  825,  825,  776,  778,  778,  825,
    1039       825,  825,  778,  780,  780,  825,  825,  825,  780,  589,
    1040       589,  825,  825,  825,  589,  796,  796,  825,  825,  825,
    1041       796,  646,  646,  825,  825,  825,  646,  650,  650,  825,
    1042       825,  825,  650,   85,   85,  825,  825,  825,   85,  801,
    1043       801,  825,  825,  825,  801,  139,  139,  825,  825,  825,
    1044       139,  199,  199,  825,  825,  825,  199,   11,  825,  825,
    1045       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1046       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1047       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1048 
    1049       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1050       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1051       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1052       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1053       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1054       825,  825
     798       71,   71,   71,   71,   71,   71,   71,   71,   71,   72,
     799       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
     800       72,   72,   72,   72,   72,   71,   73,   71,   71,   72,
     801       74,   72,   72,   72,   72,   72,   72,   72,   72,   72,
     802       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
     803       72,   72,   72,   72,   72,   71,   71,   71,   71,   76,
     804       76,   79,   79,  123,  124,   90,  141,   79,   79,   87,
     805       76,   76,   80,   81,   82,   82,   82,   80,   82,   81,
     806
     807       83,   83,   83,   82,   91,   93,   87,  142,  146,   98,
     808       95,   99,   99,   99,   99,   99,   99,  252,  891,   94,
     809      100,   85,   96,   97,   85,  101,  161,  118,  143,   77,
     810       77,   77,   77,  144,  147,  102,  103,   87,  104,  104,
     811      104,  104,  105,  105,  119,   87,  120,  121,  148,  263,
     812      149,  264,  254,  260,  183,  106,  195,   87,  159,  107,
     813      160,  150,  151,  152,   87,  108,  109,  153,  154,  162,
     814      155,  110,   87,  156,  157,  145,  163,  106,   87,  182,
     815       87,  158,  164,  111,  206,   87,  263,   87,  264,   87,
     816       87,  108,  194,   87,  109,  103,  250,  112,  112,  112,
     817
     818      112,  112,  112,   87,  169,  177,  170,  196,  193,   87,
     819      207,  180,  165,  230,  106,  171,  166,  181,  113,  178,
     820      251,  167,   87,  258,  114,  168,  179,  172,   87,  263,
     821      115,  264,  248,   87,   87,  173,  106,  174,  249,  231,
     822      175,  143,  116,  263,  176,  264,  144,  259,  317,  283,
     823      114,  125,  280,  500,  249,  126,  127,   87,  128,  191,
     824      129,  130,  256,  131,  249,  132,   87,  265,  257,  184,
     825      185,  257,  248,   87,  133,  134,  135,  501,  188,  186,
     826      249,  263,  187,  264,  271,   87,  189,  265,  145,  256,
     827      305,  200,  201,  190,  257,  136,  200,  257,  137,  263,
     828
     829      891,  264,  192,  197,   81,   82,   82,   82,  197,   87,
     830      272,  198,  202,  202,  202,  202,  202,  202,   80,   81,
     831       82,   82,   82,   80,   87,  138,  139,  209,  210,  263,
     832      891,  264,  209,  282,  211,  255,  263,  267,  264,  211,
     833       82,   81,   82,   82,   82,   82,   87,  891,  212,  212,
     834      212,  212,   82,   81,   83,   83,   83,   82,  891,  211,
     835       99,   99,   99,   99,   99,   99,  242,  242,  242,  242,
     836      266,  263,  263,  264,  264,  213,  143,  263,  211,  264,
     837       87,  144,  375,  211,  211,   87,   87,  211,  211,   87,
     838       87,   87,  286,  241,  891,  211,   87,   87,  211,  243,
     839
     840      211,  214,  211,  281,  215,  217,  278,  284,  285,  218,
     841      219,  307,  298,  279,  220,  221,   87,  222,   87,  223,
     842       87,   87,  891,   87,  309,  300,   87,   87,  224,  225,
     843      226,  103,  303,  105,  105,  105,  105,  105,  105,   87,
     844      299,   87,  301,  302,   87,  304,  308,  310,   87,  227,
     845      106,  245,  228,  245,  306,   87,  246,  246,  246,  246,
     846      246,  246,   87,  313,   87,  315,  244,   87,   87,  311,
     847      314,   87,  106,   87,   87,   87,  323,   87,   87,  322,
     848      229,  233,  233,  233,  233,  233,  233,  312,  333,  247,
     849      319,  316,  328,  320,  318,   87,   87,  234,  235,  236,
     850
     851      321,  237,  236,   87,  324,   87,  325,  143,  335,  360,
     852      331,  361,   87,   87,  238,  337,  326,  327,   87,  236,
     853      235,  236,   87,  329,  237,  332,  236,  287,  288,  289,
     854      336,  290,  291,  334,   87,  292,   87,  293,  407,  360,
     855      330,  361,  294,  295,  296,   87,  297,  339,  360,  343,
     856      361,   87,  200,  201,  338,  340,  346,  200,  341,   87,
     857      342,  197,   81,   82,   82,   82,  197,  200,  201,  198,
     858      378,  361,  200,  202,  202,  202,  202,  202,  202,  344,
     859      201,  360,  347,  361,  344,  360,  345,  361,  202,  202,
     860      202,  202,  202,  202,  209,  210,  378,  143,  361,  209,
     861
     862      202,  202,  202,  202,  202,  202,  352,  352,  352,  352,
     863      360,   87,  361,  362,  360,  360,  361,  361,  360,  363,
     864      361,  360,  360,  361,  361,  369,  369,  370,  369,  370,
     865      435,   87,  371,  371,  371,  371,  371,  371,  373,  353,
     866      373,   87,  263,  373,  264,  263,   87,  264,  369,  402,
     867       87,  369,  234,  235,  236,  406,  237,  236,  388,  401,
     868      373,   87,  373,   87,   87,  372,  390,  373,  105,  105,
     869      105,  105,  105,  105,  236,  235,  236,  404,   87,  237,
     870      405,  236,  403,  408,  388,  106,  246,  246,  246,  246,
     871      246,  246,  391,   87,   87,   87,   87,   87,   87,  419,
     872
     873       87,  255,  425,  432,   87,  420,  434,  106,  376,  376,
     874      376,  376,  376,  376,  381,  409,  413,  105,  105,  105,
     875      105,  105,  105,   87,  234,  245,  236,  245,  237,  236,
     876      246,  246,  246,  246,  246,  246,   87,  383,  410,  384,
     877       87,  377,   87,  385,  411,  412,  236,   87,  236,  386,
     878      255,  237,   87,  236,  112,  112,  112,  112,  112,  112,
     879      414,  387,  415,  417,  418,  384,   87,  416,   87,  385,
     880       87,   87,   87,   87,   87,   87,   87,   87,   87,  421,
     881      427,  426,  433,   87,  437,   87,   87,  260,  423,  424,
     882       87,   87,  436,  429,  428,  422,   87,  430,  431,  439,
     883
     884       87,  438,   87,   87,  446,  441,  440,  442,  443,   87,
     885       87,   87,   87,   87,   87,  445,   87,   87,   87,   87,
     886       87,  448,  447,   87,   87,  444,  449,  451,   87,  456,
     887       87,  450,   87,   87,   87,  452,  455,  454,   87,  453,
     888      457,  462,  460,  461,   87,   87,  458,  464,   87,  515,
     889      459,  463,  465,  466,  344,  201,  201,   87,  891,  344,
     890      467,  345,  199,  211,  211,  211,  211,  352,  352,  352,
     891      352,  360,  360,  361,  361,  371,  371,  371,  371,  371,
     892      371,  370,  569,  370,  492,  492,  371,  371,  371,  371,
     893      371,  371,  891,   87,  493,  494,  477,  488,  488,  488,
     894
     895      488,  488,  488,  233,  233,  233,  233,  233,  233,  516,
     896      492,  492,   87,  234,   87,  236,   87,  237,  236,  242,
     897      242,  242,  242,  105,  105,  495,  381,  517,   87,   87,
     898      489,  496,   87,  518,   87,  236,  374,  236,  519,  520,
     899      237,  521,  236,  376,  376,  376,  376,  376,  376,  383,
     900       87,  384,  375,  496,   87,  385,  522,  496,  497,  891,
     901      497,  386,   87,  498,  498,  498,  498,  498,  498,   87,
     902      525,  495,  526,  387,   87,  524,  377,  384,  523,  496,
     903       87,  385,  383,   87,  384,   87,   87,  527,  385,   87,
     904       87,  532,   87,   87,  502,   87,  499,   87,  535,  528,
     905
     906      529,  537,  530,  531,  533,   87,  387,   87,   87,  541,
     907      384,  534,  538,   87,  385,   87,  536,   87,   87,   87,
     908      539,  540,   87,   87,  546,   87,   87,   87,  544,  542,
     909       87,  548,   87,   87,  547,  543,   87,   87,  549,   87,
     910      545,   87,  552,   87,   87,  550,  556,  554,  551,   87,
     911      559,   87,  553,  555,   87,   87,  557,   87,   87,  558,
     912       87,   87,   87,  564,  560,  567,  563,  568,   87,  561,
     913      566,  562,   87,  565,   87,   87,  571,   87,   87,  573,
     914      627,  201,  492,  570,  576,  574,  572,  577,  211,  211,
     915      211,  211,  493,   87,  575,  488,  488,  488,  488,  488,
     916
     917      488,  376,  376,  376,  376,  376,  376,   87,  492,   87,
     918      618,  234,  595,  236,  595,  237,  236,  596,  596,  596,
     919      596,  596,  596,  492,   87,  599,  492,  621,  489,   87,
     920       87,  623,   87,  236,  490,  236,  598,  619,  237,   87,
     921      236,  498,  498,  498,  498,  498,  498,  620,   87,  492,
     922      597,  599,  492,  600,  600,  600,  600,  600,  600,   87,
     923      631,  622,   87,   87,  625,  891,   87,  891,   87,  601,
     924      497,  602,  497,  603,  602,  498,  498,  498,  498,  498,
     925      498,  624,  628,   87,   87,  630,  604,   87,   87,   87,
     926       87,  602,  633,  602,  626,  636,  603,  632,  602,  629,
     927
     928      634,   87,   87,  635,   87,   87,   87,  642,   87,   87,
     929      637,  641,   87,   87,  640,   87,   87,  643,  647,  639,
     930       87,   87,  866,   87,   87,   87,  638,   87,   87,  644,
     931      645,  646,  648,  650,   87,   87,   87,  649,   87,  653,
     932      651,   87,  652,   87,  654,  655,   87,   87,   87,   87,
     933      656,  657,   87,  660,  659,  661,  664,   87,  658,   87,
     934       87,  663,   87,   87,   87,  668,  665,  688,  688,  662,
     935      666,  701,  702,  891,  891,   87,  667,  488,  488,  488,
     936      488,  488,  488,  596,  596,  596,  596,  596,  596,  595,
     937      688,  595,  704,   87,  596,  596,  596,  596,  596,  596,
     938
     939      600,  600,  600,  600,  600,  600,  703,  688,   87,  891,
     940      594,  686,  686,  686,  686,  686,  686,  689,   87,  689,
     941       87,   87,  689,  699,   87,  708,   87,  601,  706,  602,
     942      688,  603,  602,  604,  707,   87,  700,  710,  709,  689,
     943       87,  689,   87,  705,  687,   87,  689,   87,   87,  602,
     944       87,  602,   87,  716,  603,  718,  602,  712,   87,   87,
     945       87,   87,  711,   87,  714,   87,   87,  713,   87,  717,
     946      715,   87,  721,  719,   87,  724,   87,   87,  722,  720,
     947      727,   87,   87,   87,  725,   87,  731,  723,   87,  732,
     948      726,   87,   87,   87,  728,  734,   87,  733,  730,   87,
     949
     950      735,   87,   87,  729,   87,  863,  751,  736,  686,  686,
     951      686,  686,  686,  686,  600,  600,  600,  600,  600,  600,
     952      750,   87,  755,   87,  601,  763,  602,  752,  603,  602,
     953      753,   87,   87,  764,   87,  756,  754,  757,   87,  758,
     954       87,  687,   87,   87,  759,  767,  602,  690,  602,  761,
     955       87,  603,  766,  602,   87,  760,   87,  762,   87,  765,
     956       87,  768,   87,  769,   87,   87,   87,   87,  770,   87,
     957       87,   87,   87,   87,  771,   87,  774,   87,  772,   87,
     958       87,  780,   87,   87,  796,   87,  781,  773,  775,  777,
     959       87,   87,  798,  776,  778,  797,  779,  686,  686,  686,
     960
     961      686,  686,  686,  794,   87,   87,   87,  795,  799,  802,
     962      804,   87,   87,   87,  805,  806,   87,  801,  803,  808,
     963      807,  800,   87,   87,   87,  809,   87,   87,   87,   87,
     964      743,   87,   87,   87,   87,  830,  832,   87,   87,  810,
     965      833,   87,  835,   87,   87,   87,  811,  829,  836,  812,
     966      813,   87,  828,  840,  838,  827,  831,   87,   87,  834,
     967      839,   87,   87,   87,   87,  837,   87,   87,   87,  854,
     968       87,  853,  842,   87,  841,   87,  855,   87,  843,   87,
     969      858,   87,  860,   87,  852,  870,  861,   87,  856,   87,
     970      859,   87,   87,   87,  857,   87,  862,  868,  864,   87,
     971
     972      867,   87,  869,  881,   87,   87,  871,  872,  873,   87,
     973      876,   87,  874,  875,  877,   87,   87,   87,   87,  879,
     974      880,   87,   87,   87,   87,  878,   87,   87,   87,  891,
     975       87,  884,  865,   87,   87,   87,  883,  885,   87,  882,
     976      890,   87,  891,  891,  851,  886,  888,  887,  891,  889,
     977       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
     978       69,   69,   69,   75,   75,   75,   75,   75,   75,   75,
     979       75,   75,   75,   75,   75,   75,   78,   78,   78,   78,
     980       78,   78,   78,   78,   78,   78,   78,   78,   78,   86,
     981      850,  891,   86,  848,   86,   86,   86,   86,   86,  140,
     982
     983      891,  847,  891,  140,  140,  140,  140,  140,  140,  199,
     984      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
     985      199,  199,  204,  846,  891,  204,  845,  204,  204,  204,
     986      204,  204,  208,   87,  208,  208,   87,  208,  208,  208,
     987      208,  208,  208,   87,  208,  216,  891,  826,  216,  216,
     988      216,  216,  216,  216,  216,  216,  891,  216,  239,  239,
     989      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
     990      239,  253,  253,  825,  253,  823,  891,  821,  253,  269,
     991      891,  819,  269,  891,  269,  269,  269,  269,  269,  273,
     992      817,  273,  815,   87,   87,  273,  275,   87,  275,   87,
     993
     994       87,   87,  275,  348,   87,  348,   87,   87,   87,  348,
     995      350,   87,  350,   87,  891,  793,  350,  354,  791,  354,
     996      891,  891,  788,  354,  356,  786,  356,  784,   87,   87,
     997      356,  358,   87,  358,   87,   87,   87,  358,  365,   87,
     998      365,  749,  746,  745,  365,  367,  743,  367,  205,  739,
     999      738,  367,  239,  239,  239,  239,  239,  239,  239,  239,
     1000      239,  239,  239,  239,  239,  380,  670,  380,  382,  382,
     1001       87,  382,  382,  382,   87,  382,  253,  253,   87,  253,
     1002      392,   87,  392,   87,   87,   87,  392,  394,   87,  394,
     1003       87,   87,   87,  394,  396,   87,  396,   87,   87,   87,
     1004
     1005      396,  273,  697,  273,  398,  696,  398,  694,  692,  690,
     1006      398,  275,  598,  275,   86,  685,  684,   86,  682,   86,
     1007       86,   86,   86,   86,  199,  199,  199,  199,  199,  199,
     1008      199,  199,  199,  199,  199,  199,  199,  468,  468,  468,
     1009      468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
     1010      469,  680,  469,  678,  676,  674,  469,  471,  672,  471,
     1011      670,   87,   87,  471,  473,   87,  473,   87,   87,   87,
     1012      473,  348,   87,  348,  475,   87,  475,   87,   87,   87,
     1013      475,  350,  617,  350,  478,  615,  478,  613,  611,  609,
     1014      478,  354,  607,  354,  480,  502,  480,  605,  605,  594,
     1015
     1016      480,  356,  593,  356,  482,  591,  482,  483,  483,  589,
     1017      482,  358,  587,  358,  484,  585,  484,  583,  581,  579,
     1018      484,  365,   87,  365,  486,   87,  486,   87,   87,   87,
     1019      486,  367,   87,  367,  491,   87,  491,   87,  491,  514,
     1020      491,  380,  512,  380,  510,  380,  508,  380,  382,  382,
     1021      506,  382,  382,  382,  504,  382,  503,  490,  503,  487,
     1022      485,  361,  503,  505,  361,  505,  483,  481,  479,  505,
     1023      507,  476,  507,  474,  472,  470,  507,  392,   87,  392,
     1024      509,   87,  509,   87,  400,  399,  509,  394,  397,  394,
     1025      511,  395,  511,  393,  270,  265,  511,  396,  264,  396,
     1026
     1027      513,  389,  513,  389,  252,  379,  513,  398,  379,  398,
     1028       86,  240,  374,   86,  368,   86,   86,   86,   86,   86,
     1029      468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
     1030      468,  468,  468,  578,  366,  578,  364,  360,  359,  578,
     1031      469,  357,  469,  580,  355,  580,  351,  349,  205,  580,
     1032      471,  201,  471,  582,   87,  582,  277,  276,  274,  582,
     1033      473,  270,  473,  584,  265,  584,  268,  265,  263,  584,
     1034      475,  262,  475,  586,  261,  586,  240,  232,   85,  586,
     1035      478,   85,  478,  588,   87,  588,  205,  203,   85,  588,
     1036      480,  122,  480,  482,  117,  482,   87,  891,   70,  482,
     1037
     1038      590,   70,  590,  891,  891,  891,  590,  484,  891,  484,
     1039      592,  891,  592,  891,  891,  891,  592,  486,  891,  486,
     1040      491,  891,  491,  891,  491,  891,  491,  382,  891,  382,
     1041      891,  891,  891,  382,  606,  891,  606,  891,  891,  891,
     1042      606,  503,  891,  503,  608,  891,  608,  891,  891,  891,
     1043      608,  505,  891,  505,  610,  891,  610,  891,  891,  891,
     1044      610,  507,  891,  507,  612,  891,  612,  891,  891,  891,
     1045      612,  509,  891,  509,  614,  891,  614,  891,  891,  891,
     1046      614,  511,  891,  511,  616,  891,  616,  891,  891,  891,
     1047      616,  513,  891,  513,   86,  891,  891,   86,  891,   86,
     1048
     1049       86,   86,   86,   86,  669,  669,  669,  669,  669,  669,
     1050      669,  669,  669,  669,  669,  669,  669,  671,  891,  671,
     1051      891,  891,  891,  671,  578,  891,  578,  673,  891,  673,
     1052      891,  891,  891,  673,  580,  891,  580,  675,  891,  675,
     1053      891,  891,  891,  675,  582,  891,  582,  677,  891,  677,
     1054      891,  891,  891,  677,  584,  891,  584,  679,  891,  679,
     1055      891,  891,  891,  679,  586,  891,  586,  681,  891,  681,
     1056      891,  891,  891,  681,  588,  891,  588,  683,  891,  683,
     1057      891,  891,  891,  683,  590,  891,  590,   86,  891,   86,
     1058      891,  891,  891,   86,  592,  891,  592,  491,  891,  491,
     1059
     1060      891,  891,  891,  491,  691,  891,  691,  891,  891,  891,
     1061      691,  606,  891,  606,  693,  891,  693,  891,  891,  891,
     1062      693,  608,  891,  608,  695,  891,  695,  891,  891,  891,
     1063      695,  610,  891,  610,  140,  891,  140,  891,  891,  891,
     1064      140,  612,  891,  612,  698,  891,  698,  614,  891,  614,
     1065       86,  891,  891,   86,  891,   86,   86,   86,   86,   86,
     1066      616,  891,  616,  669,  669,  669,  669,  669,  669,  669,
     1067      669,  669,  669,  669,  669,  669,  737,  891,  737,  891,
     1068      891,  891,  737,  671,  891,  671,  204,  891,  204,  891,
     1069      891,  891,  204,  673,  891,  673,  740,  891,  740,  675,
     1070
     1071      891,  675,  204,  891,  891,  204,  891,  204,  204,  204,
     1072      204,  204,  677,  891,  677,  741,  891,  741,  679,  891,
     1073      679,  681,  891,  681,  742,  891,  742,  683,  891,  683,
     1074       86,  891,   86,  744,  891,  744,  891,  891,  891,  744,
     1075      691,  891,  691,  269,  891,  269,  891,  891,  891,  269,
     1076      693,  891,  693,  747,  891,  747,  695,  891,  695,  140,
     1077      891,  140,  748,  891,  748,  891,  891,  891,  748,   86,
     1078      891,  891,   86,  891,   86,   86,   86,   86,   86,  782,
     1079      891,  782,  737,  891,  737,  204,  891,  204,  783,  891,
     1080      783,  891,  891,  891,  783,  785,  891,  785,  891,  891,
     1081
     1082      891,  785,  787,  891,  787,  891,  891,  891,  787,  789,
     1083      891,  789,  790,  891,  790,  891,  891,  891,  790,  792,
     1084      891,  792,  891,  891,  891,  792,  814,  891,  814,  891,
     1085      891,  891,  814,  816,  891,  816,  891,  891,  891,  816,
     1086      818,  891,  818,  891,  891,  891,  818,  820,  891,  820,
     1087      891,  891,  891,  820,  822,  891,  822,  891,  891,  891,
     1088      822,  824,  891,  824,  891,  891,  891,  824,  616,  891,
     1089      616,  891,  891,  891,  616,  844,  891,  844,  891,  891,
     1090      891,  844,  677,  891,  677,  891,  891,  891,  677,  681,
     1091      891,  681,  891,  891,  891,  681,   86,  891,   86,  891,
     1092
     1093      891,  891,   86,  849,  891,  849,  891,  891,  891,  849,
     1094      140,  891,  140,  891,  891,  891,  140,  204,  891,  204,
     1095      891,  891,  891,  204,   11,  891,  891,  891,  891,  891,
     1096      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1097      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1098      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1099      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1100      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1101      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1102      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1103
     1104      891,  891,  891,  891,  891,  891,  891,  891,  891,  891
    10551105    } ;
    10561106
    1057 static yyconst flex_int16_t yy_chk[2653] =
     1107static yyconst flex_int16_t yy_chk[2911] =
    10581108    {   0,
    10591109        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    10651115        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    10661116        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1067         1,    1,    1,    1,    2,   16,   24,   16,   24,    2,
    1068        19,   19,    2,    5,    5,    5,    5,    5,    5,    5,
     1117        1,    1,    1,    1,    1,    2,   16,   24,   16,   24,
     1118        2,   19,   19,    2,    5,    5,    5,    5,    5,    5,
    10691119
    10701120        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
     
    10751125        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    10761126        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    1077         5,    5,    5,    5,    5,    5,    5,    7,    8,    9,
    1078        10,   37,   37,   20,   48,    9,   10,  512,    7,    8,
    1079        13,   13,   13,   13,   13,   13,   15,   15,   15,   15,
    1080 
    1081        15,   15,   20,   25,   48,   42,   53,   28,   27,   28,
    1082        28,   28,   28,   28,   28,  512,  824,   25,   29,   25,
    1083        27,   27,   27,   29,   53,   35,    7,    8,    9,   10,
    1084        40,   42,   55,   29,   30,   40,   30,   30,   30,   30,
    1085        30,   30,   35,   47,   35,   35,  125,   49,  125,   50,
    1086        55,   56,   49,   30,   63,   51,   55,   30,   50,   49,
    1087        56,   72,   30,   30,   47,   49,   47,   50,   30,   54,
    1088        51,   50,   51,   40,   30,   60,   40,   86,   61,   54,
    1089        30,   51,  107,  113,  823,  822,   54,   72,   30,   58,
    1090        61,   30,   31,   60,   31,   31,   31,   31,   31,   31,
    1091 
    1092       108,   58,  106,   86,   63,  107,  113,  106,  126,   58,
    1093       126,   31,   45,   45,   45,   31,   58,   57,   45,   45,
    1094        31,   45,   52,   45,   45,  821,   31,   52,   45,   57,
    1095        57,   45,   31,  106,  108,   52,  140,   52,   31,   57,
    1096        52,  128,   57,  128,   52,   59,   31,   38,  112,  819,
    1097        59,   38,   38,  112,   38,  114,   38,   38,  131,   38,
    1098       131,   38,  140,   59,   79,   79,   79,   79,   79,   79,
    1099        38,   38,   38,   66,   66,   66,   66,   66,   66,  112,
    1100       154,   66,   81,   81,   81,   81,   81,   81,   59,  114,
    1101        38,   59,  154,   38,   82,   82,   82,   82,   82,   82,
    1102 
    1103       129,   67,   67,  130,  818,   59,   67,  103,  103,  103,
    1104       103,  133,  298,  133,  129,  130,  129,  130,  298,  109,
    1105        38,   38,   67,   67,   67,   67,   67,   67,   76,   76,
    1106       134,  134,  134,   76,  103,   76,  105,  171,  105,  103,
    1107        76,  105,  105,  105,  105,  105,  105,  161,  109,   76,
    1108        76,   76,   76,  109,  110,  132,  132,  171,  132,  115,
    1109        76,  813,  103,  104,  161,  104,  104,  104,  104,  104,
    1110       104,  147,  110,  105,  148,   76,  109,  115,   76,  136,
    1111       110,  136,  104,   76,   76,  115,  147,   76,   76,  138,
    1112       149,  138,  148,  147,  143,   76,  151,  104,   76,  143,
    1113 
    1114        76,   76,   76,  104,   76,   84,  152,  150,  149,   84,
    1115        84,  153,  151,  157,   84,   84,  150,   84,  158,   84,
    1116       156,  165,  162,  163,  152,  812,  808,  158,   84,   84,
    1117        84,  159,  162,  153,  155,  157,  156,  143,  164,  155,
    1118       167,  155,  165,  155,  155,  160,  163,  155,   84,  155,
    1119       160,   84,  159,  159,  155,  155,  155,  168,  155,  169,
    1120       170,  172,  167,  160,  166,  164,  213,  173,  213,  177,
    1121       806,  175,  168,  176,  177,  236,  169,  179,  170,   84,
    1122        98,   98,   98,   98,   98,   98,  175,  166,  172,  173,
    1123       176,  181,  178,  175,  180,  179,  181,   98,   98,  271,
    1124 
    1125       183,   98,  182,  178,  184,  180,  186,  200,  189,  236,
    1126       803,  181,   98,  178,  178,  182,  185,  271,   98,   98,
    1127       183,  189,  180,  187,   98,  102,  102,  102,  102,  102,
    1128       102,  184,  188,  200,  440,  185,  187,  214,  215,  214,
    1129       215,  241,  102,  102,  187,  188,  102,  188,  275,  186,
    1130       204,  204,  186,  275,  217,  204,  218,  102,  218,  440,
    1131       193,  193,  287,  102,  102,  193,  217,  241,  217,  102,
    1132       192,  192,  192,  192,  192,  192,  219,  219,  192,  219,
    1133       249,  193,  193,  193,  193,  193,  193,  195,  195,  287,
    1134       285,  216,  195,  197,  197,  220,  802,  220,  197,  285,
    1135 
    1136       197,  207,  207,  207,  207,  216,  249,  216,  195,  195,
    1137       195,  195,  195,  195,  197,  197,  197,  197,  197,  197,
    1138       221,  221,  221,  223,  224,  223,  224,  237,  237,  237,
    1139       237,  237,  237,  207,  228,  228,  228,  228,  228,  228,
    1140       229,  259,  229,  259,  237,  229,  229,  229,  229,  229,
    1141       229,  228,  228,  234,  234,  228,  260,  234,  260,  237,
    1142       541,  272,  277,  270,  284,  237,  228,  277,  263,  284,
    1143       541,  281,  228,  228,  234,  234,  270,  229,  228,  272,
    1144       234,  238,  238,  238,  238,  238,  238,  239,  239,  239,
    1145       239,  239,  239,  240,  263,  240,  276,  281,  240,  240,
    1146 
    1147       240,  240,  240,  240,  246,  239,  801,  800,  239,  248,
    1148       248,  248,  248,  248,  248,  279,  276,  273,  274,  239,
    1149       253,  253,  253,  253,  253,  253,  239,  246,  278,  246,
    1150       279,  239,  246,  273,  282,  274,  279,  279,  246,  280,
    1151       286,  248,  291,  283,  288,  290,  292,  291,  278,  282,
    1152       246,  294,  253,  286,  246,  292,  295,  280,  246,  283,
    1153       283,  293,  288,  290,  296,  297,  300,  301,  293,  299,
    1154       297,  294,  302,  304,  295,  300,  303,  305,  304,  306,
    1155       307,  302,  305,  301,  306,  296,  296,  308,  299,  309,
    1156       314,  303,  311,  312,  313,  315,  316,  317,  319,  307,
    1157 
    1158       318,  306,  309,  311,  320,  308,  321,  313,  312,  318,
    1159       324,  322,  314,  325,  317,  326,  316,  327,  315,  324,
    1160       319,  329,  330,  328,  386,  385,  329,  320,  321,  322,
    1161       327,  328,  332,  326,  331,  331,  385,  330,  332,  331,
    1162       386,  331,  339,  339,  339,  339,  340,  340,  340,  340,
    1163       349,  350,  349,  350,  388,  799,  325,  356,  356,  356,
    1164       356,  356,  356,  357,  357,  357,  357,  357,  357,  370,
    1165       358,  392,  358,  388,  339,  358,  358,  358,  358,  358,
    1166       358,  357,  389,  390,  357,  359,  359,  359,  359,  359,
    1167       359,  389,  370,  392,  390,  357,  360,  360,  360,  360,
    1168 
    1169       360,  360,  357,  403,  798,  365,  366,  357,  361,  361,
    1170       361,  361,  361,  361,  365,  366,  372,  359,  362,  362,
    1171       362,  362,  362,  362,  403,  395,  361,  396,  360,  361,
    1172       365,  366,  368,  367,  372,  391,  362,  368,  387,  362,
    1173       361,  395,  372,  400,  391,  393,  394,  361,  400,  396,
    1174       362,  797,  361,  387,  393,  796,  367,  362,  367,  394,
    1175       397,  367,  362,  368,  369,  371,  369,  367,  399,  369,
    1176       369,  369,  369,  369,  369,  398,  397,  397,  402,  367,
    1177       401,  404,  408,  367,  402,  405,  399,  367,  371,  415,
    1178       371,  406,  404,  371,  413,  401,  408,  398,  410,  371,
    1179 
    1180       412,  369,  401,  420,  405,  414,  406,  416,  417,  421,
    1181       410,  371,  415,  422,  414,  371,  413,  417,  414,  371,
    1182       423,  412,  416,  420,  424,  425,  426,  428,  422,  430,
    1183       431,  421,  435,  432,  433,  426,  434,  436,  443,  424,
    1184       438,  435,  423,  437,  428,  425,  442,  438,  445,  443,
    1185       439,  431,  430,  432,  433,  436,  437,  439,  434,  441,
    1186       446,  504,  447,  442,  504,  473,  470,  441,  447,  446,
    1187       445,  456,  456,  456,  456,  470,  494,  441,  467,  467,
    1188       467,  467,  467,  467,  468,  468,  468,  468,  468,  468,
    1189       473,  470,  474,  494,  472,  495,  467,  497,  499,  467,
    1190 
    1191       498,  501,  468,  472,  500,  468,  506,  505,  495,  794,
    1192       467,  499,  497,  503,  501,  507,  468,  467,  474,  472,
    1193       498,  515,  467,  468,  503,  506,  500,  505,  468,  469,
    1194       469,  469,  469,  469,  469,  471,  507,  471,  515,  793,
    1195       471,  471,  471,  471,  471,  471,  476,  476,  476,  476,
    1196       476,  476,  477,  477,  477,  477,  477,  477,  478,  514,
    1197       478,  469,  508,  478,  478,  478,  478,  478,  478,  502,
    1198       477,  508,  471,  477,  502,  509,  510,  511,  522,  513,
    1199       509,  514,  523,  516,  477,  524,  520,  510,  513,  517,
    1200       511,  477,  516,  525,  517,  520,  477,  527,  528,  523,
    1201 
    1202       524,  529,  525,  531,  522,  536,  532,  537,  534,  538,
    1203       528,  532,  535,  543,  527,  540,  529,  534,  531,  544,
    1204       537,  535,  542,  540,  546,  549,  538,  536,  547,  542,
    1205       550,  544,  592,  546,  597,  543,  791,  790,  547,  592,
    1206       596,  597,  549,  550,  569,  569,  569,  569,  569,  569,
    1207       570,  570,  570,  570,  570,  570,  571,  571,  571,  571,
    1208       571,  571,  572,  596,  572,  610,  593,  572,  572,  572,
    1209       572,  572,  572,  594,  571,  593,  569,  571,  575,  575,
    1210       575,  575,  575,  575,  595,  610,  594,  600,  571,  598,
    1211       600,  599,  603,  591,  602,  571,  575,  598,  591,  575,
    1212 
    1213       571,  595,  577,  577,  577,  577,  577,  577,  599,  602,
    1214       575,  591,  601,  604,  603,  605,  606,  575,  607,  606,
    1215       577,  608,  575,  577,  609,  601,  612,  611,  613,  615,
    1216       604,  616,  620,  617,  577,  607,  611,  605,  621,  609,
    1217       623,  577,  627,  634,  612,  637,  577,  626,  608,  627,
    1218       613,  615,  620,  634,  616,  617,  626,  623,  636,  666,
    1219       637,  669,  672,  673,  680,  621,  673,  636,  655,  655,
    1220       655,  655,  655,  655,  656,  656,  656,  656,  656,  656,
    1221       666,  667,  672,  670,  675,  680,  655,  669,  671,  655,
    1222       670,  667,  656,  671,  674,  656,  678,  674,  677,  681,
    1223 
    1224       655,  683,  675,  684,  677,  678,  656,  655,  679,  732,
    1225       683,  679,  655,  656,  682,  696,  732,  682,  656,  657,
    1226       657,  657,  657,  657,  657,  686,  685,  681,  684,  685,
    1227       688,  687,  689,  691,  693,  696,  697,  700,  686,  687,
    1228       688,  699,  691,  723,  722,  689,  700,  718,  719,  699,
    1229       720,  657,  724,  721,  722,  720,  783,  693,  697,  707,
    1230       707,  707,  707,  707,  707,  719,  723,  718,  721,  725,
    1231       726,  727,  725,  729,  731,  735,  729,  731,  724,  733,
    1232       754,  734,  733,  726,  734,  756,  757,  759,  763,  758,
    1233       735,  707,  758,  760,  762,  766,  760,  764,  727,  767,
    1234 
    1235       764,  769,  767,  784,  757,  768,  756,  754,  768,  759,
    1236       769,  785,  762,  763,  787,  789,  786,  766,  785,  786,
    1237       782,  781,  788,  787,  784,  788,  792,  795,  804,  792,
    1238       795,  805,  789,  814,  815,  807,  805,  804,  807,  809,
    1239       810,  811,  809,  810,  811,  816,  820,  817,  816,  815,
    1240       817,  780,  779,  814,  778,  777,  776,  775,  774,  773,
    1241       772,  771,  770,  765,  761,  755,  753,  752,  820,  826,
    1242       826,  826,  826,  826,  826,  826,  826,  826,  826,  826,
    1243       826,  827,  827,  827,  827,  827,  827,  827,  827,  827,
    1244       827,  827,  827,  828,  828,  828,  828,  828,  828,  828,
    1245 
    1246       828,  828,  828,  828,  828,  829,  751,  750,  829,  829,
    1247       829,  829,  829,  829,  830,  749,  748,  747,  830,  830,
    1248       830,  830,  830,  831,  831,  831,  831,  831,  831,  831,
    1249       831,  831,  831,  831,  831,  832,  746,  745,  832,  832,
    1250       832,  832,  832,  832,  833,  744,  833,  833,  743,  833,
    1251       833,  833,  833,  833,  742,  833,  834,  741,  740,  834,
    1252       834,  834,  834,  834,  834,  834,  739,  834,  835,  835,
    1253       835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
    1254       836,  836,  836,  738,  737,  736,  836,  837,  730,  728,
    1255       837,  837,  837,  837,  837,  837,  838,  838,  717,  716,
    1256 
    1257       715,  838,  839,  839,  714,  713,  712,  839,  840,  840,
    1258       711,  710,  709,  840,  841,  841,  706,  705,  704,  841,
    1259       842,  842,  703,  698,  695,  842,  843,  843,  694,  692,
    1260       690,  843,  844,  844,  676,  668,  665,  844,  845,  845,
    1261       660,  658,  646,  845,  846,  846,  642,  640,  638,  846,
    1262       847,  847,  847,  847,  847,  847,  847,  847,  847,  847,
    1263       847,  847,  848,  848,  849,  849,  849,  849,  849,  635,
    1264       849,  850,  850,  850,  851,  851,  633,  632,  631,  851,
    1265       852,  852,  630,  629,  628,  852,  853,  853,  625,  624,
    1266       622,  853,  854,  854,  855,  855,  619,  618,  614,  855,
    1267 
    1268       856,  856,  857,  589,  585,  857,  857,  857,  857,  857,
    1269       857,  858,  858,  858,  858,  858,  858,  858,  858,  858,
    1270       858,  858,  858,  859,  859,  859,  859,  859,  859,  859,
    1271       859,  859,  859,  859,  859,  860,  860,  583,  581,  579,
    1272       860,  861,  861,  573,  567,  565,  861,  862,  862,  563,
    1273       561,  559,  862,  863,  863,  864,  864,  557,  555,  553,
    1274       864,  865,  865,  866,  866,  552,  551,  548,  866,  867,
    1275       867,  868,  868,  545,  539,  533,  868,  869,  869,  870,
    1276       870,  530,  526,  521,  870,  871,  871,  872,  872,  519,
    1277       518,  496,  872,  873,  873,  874,  874,  492,  490,  488,
    1278 
    1279       874,  875,  875,  876,  876,  486,  876,  484,  876,  877,
    1280       877,  482,  877,  481,  877,  878,  878,  878,  878,  878,
    1281       480,  878,  879,  879,  479,  465,  463,  879,  880,  880,
    1282       462,  461,  459,  880,  881,  881,  457,  454,  452,  881,
    1283       882,  882,  883,  883,  450,  448,  444,  883,  884,  884,
    1284       885,  885,  429,  427,  419,  885,  886,  886,  887,  887,
    1285       418,  411,  409,  887,  888,  888,  889,  407,  383,  889,
    1286       889,  889,  889,  889,  889,  890,  890,  890,  890,  890,
    1287       890,  890,  890,  890,  890,  890,  890,  891,  891,  381,
    1288       379,  377,  891,  892,  892,  893,  893,  376,  375,  354,
    1289 
    1290       893,  894,  894,  895,  895,  352,  351,  347,  895,  896,
    1291       896,  897,  897,  345,  343,  341,  897,  898,  898,  899,
    1292       899,  337,  335,  334,  899,  900,  900,  901,  901,  333,
    1293       323,  310,  901,  902,  902,  903,  903,  289,  268,  266,
    1294       903,  904,  904,  265,  264,  262,  904,  905,  905,  906,
    1295       906,  261,  256,  252,  906,  907,  907,  908,  908,  251,
    1296       908,  247,  908,  909,  909,  244,  243,  232,  909,  910,
    1297       910,  231,  226,  225,  910,  911,  911,  912,  912,  222,
    1298       212,  210,  912,  913,  913,  914,  914,  209,  208,  202,
    1299       914,  915,  915,  916,  916,  201,  199,  194,  916,  917,
    1300 
    1301       917,  918,  918,  174,  145,  144,  918,  919,  919,  920,
    1302       920,  139,  137,  135,  920,  921,  921,  922,  127,  124,
    1303       922,  922,  922,  922,  922,  922,  923,  923,  923,  923,
    1304       923,  923,  923,  923,  923,  923,  923,  923,  924,  924,
    1305       123,  119,  100,  924,  925,  925,  926,  926,   97,   94,
    1306        92,  926,  927,  927,  928,  928,   85,   71,   69,  928,
    1307       929,  929,  930,  930,   65,   44,   39,  930,  931,  931,
    1308       932,  932,   36,   33,   18,  932,  933,  933,  934,  934,
    1309        11,    4,    3,  934,  935,  935,  936,  936,    0,    0,
    1310         0,  936,  937,  937,  938,  938,    0,    0,    0,  938,
    1311 
    1312       939,  939,  940,  940,    0,    0,    0,  940,  941,  941,
    1313         0,    0,    0,  941,  942,  942,  943,  943,    0,    0,
    1314         0,  943,  944,  944,  945,  945,    0,    0,    0,  945,
    1315       946,  946,  947,  947,    0,    0,    0,  947,  948,  948,
    1316       949,  949,  950,  950,  951,    0,    0,  951,  951,  951,
    1317       951,  951,  951,  952,  952,  953,  953,  953,  953,  953,
    1318       953,  953,  953,  953,  953,  953,  953,  954,  954,    0,
    1319         0,    0,  954,  955,  955,  956,  956,    0,    0,    0,
    1320       956,  957,  957,  958,  958,  959,  959,  960,    0,    0,
    1321       960,  960,  960,  960,  960,  960,  961,  961,  962,  962,
    1322 
    1323       963,  963,  964,  964,  965,  965,  966,  966,  967,  967,
    1324       968,  968,    0,    0,    0,  968,  969,  969,  970,  970,
    1325         0,    0,    0,  970,  971,  971,  972,  972,  973,  973,
    1326       974,  974,  975,  975,    0,    0,    0,  975,  976,    0,
    1327         0,  976,  976,  976,  976,  976,  976,  977,  977,  978,
    1328       978,  979,  979,    0,    0,    0,  979,  980,  980,    0,
    1329         0,    0,  980,  981,  981,    0,    0,    0,  981,  982,
    1330       982,  983,  983,    0,    0,    0,  983,  984,  984,    0,
    1331         0,    0,  984,  985,  985,    0,    0,    0,  985,  986,
    1332       986,    0,    0,    0,  986,  987,  987,    0,    0,    0,
    1333 
    1334       987,  988,  988,    0,    0,    0,  988,  989,  989,    0,
    1335         0,    0,  989,  990,  990,    0,    0,    0,  990,  991,
    1336       991,    0,    0,    0,  991,  992,  992,    0,    0,    0,
    1337       992,  993,  993,    0,    0,    0,  993,  994,  994,    0,
    1338         0,    0,  994,  995,  995,    0,    0,    0,  995,  996,
    1339       996,    0,    0,    0,  996,  997,  997,    0,    0,    0,
    1340       997,  998,  998,    0,    0,    0,  998,  825,  825,  825,
    1341       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1342       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1343       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1344 
    1345       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1346       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1347       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1348       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1349       825,  825,  825,  825,  825,  825,  825,  825,  825,  825,
    1350       825,  825
     1127        5,    5,    5,    5,    5,    5,    5,    5,    5,    7,
     1128        8,    9,   10,   37,   37,   20,   39,    9,   10,  890,
     1129        7,    8,   13,   13,   13,   13,   13,   13,   15,   15,
     1130
     1131       15,   15,   15,   15,   20,   25,   48,   39,   42,   28,
     1132       27,   28,   28,   28,   28,   28,   28,  109,  115,   25,
     1133       29,   25,   27,   27,   27,   29,   48,   35,   40,    7,
     1134        8,    9,   10,   40,   42,   29,   30,   47,   30,   30,
     1135       30,   30,   30,   30,   35,   57,   35,   35,   44,  126,
     1136       44,  126,  109,  115,   57,   30,   64,   56,   47,   30,
     1137       47,   45,   45,   45,   49,   30,   30,   45,   45,   49,
     1138       45,   30,   40,   45,   45,   40,   49,   30,   45,   56,
     1139       62,   45,   49,   30,   73,  889,  127,   53,  127,   51,
     1140       61,   30,   62,   55,   30,   31,  108,   31,   31,   31,
     1141
     1142       31,   31,   31,   50,   51,   53,   51,   64,   61,   54,
     1143       73,   55,   50,   87,   31,   51,   50,   55,   31,   54,
     1144      108,   50,   52,  114,   31,   50,   54,   52,  175,  129,
     1145       31,  129,  107,  154,  151,   52,   31,   52,  107,   87,
     1146       52,   60,   31,  132,   52,  132,   60,  114,  175,  154,
     1147       31,   38,  151,  385,  111,   38,   38,   58,   38,   60,
     1148       38,   38,  113,   38,  107,   38,   59,  130,  113,   58,
     1149       58,  116,  111,  164,   38,   38,   38,  385,   59,   58,
     1150      111,  130,   58,  130,  142,   60,   59,  131,   60,  116,
     1151      164,   68,   68,   59,  113,   38,   68,  116,   38,  131,
     1152
     1153      110,  131,   60,   67,   67,   67,   67,   67,   67,  881,
     1154      142,   67,   68,   68,   68,   68,   68,   68,   80,   80,
     1155       80,   80,   80,   80,  153,   38,   38,   77,   77,  134,
     1156      110,  134,   77,  153,   77,  110,  135,  135,  135,   77,
     1157       82,   82,   82,   82,   82,   82,  880,  243,   77,   77,
     1158       77,   77,   83,   83,   83,   83,   83,   83,  110,   77,
     1159      103,  103,  103,  103,  103,  103,  104,  104,  104,  104,
     1160      133,  133,  137,  133,  137,   77,  145,  139,   77,  139,
     1161      157,  145,  243,   77,   77,  152,  156,   77,   77,  155,
     1162      166,  150,  157,  103,  104,   77,  159,  168,   77,  104,
     1163
     1164       77,   77,   77,  152,   77,   85,  150,  155,  156,   85,
     1165       85,  166,  159,  150,   85,   85,  161,   85,  160,   85,
     1166      145,  162,  104,  167,  168,  161,  169,  163,   85,   85,
     1167       85,  105,  163,  105,  105,  105,  105,  105,  105,  877,
     1168      160,  171,  162,  162,  165,  163,  167,  169,  173,   85,
     1169      105,  106,   85,  106,  165,  172,  106,  106,  106,  106,
     1170      106,  106,  180,  171,  170,  173,  105,  176,  177,  170,
     1171      172,  181,  105,  174,  184,  187,  181,  182,  179,  180,
     1172       85,   99,   99,   99,   99,   99,   99,  170,  187,  106,
     1173      177,  174,  184,  179,  176,  183,  190,   99,   99,   99,
     1174
     1175      179,   99,   99,  189,  182,  186,  183,  191,  189,  218,
     1176      186,  218,  185,  188,   99,  190,  183,  183,  284,   99,
     1177       99,   99,  158,  185,   99,  186,   99,  158,  158,  158,
     1178      189,  158,  158,  188,  192,  158,  194,  158,  284,  219,
     1179      185,  219,  158,  158,  158,  193,  158,  192,  220,  194,
     1180      220,  191,  198,  198,  191,  192,  205,  198,  193,  876,
     1181      193,  197,  197,  197,  197,  197,  197,  200,  200,  197,
     1182      248,  221,  200,  198,  198,  198,  198,  198,  198,  202,
     1183      202,  223,  205,  223,  202,  221,  202,  221,  200,  200,
     1184      200,  200,  200,  200,  209,  209,  248,  338,  222,  209,
     1185
     1186      202,  202,  202,  202,  202,  202,  212,  212,  212,  212,
     1187      222,  309,  222,  224,  224,  225,  224,  225,  226,  226,
     1188      226,  228,  229,  228,  229,  234,  234,  235,  236,  235,
     1189      309,  279,  235,  235,  235,  235,  235,  235,  237,  212,
     1190      237,  338,  266,  237,  266,  267,  278,  267,  234,  279,
     1191      283,  236,  241,  241,  241,  283,  241,  241,  256,  278,
     1192      237,  281,  237,  282,  280,  235,  270,  237,  244,  244,
     1193      244,  244,  244,  244,  241,  241,  241,  281,  285,  241,
     1194      282,  241,  280,  285,  256,  244,  245,  245,  245,  245,
     1195      245,  245,  270,  288,  293,  286,  294,  300,  306,  293,
     1196
     1197      308,  244,  300,  306,  874,  294,  308,  244,  246,  246,
     1198      246,  246,  246,  246,  253,  286,  288,  255,  255,  255,
     1199      255,  255,  255,  287,  246,  247,  246,  247,  246,  246,
     1200      247,  247,  247,  247,  247,  247,  290,  253,  287,  253,
     1201      873,  246,  289,  253,  287,  287,  246,  292,  246,  253,
     1202      255,  246,  291,  246,  260,  260,  260,  260,  260,  260,
     1203      289,  253,  290,  292,  292,  253,  295,  291,  296,  253,
     1204      297,  299,  301,  302,  303,  304,  305,  307,  311,  295,
     1205      302,  301,  307,  310,  311,  312,  319,  260,  297,  299,
     1206      313,  314,  310,  304,  303,  296,  318,  305,  305,  313,
     1207
     1208      315,  312,  316,  317,  319,  315,  314,  316,  317,  320,
     1209      322,  323,  324,  326,  325,  318,  327,  328,  331,  329,
     1210      330,  322,  320,  332,  334,  317,  323,  325,  333,  330,
     1211      335,  324,  337,  339,  340,  326,  329,  328,  401,  327,
     1212      331,  337,  334,  335,  341,  343,  332,  340,  342,  401,
     1213      333,  339,  341,  342,  344,  344,  345,  460,  866,  344,
     1214      343,  344,  345,  352,  352,  352,  352,  353,  353,  353,
     1215      353,  362,  363,  362,  363,  370,  370,  370,  370,  370,
     1216      370,  372,  460,  372,  380,  381,  372,  372,  372,  372,
     1217      372,  372,  865,  402,  380,  381,  352,  371,  371,  371,
     1218
     1219      371,  371,  371,  374,  374,  374,  374,  374,  374,  402,
     1220      380,  381,  403,  371,  404,  371,  864,  371,  371,  375,
     1221      375,  375,  375,  375,  375,  383,  382,  403,  406,  405,
     1222      371,  383,  407,  404,  408,  371,  374,  371,  405,  406,
     1223      371,  407,  371,  376,  376,  376,  376,  376,  376,  382,
     1224      412,  382,  375,  387,  411,  382,  408,  383,  384,  386,
     1225      384,  382,  410,  384,  384,  384,  384,  384,  384,  409,
     1226      411,  387,  412,  382,  413,  410,  376,  382,  409,  387,
     1227      415,  382,  386,  414,  386,  416,  417,  413,  386,  418,
     1228      421,  417,  419,  422,  386,  420,  384,  427,  419,  414,
     1229
     1230      414,  421,  415,  416,  418,  423,  386,  425,  429,  427,
     1231      386,  418,  422,  430,  386,  431,  420,  432,  433,  434,
     1232      423,  425,  435,  437,  433,  439,  440,  441,  431,  429,
     1233      442,  435,  443,  444,  434,  430,  449,  445,  437,  447,
     1234      432,  450,  441,  451,  454,  439,  445,  443,  440,  452,
     1235      450,  453,  442,  444,  455,  456,  447,  457,  458,  449,
     1236      459,  461,  463,  455,  451,  458,  454,  459,  462,  452,
     1237      457,  453,  466,  456,  464,  467,  462,  525,  863,  463,
     1238      525,  468,  491,  461,  467,  464,  462,  468,  477,  477,
     1239      477,  477,  491,  515,  466,  488,  488,  488,  488,  488,
     1240
     1241      488,  490,  490,  490,  490,  490,  490,  519,  491,  521,
     1242      515,  488,  492,  488,  492,  488,  488,  492,  492,  492,
     1243      492,  492,  492,  494,  516,  495,  493,  519,  488,  862,
     1244      858,  521,  518,  488,  490,  488,  493,  516,  488,  529,
     1245      488,  497,  497,  497,  497,  497,  497,  518,  520,  494,
     1246      492,  495,  493,  498,  498,  498,  498,  498,  498,  523,
     1247      529,  520,  526,  854,  523,  851,  528,  850,  522,  498,
     1248      499,  498,  499,  498,  498,  499,  499,  499,  499,  499,
     1249      499,  522,  526,  524,  527,  528,  498,  531,  530,  532,
     1250      533,  498,  531,  498,  524,  534,  498,  530,  498,  527,
     1251
     1252      532,  535,  537,  533,  536,  538,  539,  541,  542,  547,
     1253      535,  539,  544,  541,  538,  545,  546,  542,  547,  537,
     1254      550,  551,  849,  549,  534,  552,  536,  554,  560,  544,
     1255      545,  546,  549,  551,  555,  557,  558,  550,  561,  555,
     1256      552,  562,  554,  565,  557,  558,  564,  567,  566,  568,
     1257      560,  561,  575,  565,  564,  566,  569,  571,  562,  574,
     1258      572,  568,  569,  620,  619,  575,  571,  601,  601,  567,
     1259      572,  619,  620,  848,  847,  622,  574,  594,  594,  594,
     1260      594,  594,  594,  595,  595,  595,  595,  595,  595,  597,
     1261      601,  597,  622,  621,  597,  597,  597,  597,  597,  597,
     1262
     1263      600,  600,  600,  600,  600,  600,  621,  602,  626,  846,
     1264      594,  596,  596,  596,  596,  596,  596,  603,  618,  603,
     1265      623,  624,  603,  618,  628,  626,  625,  596,  624,  596,
     1266      602,  596,  596,  600,  625,  627,  618,  628,  627,  603,
     1267      629,  603,  630,  623,  596,  631,  603,  632,  633,  596,
     1268      634,  596,  635,  634,  596,  636,  596,  630,  637,  638,
     1269      640,  644,  629,  639,  632,  641,  642,  631,  645,  635,
     1270      633,  646,  639,  637,  650,  642,  651,  656,  640,  638,
     1271      646,  653,  657,  636,  644,  665,  656,  641,  664,  657,
     1272      645,  667,  668,  842,  650,  665,  700,  664,  653,  699,
     1273
     1274      667,  702,  705,  651,  714,  842,  700,  668,  686,  686,
     1275      686,  686,  686,  686,  690,  690,  690,  690,  690,  690,
     1276      699,  708,  705,  703,  686,  714,  686,  702,  686,  686,
     1277      703,  704,  706,  715,  707,  706,  704,  707,  710,  708,
     1278      712,  686,  711,  717,  710,  718,  686,  690,  686,  712,
     1279      720,  686,  717,  686,  713,  711,  716,  713,  719,  716,
     1280      721,  719,  715,  720,  722,  723,  724,  725,  721,  731,
     1281      728,  718,  732,  735,  722,  733,  725,  736,  723,  756,
     1282      757,  735,  758,  754,  756,  759,  736,  724,  728,  731,
     1283      755,  761,  758,  728,  732,  757,  733,  743,  743,  743,
     1284
     1285      743,  743,  743,  754,  760,  763,  762,  755,  759,  762,
     1286      764,  766,  768,  769,  766,  768,  770,  761,  763,  770,
     1287      769,  760,  771,  773,  772,  771,  775,  779,  794,  797,
     1288      743,  796,  798,  800,  799,  798,  800,  801,  764,  772,
     1289      801,  803,  804,  807,  810,  805,  773,  797,  805,  775,
     1290      779,  808,  796,  810,  808,  794,  799,  809,  811,  803,
     1291      809,  812,  813,  828,  829,  807,  830,  831,  804,  830,
     1292      832,  829,  812,  834,  811,  856,  831,  833,  813,  837,
     1293      833,  875,  837,  840,  828,  856,  840,  841,  832,  843,
     1294      834,  852,  853,  867,  832,  868,  841,  853,  843,  855,
     1295
     1296      852,  857,  855,  875,  859,  860,  857,  859,  860,  861,
     1297      868,  869,  861,  867,  869,  870,  871,  872,  878,  871,
     1298      872,  879,  882,  884,  883,  870,  885,  887,  886,  845,
     1299      888,  882,  844,  839,  838,  836,  879,  883,  835,  878,
     1300      888,  827,  826,  825,  824,  884,  886,  885,  823,  887,
     1301      892,  892,  892,  892,  892,  892,  892,  892,  892,  892,
     1302      892,  892,  892,  893,  893,  893,  893,  893,  893,  893,
     1303      893,  893,  893,  893,  893,  893,  894,  894,  894,  894,
     1304      894,  894,  894,  894,  894,  894,  894,  894,  894,  895,
     1305      822,  821,  895,  820,  895,  895,  895,  895,  895,  896,
     1306
     1307      819,  818,  817,  896,  896,  896,  896,  896,  896,  897,
     1308      897,  897,  897,  897,  897,  897,  897,  897,  897,  897,
     1309      897,  897,  898,  816,  815,  898,  814,  898,  898,  898,
     1310      898,  898,  899,  806,  899,  899,  802,  899,  899,  899,
     1311      899,  899,  899,  795,  899,  900,  793,  792,  900,  900,
     1312      900,  900,  900,  900,  900,  900,  791,  900,  901,  901,
     1313      901,  901,  901,  901,  901,  901,  901,  901,  901,  901,
     1314      901,  902,  902,  790,  902,  789,  788,  787,  902,  903,
     1315      786,  785,  903,  784,  903,  903,  903,  903,  903,  904,
     1316      783,  904,  782,  781,  780,  904,  905,  778,  905,  777,
     1317
     1318      776,  774,  905,  906,  767,  906,  765,  753,  752,  906,
     1319      907,  751,  907,  750,  749,  748,  907,  908,  747,  908,
     1320      746,  745,  742,  908,  909,  741,  909,  740,  734,  730,
     1321      909,  910,  729,  910,  727,  726,  709,  910,  911,  701,
     1322      911,  698,  693,  691,  911,  912,  687,  912,  677,  673,
     1323      671,  912,  913,  913,  913,  913,  913,  913,  913,  913,
     1324      913,  913,  913,  913,  913,  914,  669,  914,  915,  915,
     1325      666,  915,  915,  915,  663,  915,  916,  916,  662,  916,
     1326      917,  661,  917,  660,  659,  658,  917,  918,  655,  918,
     1327      654,  652,  649,  918,  919,  648,  919,  647,  643,  616,
     1328
     1329      919,  920,  612,  920,  921,  610,  921,  608,  606,  604,
     1330      921,  922,  598,  922,  923,  592,  590,  923,  588,  923,
     1331      923,  923,  923,  923,  924,  924,  924,  924,  924,  924,
     1332      924,  924,  924,  924,  924,  924,  924,  925,  925,  925,
     1333      925,  925,  925,  925,  925,  925,  925,  925,  925,  925,
     1334      926,  586,  926,  584,  582,  580,  926,  927,  578,  927,
     1335      577,  576,  573,  927,  928,  570,  928,  563,  559,  556,
     1336      928,  929,  553,  929,  930,  548,  930,  543,  540,  517,
     1337      930,  931,  513,  931,  932,  511,  932,  509,  507,  505,
     1338      932,  933,  503,  933,  934,  502,  934,  501,  500,  489,
     1339
     1340      934,  935,  486,  935,  936,  484,  936,  483,  482,  480,
     1341      936,  937,  478,  937,  938,  475,  938,  473,  471,  469,
     1342      938,  939,  465,  939,  940,  448,  940,  446,  438,  436,
     1343      940,  941,  428,  941,  942,  426,  942,  424,  942,  398,
     1344      942,  943,  396,  943,  394,  943,  392,  943,  944,  944,
     1345      391,  944,  944,  944,  390,  944,  945,  377,  945,  367,
     1346      365,  364,  945,  946,  360,  946,  358,  356,  354,  946,
     1347      947,  350,  947,  348,  347,  346,  947,  948,  336,  948,
     1348      949,  321,  949,  298,  277,  275,  949,  950,  273,  950,
     1349      951,  272,  951,  271,  269,  268,  951,  952,  263,  952,
     1350
     1351      953,  259,  953,  258,  254,  251,  953,  954,  250,  954,
     1352      955,  239,  238,  955,  231,  955,  955,  955,  955,  955,
     1353      956,  956,  956,  956,  956,  956,  956,  956,  956,  956,
     1354      956,  956,  956,  957,  230,  957,  227,  217,  215,  957,
     1355      958,  214,  958,  959,  213,  959,  207,  206,  204,  959,
     1356      960,  199,  960,  961,  178,  961,  149,  147,  146,  961,
     1357      962,  140,  962,  963,  138,  963,  136,  128,  125,  963,
     1358      964,  124,  964,  965,  120,  965,  101,   98,   95,  965,
     1359      966,   93,  966,  967,   86,  967,   72,   70,   66,  967,
     1360      968,   36,  968,  969,   33,  969,   18,   11,    4,  969,
     1361
     1362      970,    3,  970,    0,    0,    0,  970,  971,    0,  971,
     1363      972,    0,  972,    0,    0,    0,  972,  973,    0,  973,
     1364      974,    0,  974,    0,  974,    0,  974,  975,    0,  975,
     1365        0,    0,    0,  975,  976,    0,  976,    0,    0,    0,
     1366      976,  977,    0,  977,  978,    0,  978,    0,    0,    0,
     1367      978,  979,    0,  979,  980,    0,  980,    0,    0,    0,
     1368      980,  981,    0,  981,  982,    0,  982,    0,    0,    0,
     1369      982,  983,    0,  983,  984,    0,  984,    0,    0,    0,
     1370      984,  985,    0,  985,  986,    0,  986,    0,    0,    0,
     1371      986,  987,    0,  987,  988,    0,    0,  988,    0,  988,
     1372
     1373      988,  988,  988,  988,  989,  989,  989,  989,  989,  989,
     1374      989,  989,  989,  989,  989,  989,  989,  990,    0,  990,
     1375        0,    0,    0,  990,  991,    0,  991,  992,    0,  992,
     1376        0,    0,    0,  992,  993,    0,  993,  994,    0,  994,
     1377        0,    0,    0,  994,  995,    0,  995,  996,    0,  996,
     1378        0,    0,    0,  996,  997,    0,  997,  998,    0,  998,
     1379        0,    0,    0,  998,  999,    0,  999, 1000,    0, 1000,
     1380        0,    0,    0, 1000, 1001,    0, 1001, 1002,    0, 1002,
     1381        0,    0,    0, 1002, 1003,    0, 1003, 1004,    0, 1004,
     1382        0,    0,    0, 1004, 1005,    0, 1005, 1006,    0, 1006,
     1383
     1384        0,    0,    0, 1006, 1007,    0, 1007,    0,    0,    0,
     1385     1007, 1008,    0, 1008, 1009,    0, 1009,    0,    0,    0,
     1386     1009, 1010,    0, 1010, 1011,    0, 1011,    0,    0,    0,
     1387     1011, 1012,    0, 1012, 1013,    0, 1013,    0,    0,    0,
     1388     1013, 1014,    0, 1014, 1015,    0, 1015, 1016,    0, 1016,
     1389     1017,    0,    0, 1017,    0, 1017, 1017, 1017, 1017, 1017,
     1390     1018,    0, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019,
     1391     1019, 1019, 1019, 1019, 1019, 1019, 1020,    0, 1020,    0,
     1392        0,    0, 1020, 1021,    0, 1021, 1022,    0, 1022,    0,
     1393        0,    0, 1022, 1023,    0, 1023, 1024,    0, 1024, 1025,
     1394
     1395        0, 1025, 1026,    0,    0, 1026,    0, 1026, 1026, 1026,
     1396     1026, 1026, 1027,    0, 1027, 1028,    0, 1028, 1029,    0,
     1397     1029, 1030,    0, 1030, 1031,    0, 1031, 1032,    0, 1032,
     1398     1033,    0, 1033, 1034,    0, 1034,    0,    0,    0, 1034,
     1399     1035,    0, 1035, 1036,    0, 1036,    0,    0,    0, 1036,
     1400     1037,    0, 1037, 1038,    0, 1038, 1039,    0, 1039, 1040,
     1401        0, 1040, 1041,    0, 1041,    0,    0,    0, 1041, 1042,
     1402        0,    0, 1042,    0, 1042, 1042, 1042, 1042, 1042, 1043,
     1403        0, 1043, 1044,    0, 1044, 1045,    0, 1045, 1046,    0,
     1404     1046,    0,    0,    0, 1046, 1047,    0, 1047,    0,    0,
     1405
     1406        0, 1047, 1048,    0, 1048,    0,    0,    0, 1048, 1049,
     1407        0, 1049, 1050,    0, 1050,    0,    0,    0, 1050, 1051,
     1408        0, 1051,    0,    0,    0, 1051, 1052,    0, 1052,    0,
     1409        0,    0, 1052, 1053,    0, 1053,    0,    0,    0, 1053,
     1410     1054,    0, 1054,    0,    0,    0, 1054, 1055,    0, 1055,
     1411        0,    0,    0, 1055, 1056,    0, 1056,    0,    0,    0,
     1412     1056, 1057,    0, 1057,    0,    0,    0, 1057, 1058,    0,
     1413     1058,    0,    0,    0, 1058, 1059,    0, 1059,    0,    0,
     1414        0, 1059, 1060,    0, 1060,    0,    0,    0, 1060, 1061,
     1415        0, 1061,    0,    0,    0, 1061, 1062,    0, 1062,    0,
     1416
     1417        0,    0, 1062, 1063,    0, 1063,    0,    0,    0, 1063,
     1418     1064,    0, 1064,    0,    0,    0, 1064, 1065,    0, 1065,
     1419        0,    0,    0, 1065,  891,  891,  891,  891,  891,  891,
     1420      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1421      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1422      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1423      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1424      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1425      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1426      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1427
     1428      891,  891,  891,  891,  891,  891,  891,  891,  891,  891
    13511429    } ;
    13521430
    13531431/* Table of booleans, true if rule could match eol. */
    1354 static yyconst flex_int32_t yy_rule_can_match_eol[172] =
     1432static yyconst flex_int32_t yy_rule_can_match_eol[182] =
    13551433    {   0,
    135614341, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     
    13591437    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    13601438    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1361     0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
     1439    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
     1440    1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    13621441    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    13631442    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1364     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,     };
     1443    0, 0,     };
    13651444
    13661445static yy_state_type yy_last_accepting_state;
     
    13891468 * Author           : Peter A. Buhr
    13901469 * Created On       : Sat Sep 22 08:58:10 2001
    1391  * Last Modified By : Peter A. Buhr
    1392  * Last Modified On : Fri Jun 19 11:10:14 2015
    1393  * Update Count     : 392
     1470 * Last Modified By :
     1471 * Last Modified On : Sun Jul 31 07:19:36 2016
     1472 * Update Count     : 459
    13941473 */
    13951474#line 20 "lex.ll"
     
    14031482
    14041483#include "lex.h"
     1484#include "parser.h"                                                                             // YACC generated definitions based on C++ grammar
    14051485#include "ParseNode.h"
    1406 #include "parser.h"                                                                             // YACC generated definitions based on C++ grammar
     1486#include "TypedefTable.h"
    14071487
    14081488char *yyfilename;
     
    14201500#define NUMERIC_RETURN(x)       rm_underscore(); RETURN_VAL( x ) // numeric constant
    14211501#define KEYWORD_RETURN(x)       RETURN_CHAR( x )                        // keyword
    1422 #define IDENTIFIER_RETURN()     RETURN_VAL( (typedefTable.isIdentifier( yytext ) ? IDENTIFIER : typedefTable.isTypedef( yytext ) ? TYPEDEFname : TYPEGENname ) )
     1502#define IDENTIFIER_RETURN()     RETURN_VAL( typedefTable.isKind( yytext ) )
    14231503#define ATTRIBUTE_RETURN()      RETURN_VAL( ATTR_IDENTIFIER )
    14241504
    14251505void rm_underscore() {
    1426         // remove underscores in numeric constant
    1427         int j = 0;
     1506        // Remove underscores in numeric constant by copying the non-underscore characters to the front of the string.
     1507        yyleng = 0;
    14281508        for ( int i = 0; yytext[i] != '\0'; i += 1 ) {
    14291509                if ( yytext[i] != '_' ) {
    1430                         yytext[j] = yytext[i];
    1431                         j += 1;
     1510                        yytext[yyleng] = yytext[i];
     1511                        yyleng += 1;
    14321512                } // if
    14331513        } // for
    1434         yyleng = j;
    14351514        yytext[yyleng] = '\0';
    14361515}
     
    14401519// attribute identifier, GCC: $ in identifier
    14411520// numeric constants, CFA: '_' in constant
     1521// GCC: D (double), DL (long double) and iI (imaginary) suffixes
     1522//floating_suffix "_"?([fFdD]|[lL]|[D][L])|([iI][lLfFdD])|([lLfFdD][iI]))
    14421523// character escape sequence, GCC: \e => esc character
    14431524// ' stop highlighting
    14441525// display/white-space characters
    1445 // operators
    1446 
    1447 
    1448 
    1449 
    1450 #line 1451 "Parser/lex.cc"
     1526// overloadable operators
     1527// op_binary_not_over "?"|"->"|"."|"&&"|"||"|"@="
     1528// operator {op_unary_pre_post}|{op_binary_over}|{op_binary_not_over}
     1529
     1530
     1531
     1532
     1533#line 1534 "Parser/lex.cc"
    14511534
    14521535#define INITIAL 0
     
    16401723        register int yy_act;
    16411724   
    1642 #line 136 "lex.ll"
     1725#line 138 "lex.ll"
    16431726
    16441727                                   /* line directives */
    1645 #line 1646 "Parser/lex.cc"
     1728#line 1729 "Parser/lex.cc"
    16461729
    16471730        if ( !(yy_init) )
     
    16971780                                {
    16981781                                yy_current_state = (int) yy_def[yy_current_state];
    1699                                 if ( yy_current_state >= 826 )
     1782                                if ( yy_current_state >= 892 )
    17001783                                        yy_c = yy_meta[(unsigned int) yy_c];
    17011784                                }
     
    17031786                        ++yy_cp;
    17041787                        }
    1705                 while ( yy_base[yy_current_state] != 2568 );
     1788                while ( yy_base[yy_current_state] != 2825 );
    17061789
    17071790yy_find_action:
     
    17401823/* rule 1 can match eol */
    17411824YY_RULE_SETUP
    1742 #line 138 "lex.ll"
     1825#line 140 "lex.ll"
    17431826{
    17441827        /* " stop highlighting */
     
    17671850/* rule 2 can match eol */
    17681851YY_RULE_SETUP
    1769 #line 161 "lex.ll"
     1852#line 163 "lex.ll"
    17701853;
    17711854        YY_BREAK
     
    17731856case 3:
    17741857YY_RULE_SETUP
    1775 #line 164 "lex.ll"
     1858#line 166 "lex.ll"
    17761859{ BEGIN COMMENT; }
    17771860        YY_BREAK
     
    17791862/* rule 4 can match eol */
    17801863YY_RULE_SETUP
    1781 #line 165 "lex.ll"
     1864#line 167 "lex.ll"
    17821865;
    17831866        YY_BREAK
    17841867case 5:
    17851868YY_RULE_SETUP
    1786 #line 166 "lex.ll"
     1869#line 168 "lex.ll"
    17871870{ BEGIN 0; }
    17881871        YY_BREAK
     
    17911874/* rule 6 can match eol */
    17921875YY_RULE_SETUP
    1793 #line 169 "lex.ll"
     1876#line 171 "lex.ll"
    17941877;
    17951878        YY_BREAK
     
    17971880case 7:
    17981881YY_RULE_SETUP
    1799 #line 172 "lex.ll"
     1882#line 174 "lex.ll"
    18001883{ WHITE_RETURN(' '); }
    18011884        YY_BREAK
    18021885case 8:
    18031886YY_RULE_SETUP
    1804 #line 173 "lex.ll"
     1887#line 175 "lex.ll"
    18051888{ WHITE_RETURN(' '); }
    18061889        YY_BREAK
     
    18081891/* rule 9 can match eol */
    18091892YY_RULE_SETUP
    1810 #line 174 "lex.ll"
     1893#line 176 "lex.ll"
    18111894{ NEWLINE_RETURN(); }
    18121895        YY_BREAK
     
    18141897case 10:
    18151898YY_RULE_SETUP
    1816 #line 177 "lex.ll"
     1899#line 179 "lex.ll"
    18171900{ KEYWORD_RETURN(ALIGNAS); }                    // C11
    18181901        YY_BREAK
    18191902case 11:
    18201903YY_RULE_SETUP
    1821 #line 178 "lex.ll"
     1904#line 180 "lex.ll"
    18221905{ KEYWORD_RETURN(ALIGNOF); }                    // C11
    18231906        YY_BREAK
    18241907case 12:
    18251908YY_RULE_SETUP
    1826 #line 179 "lex.ll"
     1909#line 181 "lex.ll"
    18271910{ KEYWORD_RETURN(ALIGNOF); }                    // GCC
    18281911        YY_BREAK
    18291912case 13:
    18301913YY_RULE_SETUP
    1831 #line 180 "lex.ll"
     1914#line 182 "lex.ll"
    18321915{ KEYWORD_RETURN(ALIGNOF); }                    // GCC
    18331916        YY_BREAK
    18341917case 14:
    18351918YY_RULE_SETUP
    1836 #line 181 "lex.ll"
     1919#line 183 "lex.ll"
    18371920{ KEYWORD_RETURN(ASM); }
    18381921        YY_BREAK
    18391922case 15:
    18401923YY_RULE_SETUP
    1841 #line 182 "lex.ll"
     1924#line 184 "lex.ll"
    18421925{ KEYWORD_RETURN(ASM); }                                // GCC
    18431926        YY_BREAK
    18441927case 16:
    18451928YY_RULE_SETUP
    1846 #line 183 "lex.ll"
     1929#line 185 "lex.ll"
    18471930{ KEYWORD_RETURN(ASM); }                                // GCC
    18481931        YY_BREAK
    18491932case 17:
    18501933YY_RULE_SETUP
    1851 #line 184 "lex.ll"
     1934#line 186 "lex.ll"
     1935{ KEYWORD_RETURN(AT); }                                 // CFA
     1936        YY_BREAK
     1937case 18:
     1938YY_RULE_SETUP
     1939#line 187 "lex.ll"
    18521940{ KEYWORD_RETURN(ATOMIC); }                             // C11
    18531941        YY_BREAK
    1854 case 18:
    1855 YY_RULE_SETUP
    1856 #line 185 "lex.ll"
     1942case 19:
     1943YY_RULE_SETUP
     1944#line 188 "lex.ll"
    18571945{ KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    18581946        YY_BREAK
    1859 case 19:
    1860 YY_RULE_SETUP
    1861 #line 186 "lex.ll"
     1947case 20:
     1948YY_RULE_SETUP
     1949#line 189 "lex.ll"
    18621950{ KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    18631951        YY_BREAK
    1864 case 20:
    1865 YY_RULE_SETUP
    1866 #line 187 "lex.ll"
     1952case 21:
     1953YY_RULE_SETUP
     1954#line 190 "lex.ll"
    18671955{ KEYWORD_RETURN(AUTO); }
    18681956        YY_BREAK
    1869 case 21:
    1870 YY_RULE_SETUP
    1871 #line 188 "lex.ll"
     1957case 22:
     1958YY_RULE_SETUP
     1959#line 191 "lex.ll"
    18721960{ KEYWORD_RETURN(BOOL); }                               // C99
    18731961        YY_BREAK
    1874 case 22:
    1875 YY_RULE_SETUP
    1876 #line 189 "lex.ll"
     1962case 23:
     1963YY_RULE_SETUP
     1964#line 192 "lex.ll"
    18771965{ KEYWORD_RETURN(BREAK); }
    18781966        YY_BREAK
    1879 case 23:
    1880 YY_RULE_SETUP
    1881 #line 190 "lex.ll"
     1967case 24:
     1968YY_RULE_SETUP
     1969#line 193 "lex.ll"
    18821970{ KEYWORD_RETURN(CASE); }
    18831971        YY_BREAK
    1884 case 24:
    1885 YY_RULE_SETUP
    1886 #line 191 "lex.ll"
     1972case 25:
     1973YY_RULE_SETUP
     1974#line 194 "lex.ll"
    18871975{ KEYWORD_RETURN(CATCH); }                              // CFA
    18881976        YY_BREAK
    1889 case 25:
    1890 YY_RULE_SETUP
    1891 #line 192 "lex.ll"
     1977case 26:
     1978YY_RULE_SETUP
     1979#line 195 "lex.ll"
     1980{ KEYWORD_RETURN(CATCHRESUME); }                // CFA
     1981        YY_BREAK
     1982case 27:
     1983YY_RULE_SETUP
     1984#line 196 "lex.ll"
    18921985{ KEYWORD_RETURN(CHAR); }
    18931986        YY_BREAK
    1894 case 26:
    1895 YY_RULE_SETUP
    1896 #line 193 "lex.ll"
     1987case 28:
     1988YY_RULE_SETUP
     1989#line 197 "lex.ll"
    18971990{ KEYWORD_RETURN(CHOOSE); }                             // CFA
    18981991        YY_BREAK
    1899 case 27:
    1900 YY_RULE_SETUP
    1901 #line 194 "lex.ll"
     1992case 29:
     1993YY_RULE_SETUP
     1994#line 198 "lex.ll"
    19021995{ KEYWORD_RETURN(COMPLEX); }                    // C99
    19031996        YY_BREAK
    1904 case 28:
    1905 YY_RULE_SETUP
    1906 #line 195 "lex.ll"
     1997case 30:
     1998YY_RULE_SETUP
     1999#line 199 "lex.ll"
    19072000{ KEYWORD_RETURN(COMPLEX); }                    // GCC
    19082001        YY_BREAK
    1909 case 29:
    1910 YY_RULE_SETUP
    1911 #line 196 "lex.ll"
     2002case 31:
     2003YY_RULE_SETUP
     2004#line 200 "lex.ll"
    19122005{ KEYWORD_RETURN(COMPLEX); }                    // GCC
    19132006        YY_BREAK
    1914 case 30:
    1915 YY_RULE_SETUP
    1916 #line 197 "lex.ll"
     2007case 32:
     2008YY_RULE_SETUP
     2009#line 201 "lex.ll"
    19172010{ KEYWORD_RETURN(CONST); }
    19182011        YY_BREAK
    1919 case 31:
    1920 YY_RULE_SETUP
    1921 #line 198 "lex.ll"
     2012case 33:
     2013YY_RULE_SETUP
     2014#line 202 "lex.ll"
    19222015{ KEYWORD_RETURN(CONST); }                              // GCC
    19232016        YY_BREAK
    1924 case 32:
    1925 YY_RULE_SETUP
    1926 #line 199 "lex.ll"
     2017case 34:
     2018YY_RULE_SETUP
     2019#line 203 "lex.ll"
    19272020{ KEYWORD_RETURN(CONST); }                              // GCC
    19282021        YY_BREAK
    1929 case 33:
    1930 YY_RULE_SETUP
    1931 #line 200 "lex.ll"
    1932 { KEYWORD_RETURN(CONTEXT); }                    // CFA
    1933         YY_BREAK
    1934 case 34:
    1935 YY_RULE_SETUP
    1936 #line 201 "lex.ll"
     2022case 35:
     2023YY_RULE_SETUP
     2024#line 204 "lex.ll"
    19372025{ KEYWORD_RETURN(CONTINUE); }
    19382026        YY_BREAK
    1939 case 35:
    1940 YY_RULE_SETUP
    1941 #line 202 "lex.ll"
     2027case 36:
     2028YY_RULE_SETUP
     2029#line 205 "lex.ll"
    19422030{ KEYWORD_RETURN(DEFAULT); }
    19432031        YY_BREAK
    1944 case 36:
    1945 YY_RULE_SETUP
    1946 #line 203 "lex.ll"
     2032case 37:
     2033YY_RULE_SETUP
     2034#line 206 "lex.ll"
     2035{ KEYWORD_RETURN(DISABLE); }                    // CFA
     2036        YY_BREAK
     2037case 38:
     2038YY_RULE_SETUP
     2039#line 207 "lex.ll"
    19472040{ KEYWORD_RETURN(DO); }
    19482041        YY_BREAK
    1949 case 37:
    1950 YY_RULE_SETUP
    1951 #line 204 "lex.ll"
     2042case 39:
     2043YY_RULE_SETUP
     2044#line 208 "lex.ll"
    19522045{ KEYWORD_RETURN(DOUBLE); }
    19532046        YY_BREAK
    1954 case 38:
    1955 YY_RULE_SETUP
    1956 #line 205 "lex.ll"
     2047case 40:
     2048YY_RULE_SETUP
     2049#line 209 "lex.ll"
    19572050{ KEYWORD_RETURN(DTYPE); }                              // CFA
    19582051        YY_BREAK
    1959 case 39:
    1960 YY_RULE_SETUP
    1961 #line 206 "lex.ll"
     2052case 41:
     2053YY_RULE_SETUP
     2054#line 210 "lex.ll"
    19622055{ KEYWORD_RETURN(ELSE); }
    19632056        YY_BREAK
    1964 case 40:
    1965 YY_RULE_SETUP
    1966 #line 207 "lex.ll"
     2057case 42:
     2058YY_RULE_SETUP
     2059#line 211 "lex.ll"
     2060{ KEYWORD_RETURN(ENABLE); }                             // CFA
     2061        YY_BREAK
     2062case 43:
     2063YY_RULE_SETUP
     2064#line 212 "lex.ll"
    19672065{ KEYWORD_RETURN(ENUM); }
    19682066        YY_BREAK
    1969 case 41:
    1970 YY_RULE_SETUP
    1971 #line 208 "lex.ll"
     2067case 44:
     2068YY_RULE_SETUP
     2069#line 213 "lex.ll"
    19722070{ KEYWORD_RETURN(EXTENSION); }                  // GCC
    19732071        YY_BREAK
    1974 case 42:
    1975 YY_RULE_SETUP
    1976 #line 209 "lex.ll"
     2072case 45:
     2073YY_RULE_SETUP
     2074#line 214 "lex.ll"
    19772075{ KEYWORD_RETURN(EXTERN); }
    19782076        YY_BREAK
    1979 case 43:
    1980 YY_RULE_SETUP
    1981 #line 210 "lex.ll"
     2077case 46:
     2078YY_RULE_SETUP
     2079#line 215 "lex.ll"
    19822080{ KEYWORD_RETURN(FALLTHRU); }                   // CFA
    19832081        YY_BREAK
    1984 case 44:
    1985 YY_RULE_SETUP
    1986 #line 211 "lex.ll"
     2082case 47:
     2083YY_RULE_SETUP
     2084#line 216 "lex.ll"
     2085{ KEYWORD_RETURN(FALLTHRU); }                   // CFA
     2086        YY_BREAK
     2087case 48:
     2088YY_RULE_SETUP
     2089#line 217 "lex.ll"
    19872090{ KEYWORD_RETURN(FINALLY); }                    // CFA
    19882091        YY_BREAK
    1989 case 45:
    1990 YY_RULE_SETUP
    1991 #line 212 "lex.ll"
     2092case 49:
     2093YY_RULE_SETUP
     2094#line 218 "lex.ll"
    19922095{ KEYWORD_RETURN(FLOAT); }
    19932096        YY_BREAK
    1994 case 46:
    1995 YY_RULE_SETUP
    1996 #line 213 "lex.ll"
     2097case 50:
     2098YY_RULE_SETUP
     2099#line 219 "lex.ll"
    19972100{ KEYWORD_RETURN(FLOAT); }                              // GCC
    19982101        YY_BREAK
    1999 case 47:
    2000 YY_RULE_SETUP
    2001 #line 214 "lex.ll"
     2102case 51:
     2103YY_RULE_SETUP
     2104#line 220 "lex.ll"
    20022105{ KEYWORD_RETURN(FOR); }
    20032106        YY_BREAK
    2004 case 48:
    2005 YY_RULE_SETUP
    2006 #line 215 "lex.ll"
     2107case 52:
     2108YY_RULE_SETUP
     2109#line 221 "lex.ll"
    20072110{ KEYWORD_RETURN(FORALL); }                             // CFA
    20082111        YY_BREAK
    2009 case 49:
    2010 YY_RULE_SETUP
    2011 #line 216 "lex.ll"
     2112case 53:
     2113YY_RULE_SETUP
     2114#line 222 "lex.ll"
    20122115{ KEYWORD_RETURN(FORTRAN); }
    20132116        YY_BREAK
    2014 case 50:
    2015 YY_RULE_SETUP
    2016 #line 217 "lex.ll"
     2117case 54:
     2118YY_RULE_SETUP
     2119#line 223 "lex.ll"
    20172120{ KEYWORD_RETURN(FTYPE); }                              // CFA
    20182121        YY_BREAK
    2019 case 51:
    2020 YY_RULE_SETUP
    2021 #line 218 "lex.ll"
     2122case 55:
     2123YY_RULE_SETUP
     2124#line 224 "lex.ll"
    20222125{ KEYWORD_RETURN(GENERIC); }                    // C11
    20232126        YY_BREAK
    2024 case 52:
    2025 YY_RULE_SETUP
    2026 #line 219 "lex.ll"
     2127case 56:
     2128YY_RULE_SETUP
     2129#line 225 "lex.ll"
    20272130{ KEYWORD_RETURN(GOTO); }
    20282131        YY_BREAK
    2029 case 53:
    2030 YY_RULE_SETUP
    2031 #line 220 "lex.ll"
     2132case 57:
     2133YY_RULE_SETUP
     2134#line 226 "lex.ll"
    20322135{ KEYWORD_RETURN(IF); }
    20332136        YY_BREAK
    2034 case 54:
    2035 YY_RULE_SETUP
    2036 #line 221 "lex.ll"
     2137case 58:
     2138YY_RULE_SETUP
     2139#line 227 "lex.ll"
    20372140{ KEYWORD_RETURN(IMAGINARY); }                  // C99
    20382141        YY_BREAK
    2039 case 55:
    2040 YY_RULE_SETUP
    2041 #line 222 "lex.ll"
     2142case 59:
     2143YY_RULE_SETUP
     2144#line 228 "lex.ll"
    20422145{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
    20432146        YY_BREAK
    2044 case 56:
    2045 YY_RULE_SETUP
    2046 #line 223 "lex.ll"
     2147case 60:
     2148YY_RULE_SETUP
     2149#line 229 "lex.ll"
    20472150{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
    20482151        YY_BREAK
    2049 case 57:
    2050 YY_RULE_SETUP
    2051 #line 224 "lex.ll"
     2152case 61:
     2153YY_RULE_SETUP
     2154#line 230 "lex.ll"
    20522155{ KEYWORD_RETURN(INLINE); }                             // C99
    20532156        YY_BREAK
    2054 case 58:
    2055 YY_RULE_SETUP
    2056 #line 225 "lex.ll"
     2157case 62:
     2158YY_RULE_SETUP
     2159#line 231 "lex.ll"
    20572160{ KEYWORD_RETURN(INLINE); }                             // GCC
    20582161        YY_BREAK
    2059 case 59:
    2060 YY_RULE_SETUP
    2061 #line 226 "lex.ll"
     2162case 63:
     2163YY_RULE_SETUP
     2164#line 232 "lex.ll"
    20622165{ KEYWORD_RETURN(INLINE); }                             // GCC
    20632166        YY_BREAK
    2064 case 60:
    2065 YY_RULE_SETUP
    2066 #line 227 "lex.ll"
     2167case 64:
     2168YY_RULE_SETUP
     2169#line 233 "lex.ll"
    20672170{ KEYWORD_RETURN(INT); }
    20682171        YY_BREAK
    2069 case 61:
    2070 YY_RULE_SETUP
    2071 #line 228 "lex.ll"
     2172case 65:
     2173YY_RULE_SETUP
     2174#line 234 "lex.ll"
    20722175{ KEYWORD_RETURN(INT); }                                // GCC
    20732176        YY_BREAK
    2074 case 62:
    2075 YY_RULE_SETUP
    2076 #line 229 "lex.ll"
     2177case 66:
     2178YY_RULE_SETUP
     2179#line 235 "lex.ll"
    20772180{ KEYWORD_RETURN(LABEL); }                              // GCC
    20782181        YY_BREAK
    2079 case 63:
    2080 YY_RULE_SETUP
    2081 #line 230 "lex.ll"
     2182case 67:
     2183YY_RULE_SETUP
     2184#line 236 "lex.ll"
    20822185{ KEYWORD_RETURN(LONG); }
    20832186        YY_BREAK
    2084 case 64:
    2085 YY_RULE_SETUP
    2086 #line 231 "lex.ll"
     2187case 68:
     2188YY_RULE_SETUP
     2189#line 237 "lex.ll"
    20872190{ KEYWORD_RETURN(LVALUE); }                             // CFA
    20882191        YY_BREAK
    2089 case 65:
    2090 YY_RULE_SETUP
    2091 #line 232 "lex.ll"
     2192case 69:
     2193YY_RULE_SETUP
     2194#line 238 "lex.ll"
    20922195{ KEYWORD_RETURN(NORETURN); }                   // C11
    20932196        YY_BREAK
    2094 case 66:
    2095 YY_RULE_SETUP
    2096 #line 233 "lex.ll"
     2197case 70:
     2198YY_RULE_SETUP
     2199#line 239 "lex.ll"
     2200{ KEYWORD_RETURN(OFFSETOF); }           // GCC
     2201        YY_BREAK
     2202case 71:
     2203YY_RULE_SETUP
     2204#line 240 "lex.ll"
     2205{ KEYWORD_RETURN(OTYPE); }                              // CFA
     2206        YY_BREAK
     2207case 72:
     2208YY_RULE_SETUP
     2209#line 241 "lex.ll"
    20972210{ KEYWORD_RETURN(REGISTER); }
    20982211        YY_BREAK
    2099 case 67:
    2100 YY_RULE_SETUP
    2101 #line 234 "lex.ll"
     2212case 73:
     2213YY_RULE_SETUP
     2214#line 242 "lex.ll"
    21022215{ KEYWORD_RETURN(RESTRICT); }                   // C99
    21032216        YY_BREAK
    2104 case 68:
    2105 YY_RULE_SETUP
    2106 #line 235 "lex.ll"
     2217case 74:
     2218YY_RULE_SETUP
     2219#line 243 "lex.ll"
    21072220{ KEYWORD_RETURN(RESTRICT); }                   // GCC
    21082221        YY_BREAK
    2109 case 69:
    2110 YY_RULE_SETUP
    2111 #line 236 "lex.ll"
     2222case 75:
     2223YY_RULE_SETUP
     2224#line 244 "lex.ll"
    21122225{ KEYWORD_RETURN(RESTRICT); }                   // GCC
    21132226        YY_BREAK
    2114 case 70:
    2115 YY_RULE_SETUP
    2116 #line 237 "lex.ll"
     2227case 76:
     2228YY_RULE_SETUP
     2229#line 245 "lex.ll"
    21172230{ KEYWORD_RETURN(RETURN); }
    21182231        YY_BREAK
    2119 case 71:
    2120 YY_RULE_SETUP
    2121 #line 238 "lex.ll"
     2232case 77:
     2233YY_RULE_SETUP
     2234#line 246 "lex.ll"
    21222235{ KEYWORD_RETURN(SHORT); }
    21232236        YY_BREAK
    2124 case 72:
    2125 YY_RULE_SETUP
    2126 #line 239 "lex.ll"
     2237case 78:
     2238YY_RULE_SETUP
     2239#line 247 "lex.ll"
    21272240{ KEYWORD_RETURN(SIGNED); }
    21282241        YY_BREAK
    2129 case 73:
    2130 YY_RULE_SETUP
    2131 #line 240 "lex.ll"
     2242case 79:
     2243YY_RULE_SETUP
     2244#line 248 "lex.ll"
    21322245{ KEYWORD_RETURN(SIGNED); }                             // GCC
    21332246        YY_BREAK
    2134 case 74:
    2135 YY_RULE_SETUP
    2136 #line 241 "lex.ll"
     2247case 80:
     2248YY_RULE_SETUP
     2249#line 249 "lex.ll"
    21372250{ KEYWORD_RETURN(SIGNED); }                             // GCC
    21382251        YY_BREAK
    2139 case 75:
    2140 YY_RULE_SETUP
    2141 #line 242 "lex.ll"
     2252case 81:
     2253YY_RULE_SETUP
     2254#line 250 "lex.ll"
    21422255{ KEYWORD_RETURN(SIZEOF); }
    21432256        YY_BREAK
    2144 case 76:
    2145 YY_RULE_SETUP
    2146 #line 243 "lex.ll"
     2257case 82:
     2258YY_RULE_SETUP
     2259#line 251 "lex.ll"
    21472260{ KEYWORD_RETURN(STATIC); }
    21482261        YY_BREAK
    2149 case 77:
    2150 YY_RULE_SETUP
    2151 #line 244 "lex.ll"
     2262case 83:
     2263YY_RULE_SETUP
     2264#line 252 "lex.ll"
    21522265{ KEYWORD_RETURN(STATICASSERT); }               // C11
    21532266        YY_BREAK
    2154 case 78:
    2155 YY_RULE_SETUP
    2156 #line 245 "lex.ll"
     2267case 84:
     2268YY_RULE_SETUP
     2269#line 253 "lex.ll"
    21572270{ KEYWORD_RETURN(STRUCT); }
    21582271        YY_BREAK
    2159 case 79:
    2160 YY_RULE_SETUP
    2161 #line 246 "lex.ll"
     2272case 85:
     2273YY_RULE_SETUP
     2274#line 254 "lex.ll"
    21622275{ KEYWORD_RETURN(SWITCH); }
    21632276        YY_BREAK
    2164 case 80:
    2165 YY_RULE_SETUP
    2166 #line 247 "lex.ll"
     2277case 86:
     2278YY_RULE_SETUP
     2279#line 255 "lex.ll"
    21672280{ KEYWORD_RETURN(THREADLOCAL); }                // C11
    21682281        YY_BREAK
    2169 case 81:
    2170 YY_RULE_SETUP
    2171 #line 248 "lex.ll"
     2282case 87:
     2283YY_RULE_SETUP
     2284#line 256 "lex.ll"
    21722285{ KEYWORD_RETURN(THROW); }                              // CFA
    21732286        YY_BREAK
    2174 case 82:
    2175 YY_RULE_SETUP
    2176 #line 249 "lex.ll"
     2287case 88:
     2288YY_RULE_SETUP
     2289#line 257 "lex.ll"
     2290{ KEYWORD_RETURN(THROWRESUME); }                // CFA
     2291        YY_BREAK
     2292case 89:
     2293YY_RULE_SETUP
     2294#line 258 "lex.ll"
     2295{ KEYWORD_RETURN(TRAIT); }                              // CFA
     2296        YY_BREAK
     2297case 90:
     2298YY_RULE_SETUP
     2299#line 259 "lex.ll"
    21772300{ KEYWORD_RETURN(TRY); }                                // CFA
    21782301        YY_BREAK
    2179 case 83:
    2180 YY_RULE_SETUP
    2181 #line 250 "lex.ll"
    2182 { KEYWORD_RETURN(TYPE); }                               // CFA
    2183         YY_BREAK
    2184 case 84:
    2185 YY_RULE_SETUP
    2186 #line 251 "lex.ll"
     2302case 91:
     2303YY_RULE_SETUP
     2304#line 260 "lex.ll"
    21872305{ KEYWORD_RETURN(TYPEDEF); }
    21882306        YY_BREAK
    2189 case 85:
    2190 YY_RULE_SETUP
    2191 #line 252 "lex.ll"
     2307case 92:
     2308YY_RULE_SETUP
     2309#line 261 "lex.ll"
    21922310{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    21932311        YY_BREAK
    2194 case 86:
    2195 YY_RULE_SETUP
    2196 #line 253 "lex.ll"
     2312case 93:
     2313YY_RULE_SETUP
     2314#line 262 "lex.ll"
    21972315{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    21982316        YY_BREAK
    2199 case 87:
    2200 YY_RULE_SETUP
    2201 #line 254 "lex.ll"
     2317case 94:
     2318YY_RULE_SETUP
     2319#line 263 "lex.ll"
    22022320{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    22032321        YY_BREAK
    2204 case 88:
    2205 YY_RULE_SETUP
    2206 #line 255 "lex.ll"
     2322case 95:
     2323YY_RULE_SETUP
     2324#line 264 "lex.ll"
    22072325{ KEYWORD_RETURN(UNION); }
    22082326        YY_BREAK
    2209 case 89:
    2210 YY_RULE_SETUP
    2211 #line 256 "lex.ll"
     2327case 96:
     2328YY_RULE_SETUP
     2329#line 265 "lex.ll"
    22122330{ KEYWORD_RETURN(UNSIGNED); }
    22132331        YY_BREAK
    2214 case 90:
    2215 YY_RULE_SETUP
    2216 #line 257 "lex.ll"
     2332case 97:
     2333YY_RULE_SETUP
     2334#line 266 "lex.ll"
     2335{ KEYWORD_RETURN(VALIST); }                     // GCC
     2336        YY_BREAK
     2337case 98:
     2338YY_RULE_SETUP
     2339#line 267 "lex.ll"
    22172340{ KEYWORD_RETURN(VOID); }
    22182341        YY_BREAK
    2219 case 91:
    2220 YY_RULE_SETUP
    2221 #line 258 "lex.ll"
     2342case 99:
     2343YY_RULE_SETUP
     2344#line 268 "lex.ll"
    22222345{ KEYWORD_RETURN(VOLATILE); }
    22232346        YY_BREAK
    2224 case 92:
    2225 YY_RULE_SETUP
    2226 #line 259 "lex.ll"
     2347case 100:
     2348YY_RULE_SETUP
     2349#line 269 "lex.ll"
    22272350{ KEYWORD_RETURN(VOLATILE); }                   // GCC
    22282351        YY_BREAK
    2229 case 93:
    2230 YY_RULE_SETUP
    2231 #line 260 "lex.ll"
     2352case 101:
     2353YY_RULE_SETUP
     2354#line 270 "lex.ll"
    22322355{ KEYWORD_RETURN(VOLATILE); }                   // GCC
    22332356        YY_BREAK
    2234 case 94:
    2235 YY_RULE_SETUP
    2236 #line 261 "lex.ll"
     2357case 102:
     2358YY_RULE_SETUP
     2359#line 271 "lex.ll"
    22372360{ KEYWORD_RETURN(WHILE); }
    22382361        YY_BREAK
    22392362/* identifier */
    2240 case 95:
    2241 YY_RULE_SETUP
    2242 #line 264 "lex.ll"
     2363case 103:
     2364YY_RULE_SETUP
     2365#line 274 "lex.ll"
    22432366{ IDENTIFIER_RETURN(); }
    22442367        YY_BREAK
    2245 case 96:
    2246 YY_RULE_SETUP
    2247 #line 265 "lex.ll"
     2368case 104:
     2369YY_RULE_SETUP
     2370#line 275 "lex.ll"
    22482371{ ATTRIBUTE_RETURN(); }
    22492372        YY_BREAK
    2250 case 97:
    2251 YY_RULE_SETUP
    2252 #line 266 "lex.ll"
     2373case 105:
     2374YY_RULE_SETUP
     2375#line 276 "lex.ll"
    22532376{ BEGIN BKQUOTE; }
    22542377        YY_BREAK
    2255 case 98:
    2256 YY_RULE_SETUP
    2257 #line 267 "lex.ll"
     2378case 106:
     2379YY_RULE_SETUP
     2380#line 277 "lex.ll"
    22582381{ IDENTIFIER_RETURN(); }
    22592382        YY_BREAK
    2260 case 99:
    2261 YY_RULE_SETUP
    2262 #line 268 "lex.ll"
     2383case 107:
     2384YY_RULE_SETUP
     2385#line 278 "lex.ll"
    22632386{ BEGIN 0; }
    22642387        YY_BREAK
    22652388/* numeric constants */
    2266 case 100:
    2267 YY_RULE_SETUP
    2268 #line 271 "lex.ll"
     2389case 108:
     2390YY_RULE_SETUP
     2391#line 281 "lex.ll"
    22692392{ NUMERIC_RETURN(ZERO); }                               // CFA
    22702393        YY_BREAK
    2271 case 101:
    2272 YY_RULE_SETUP
    2273 #line 272 "lex.ll"
     2394case 109:
     2395YY_RULE_SETUP
     2396#line 282 "lex.ll"
    22742397{ NUMERIC_RETURN(ONE); }                                // CFA
    22752398        YY_BREAK
    2276 case 102:
    2277 YY_RULE_SETUP
    2278 #line 273 "lex.ll"
     2399case 110:
     2400YY_RULE_SETUP
     2401#line 283 "lex.ll"
    22792402{ NUMERIC_RETURN(INTEGERconstant); }
    22802403        YY_BREAK
    2281 case 103:
    2282 YY_RULE_SETUP
    2283 #line 274 "lex.ll"
     2404case 111:
     2405YY_RULE_SETUP
     2406#line 284 "lex.ll"
    22842407{ NUMERIC_RETURN(INTEGERconstant); }
    22852408        YY_BREAK
    2286 case 104:
    2287 YY_RULE_SETUP
    2288 #line 275 "lex.ll"
     2409case 112:
     2410YY_RULE_SETUP
     2411#line 285 "lex.ll"
    22892412{ NUMERIC_RETURN(INTEGERconstant); }
    22902413        YY_BREAK
    2291 case 105:
    2292 YY_RULE_SETUP
    2293 #line 276 "lex.ll"
     2414case 113:
     2415YY_RULE_SETUP
     2416#line 286 "lex.ll"
    22942417{ NUMERIC_RETURN(FLOATINGconstant); }
    22952418        YY_BREAK
    2296 case 106:
    2297 YY_RULE_SETUP
    2298 #line 277 "lex.ll"
     2419case 114:
     2420YY_RULE_SETUP
     2421#line 287 "lex.ll"
    22992422{ NUMERIC_RETURN(FLOATINGconstant); }
    23002423        YY_BREAK
    23012424/* character constant, allows empty value */
    2302 case 107:
    2303 YY_RULE_SETUP
    2304 #line 280 "lex.ll"
     2425case 115:
     2426YY_RULE_SETUP
     2427#line 290 "lex.ll"
    23052428{ BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    23062429        YY_BREAK
    2307 case 108:
    2308 YY_RULE_SETUP
    2309 #line 281 "lex.ll"
     2430case 116:
     2431YY_RULE_SETUP
     2432#line 291 "lex.ll"
    23102433{ *strtext += std::string( yytext ); }
    23112434        YY_BREAK
    2312 case 109:
    2313 /* rule 109 can match eol */
    2314 YY_RULE_SETUP
    2315 #line 282 "lex.ll"
     2435case 117:
     2436/* rule 117 can match eol */
     2437YY_RULE_SETUP
     2438#line 292 "lex.ll"
    23162439{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); }
    23172440        YY_BREAK
    23182441/* ' stop highlighting */
    23192442/* string constant */
    2320 case 110:
    2321 YY_RULE_SETUP
    2322 #line 286 "lex.ll"
     2443case 118:
     2444YY_RULE_SETUP
     2445#line 296 "lex.ll"
    23232446{ BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    23242447        YY_BREAK
    2325 case 111:
    2326 YY_RULE_SETUP
    2327 #line 287 "lex.ll"
     2448case 119:
     2449YY_RULE_SETUP
     2450#line 297 "lex.ll"
    23282451{ *strtext += std::string( yytext ); }
    23292452        YY_BREAK
    2330 case 112:
    2331 /* rule 112 can match eol */
    2332 YY_RULE_SETUP
    2333 #line 288 "lex.ll"
     2453case 120:
     2454/* rule 120 can match eol */
     2455YY_RULE_SETUP
     2456#line 298 "lex.ll"
    23342457{ BEGIN 0; *strtext += std::string( yytext ); RETURN_STR(STRINGliteral); }
    23352458        YY_BREAK
    23362459/* " stop highlighting */
    23372460/* common character/string constant */
    2338 case 113:
    2339 YY_RULE_SETUP
    2340 #line 292 "lex.ll"
     2461case 121:
     2462YY_RULE_SETUP
     2463#line 302 "lex.ll"
    23412464{ rm_underscore(); *strtext += std::string( yytext ); }
    23422465        YY_BREAK
    2343 case 114:
    2344 /* rule 114 can match eol */
    2345 YY_RULE_SETUP
    2346 #line 293 "lex.ll"
     2466case 122:
     2467/* rule 122 can match eol */
     2468YY_RULE_SETUP
     2469#line 303 "lex.ll"
    23472470{}                                              // continuation (ALSO HANDLED BY CPP)
    23482471        YY_BREAK
    2349 case 115:
    2350 YY_RULE_SETUP
    2351 #line 294 "lex.ll"
     2472case 123:
     2473YY_RULE_SETUP
     2474#line 304 "lex.ll"
    23522475{ *strtext += std::string( yytext ); } // unknown escape character
    23532476        YY_BREAK
    23542477/* punctuation */
    2355 case 116:
    2356 YY_RULE_SETUP
    2357 #line 297 "lex.ll"
     2478case 124:
     2479YY_RULE_SETUP
     2480#line 307 "lex.ll"
    23582481{ ASCIIOP_RETURN(); }
    23592482        YY_BREAK
    2360 case 117:
    2361 YY_RULE_SETUP
    2362 #line 298 "lex.ll"
     2483case 125:
     2484YY_RULE_SETUP
     2485#line 308 "lex.ll"
    23632486{ ASCIIOP_RETURN(); }
    23642487        YY_BREAK
    2365 case 118:
    2366 YY_RULE_SETUP
    2367 #line 299 "lex.ll"
     2488case 126:
     2489YY_RULE_SETUP
     2490#line 309 "lex.ll"
    23682491{ ASCIIOP_RETURN(); }
    23692492        YY_BREAK
    2370 case 119:
    2371 YY_RULE_SETUP
    2372 #line 300 "lex.ll"
     2493case 127:
     2494YY_RULE_SETUP
     2495#line 310 "lex.ll"
    23732496{ ASCIIOP_RETURN(); }
    23742497        YY_BREAK
    2375 case 120:
    2376 YY_RULE_SETUP
    2377 #line 301 "lex.ll"
     2498case 128:
     2499YY_RULE_SETUP
     2500#line 311 "lex.ll"
    23782501{ ASCIIOP_RETURN(); }
    23792502        YY_BREAK
    2380 case 121:
    2381 YY_RULE_SETUP
    2382 #line 302 "lex.ll"
     2503case 129:
     2504YY_RULE_SETUP
     2505#line 312 "lex.ll"
    23832506{ ASCIIOP_RETURN(); }
    23842507        YY_BREAK
    2385 case 122:
    2386 YY_RULE_SETUP
    2387 #line 303 "lex.ll"
     2508case 130:
     2509YY_RULE_SETUP
     2510#line 313 "lex.ll"
    23882511{ ASCIIOP_RETURN(); }                                   // also operator
    23892512        YY_BREAK
    2390 case 123:
    2391 YY_RULE_SETUP
    2392 #line 304 "lex.ll"
     2513case 131:
     2514YY_RULE_SETUP
     2515#line 314 "lex.ll"
    23932516{ ASCIIOP_RETURN(); }
    23942517        YY_BREAK
    2395 case 124:
    2396 YY_RULE_SETUP
    2397 #line 305 "lex.ll"
     2518case 132:
     2519YY_RULE_SETUP
     2520#line 315 "lex.ll"
    23982521{ ASCIIOP_RETURN(); }
    23992522        YY_BREAK
    2400 case 125:
    2401 YY_RULE_SETUP
    2402 #line 306 "lex.ll"
     2523case 133:
     2524YY_RULE_SETUP
     2525#line 316 "lex.ll"
    24032526{ ASCIIOP_RETURN(); }                                   // also operator
    24042527        YY_BREAK
    2405 case 126:
    2406 YY_RULE_SETUP
    2407 #line 307 "lex.ll"
     2528case 134:
     2529YY_RULE_SETUP
     2530#line 317 "lex.ll"
    24082531{ NAMEDOP_RETURN(ELLIPSIS); }
    24092532        YY_BREAK
    24102533/* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
    2411 case 127:
    2412 YY_RULE_SETUP
    2413 #line 310 "lex.ll"
     2534case 135:
     2535YY_RULE_SETUP
     2536#line 320 "lex.ll"
    24142537{ RETURN_VAL('['); }
    24152538        YY_BREAK
    2416 case 128:
    2417 YY_RULE_SETUP
    2418 #line 311 "lex.ll"
     2539case 136:
     2540YY_RULE_SETUP
     2541#line 321 "lex.ll"
    24192542{ RETURN_VAL(']'); }
    24202543        YY_BREAK
    2421 case 129:
    2422 YY_RULE_SETUP
    2423 #line 312 "lex.ll"
     2544case 137:
     2545YY_RULE_SETUP
     2546#line 322 "lex.ll"
    24242547{ RETURN_VAL('{'); }
    24252548        YY_BREAK
    2426 case 130:
    2427 YY_RULE_SETUP
    2428 #line 313 "lex.ll"
     2549case 138:
     2550YY_RULE_SETUP
     2551#line 323 "lex.ll"
    24292552{ RETURN_VAL('}'); }
    24302553        YY_BREAK
    24312554/* operators */
    2432 case 131:
    2433 YY_RULE_SETUP
    2434 #line 316 "lex.ll"
    2435 { ASCIIOP_RETURN(); }
    2436         YY_BREAK
    2437 case 132:
    2438 YY_RULE_SETUP
    2439 #line 317 "lex.ll"
    2440 { ASCIIOP_RETURN(); }
    2441         YY_BREAK
    2442 case 133:
    2443 YY_RULE_SETUP
    2444 #line 318 "lex.ll"
    2445 { ASCIIOP_RETURN(); }
    2446         YY_BREAK
    2447 case 134:
    2448 YY_RULE_SETUP
    2449 #line 319 "lex.ll"
    2450 { ASCIIOP_RETURN(); }
    2451         YY_BREAK
    2452 case 135:
    2453 YY_RULE_SETUP
    2454 #line 320 "lex.ll"
    2455 { ASCIIOP_RETURN(); }
    2456         YY_BREAK
    2457 case 136:
    2458 YY_RULE_SETUP
    2459 #line 321 "lex.ll"
    2460 { ASCIIOP_RETURN(); }
    2461         YY_BREAK
    2462 case 137:
    2463 YY_RULE_SETUP
    2464 #line 322 "lex.ll"
    2465 { ASCIIOP_RETURN(); }
    2466         YY_BREAK
    2467 case 138:
    2468 YY_RULE_SETUP
    2469 #line 323 "lex.ll"
    2470 { ASCIIOP_RETURN(); }
    2471         YY_BREAK
    24722555case 139:
    2473 YY_RULE_SETUP
    2474 #line 324 "lex.ll"
    2475 { ASCIIOP_RETURN(); }
    2476         YY_BREAK
    2477 case 140:
    2478 YY_RULE_SETUP
    2479 #line 325 "lex.ll"
    2480 { ASCIIOP_RETURN(); }
    2481         YY_BREAK
    2482 case 141:
    24832556YY_RULE_SETUP
    24842557#line 326 "lex.ll"
    24852558{ ASCIIOP_RETURN(); }
    24862559        YY_BREAK
    2487 case 142:
     2560case 140:
    24882561YY_RULE_SETUP
    24892562#line 327 "lex.ll"
    24902563{ ASCIIOP_RETURN(); }
    24912564        YY_BREAK
    2492 case 143:
     2565case 141:
    24932566YY_RULE_SETUP
    24942567#line 328 "lex.ll"
    24952568{ ASCIIOP_RETURN(); }
    24962569        YY_BREAK
    2497 case 144:
     2570case 142:
    24982571YY_RULE_SETUP
    24992572#line 329 "lex.ll"
    25002573{ ASCIIOP_RETURN(); }
    25012574        YY_BREAK
     2575case 143:
     2576YY_RULE_SETUP
     2577#line 330 "lex.ll"
     2578{ ASCIIOP_RETURN(); }
     2579        YY_BREAK
     2580case 144:
     2581YY_RULE_SETUP
     2582#line 331 "lex.ll"
     2583{ ASCIIOP_RETURN(); }
     2584        YY_BREAK
    25022585case 145:
    25032586YY_RULE_SETUP
    2504 #line 331 "lex.ll"
     2587#line 332 "lex.ll"
     2588{ ASCIIOP_RETURN(); }
     2589        YY_BREAK
     2590case 146:
     2591YY_RULE_SETUP
     2592#line 333 "lex.ll"
     2593{ ASCIIOP_RETURN(); }
     2594        YY_BREAK
     2595case 147:
     2596YY_RULE_SETUP
     2597#line 334 "lex.ll"
     2598{ ASCIIOP_RETURN(); }
     2599        YY_BREAK
     2600case 148:
     2601YY_RULE_SETUP
     2602#line 335 "lex.ll"
     2603{ ASCIIOP_RETURN(); }
     2604        YY_BREAK
     2605case 149:
     2606YY_RULE_SETUP
     2607#line 336 "lex.ll"
     2608{ ASCIIOP_RETURN(); }
     2609        YY_BREAK
     2610case 150:
     2611YY_RULE_SETUP
     2612#line 337 "lex.ll"
     2613{ ASCIIOP_RETURN(); }
     2614        YY_BREAK
     2615case 151:
     2616YY_RULE_SETUP
     2617#line 338 "lex.ll"
     2618{ ASCIIOP_RETURN(); }
     2619        YY_BREAK
     2620case 152:
     2621YY_RULE_SETUP
     2622#line 339 "lex.ll"
     2623{ ASCIIOP_RETURN(); }
     2624        YY_BREAK
     2625case 153:
     2626YY_RULE_SETUP
     2627#line 341 "lex.ll"
    25052628{ NAMEDOP_RETURN(ICR); }
    25062629        YY_BREAK
    2507 case 146:
    2508 YY_RULE_SETUP
    2509 #line 332 "lex.ll"
     2630case 154:
     2631YY_RULE_SETUP
     2632#line 342 "lex.ll"
    25102633{ NAMEDOP_RETURN(DECR); }
    25112634        YY_BREAK
    2512 case 147:
    2513 YY_RULE_SETUP
    2514 #line 333 "lex.ll"
     2635case 155:
     2636YY_RULE_SETUP
     2637#line 343 "lex.ll"
    25152638{ NAMEDOP_RETURN(EQ); }
    25162639        YY_BREAK
    2517 case 148:
    2518 YY_RULE_SETUP
    2519 #line 334 "lex.ll"
     2640case 156:
     2641YY_RULE_SETUP
     2642#line 344 "lex.ll"
    25202643{ NAMEDOP_RETURN(NE); }
    25212644        YY_BREAK
    2522 case 149:
    2523 YY_RULE_SETUP
    2524 #line 335 "lex.ll"
     2645case 157:
     2646YY_RULE_SETUP
     2647#line 345 "lex.ll"
    25252648{ NAMEDOP_RETURN(LS); }
    25262649        YY_BREAK
    2527 case 150:
    2528 YY_RULE_SETUP
    2529 #line 336 "lex.ll"
     2650case 158:
     2651YY_RULE_SETUP
     2652#line 346 "lex.ll"
    25302653{ NAMEDOP_RETURN(RS); }
    25312654        YY_BREAK
    2532 case 151:
    2533 YY_RULE_SETUP
    2534 #line 337 "lex.ll"
     2655case 159:
     2656YY_RULE_SETUP
     2657#line 347 "lex.ll"
    25352658{ NAMEDOP_RETURN(LE); }
    25362659        YY_BREAK
    2537 case 152:
    2538 YY_RULE_SETUP
    2539 #line 338 "lex.ll"
     2660case 160:
     2661YY_RULE_SETUP
     2662#line 348 "lex.ll"
    25402663{ NAMEDOP_RETURN(GE); }
    25412664        YY_BREAK
    2542 case 153:
    2543 YY_RULE_SETUP
    2544 #line 339 "lex.ll"
     2665case 161:
     2666YY_RULE_SETUP
     2667#line 349 "lex.ll"
    25452668{ NAMEDOP_RETURN(ANDAND); }
    25462669        YY_BREAK
    2547 case 154:
    2548 YY_RULE_SETUP
    2549 #line 340 "lex.ll"
     2670case 162:
     2671YY_RULE_SETUP
     2672#line 350 "lex.ll"
    25502673{ NAMEDOP_RETURN(OROR); }
    25512674        YY_BREAK
    2552 case 155:
    2553 YY_RULE_SETUP
    2554 #line 341 "lex.ll"
     2675case 163:
     2676YY_RULE_SETUP
     2677#line 351 "lex.ll"
    25552678{ NAMEDOP_RETURN(ARROW); }
    25562679        YY_BREAK
    2557 case 156:
    2558 YY_RULE_SETUP
    2559 #line 342 "lex.ll"
     2680case 164:
     2681YY_RULE_SETUP
     2682#line 352 "lex.ll"
    25602683{ NAMEDOP_RETURN(PLUSassign); }
    25612684        YY_BREAK
    2562 case 157:
    2563 YY_RULE_SETUP
    2564 #line 343 "lex.ll"
     2685case 165:
     2686YY_RULE_SETUP
     2687#line 353 "lex.ll"
    25652688{ NAMEDOP_RETURN(MINUSassign); }
    25662689        YY_BREAK
    2567 case 158:
    2568 YY_RULE_SETUP
    2569 #line 344 "lex.ll"
     2690case 166:
     2691YY_RULE_SETUP
     2692#line 354 "lex.ll"
    25702693{ NAMEDOP_RETURN(MULTassign); }
    25712694        YY_BREAK
    2572 case 159:
    2573 YY_RULE_SETUP
    2574 #line 345 "lex.ll"
     2695case 167:
     2696YY_RULE_SETUP
     2697#line 355 "lex.ll"
    25752698{ NAMEDOP_RETURN(DIVassign); }
    25762699        YY_BREAK
    2577 case 160:
    2578 YY_RULE_SETUP
    2579 #line 346 "lex.ll"
     2700case 168:
     2701YY_RULE_SETUP
     2702#line 356 "lex.ll"
    25802703{ NAMEDOP_RETURN(MODassign); }
    25812704        YY_BREAK
    2582 case 161:
    2583 YY_RULE_SETUP
    2584 #line 347 "lex.ll"
     2705case 169:
     2706YY_RULE_SETUP
     2707#line 357 "lex.ll"
    25852708{ NAMEDOP_RETURN(ANDassign); }
    25862709        YY_BREAK
    2587 case 162:
    2588 YY_RULE_SETUP
    2589 #line 348 "lex.ll"
     2710case 170:
     2711YY_RULE_SETUP
     2712#line 358 "lex.ll"
    25902713{ NAMEDOP_RETURN(ORassign); }
    25912714        YY_BREAK
    2592 case 163:
    2593 YY_RULE_SETUP
    2594 #line 349 "lex.ll"
     2715case 171:
     2716YY_RULE_SETUP
     2717#line 359 "lex.ll"
    25952718{ NAMEDOP_RETURN(ERassign); }
    25962719        YY_BREAK
    2597 case 164:
    2598 YY_RULE_SETUP
    2599 #line 350 "lex.ll"
     2720case 172:
     2721YY_RULE_SETUP
     2722#line 360 "lex.ll"
    26002723{ NAMEDOP_RETURN(LSassign); }
    26012724        YY_BREAK
    2602 case 165:
    2603 YY_RULE_SETUP
    2604 #line 351 "lex.ll"
     2725case 173:
     2726YY_RULE_SETUP
     2727#line 361 "lex.ll"
    26052728{ NAMEDOP_RETURN(RSassign); }
    26062729        YY_BREAK
     2730case 174:
     2731YY_RULE_SETUP
     2732#line 363 "lex.ll"
     2733{ NAMEDOP_RETURN(ATassign); }                   // CFA
     2734        YY_BREAK
    26072735/* CFA, operator identifier */
    2608 case 166:
    2609 YY_RULE_SETUP
    2610 #line 354 "lex.ll"
     2736case 175:
     2737YY_RULE_SETUP
     2738#line 366 "lex.ll"
    26112739{ IDENTIFIER_RETURN(); }                                // unary
    26122740        YY_BREAK
    2613 case 167:
    2614 YY_RULE_SETUP
    2615 #line 355 "lex.ll"
     2741case 176:
     2742YY_RULE_SETUP
     2743#line 367 "lex.ll"
    26162744{ IDENTIFIER_RETURN(); }
    26172745        YY_BREAK
    2618 case 168:
    2619 YY_RULE_SETUP
    2620 #line 356 "lex.ll"
     2746case 177:
     2747YY_RULE_SETUP
     2748#line 368 "lex.ll"
     2749{ IDENTIFIER_RETURN(); }
     2750        YY_BREAK
     2751case 178:
     2752YY_RULE_SETUP
     2753#line 369 "lex.ll"
    26212754{ IDENTIFIER_RETURN(); }                // binary
    26222755        YY_BREAK
     
    26472780          an argument list.
    26482781        */
    2649 case 169:
    2650 YY_RULE_SETUP
    2651 #line 383 "lex.ll"
     2782case 179:
     2783YY_RULE_SETUP
     2784#line 396 "lex.ll"
    26522785{
    26532786        // 1 or 2 character unary operator ?
     
    26622795        YY_BREAK
    26632796/* unknown characters */
    2664 case 170:
    2665 YY_RULE_SETUP
    2666 #line 395 "lex.ll"
     2797case 180:
     2798YY_RULE_SETUP
     2799#line 408 "lex.ll"
    26672800{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
    26682801        YY_BREAK
    2669 case 171:
    2670 YY_RULE_SETUP
    2671 #line 397 "lex.ll"
     2802case 181:
     2803YY_RULE_SETUP
     2804#line 410 "lex.ll"
    26722805ECHO;
    26732806        YY_BREAK
    2674 #line 2675 "Parser/lex.cc"
     2807#line 2808 "Parser/lex.cc"
    26752808case YY_STATE_EOF(INITIAL):
    26762809case YY_STATE_EOF(COMMENT):
     
    29693102                        {
    29703103                        yy_current_state = (int) yy_def[yy_current_state];
    2971                         if ( yy_current_state >= 826 )
     3104                        if ( yy_current_state >= 892 )
    29723105                                yy_c = yy_meta[(unsigned int) yy_c];
    29733106                        }
     
    29973130                {
    29983131                yy_current_state = (int) yy_def[yy_current_state];
    2999                 if ( yy_current_state >= 826 )
     3132                if ( yy_current_state >= 892 )
    30003133                        yy_c = yy_meta[(unsigned int) yy_c];
    30013134                }
    30023135        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    3003         yy_is_jam = (yy_current_state == 825);
     3136        yy_is_jam = (yy_current_state == 891);
    30043137
    30053138        return yy_is_jam ? 0 : yy_current_state;
     
    36473780#define YYTABLES_NAME "yytables"
    36483781
    3649 #line 397 "lex.ll"
     3782#line 410 "lex.ll"
    36503783
    36513784
Note: See TracChangeset for help on using the changeset viewer.