Changeset d2ded3e7 for src/Parser/lex.cc


Ignore:
Timestamp:
Oct 28, 2015, 3:47:29 PM (8 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
37a3b8f9, 4673385, e56cfdb0
Parents:
698664b (diff), 097e2b0 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge changes into current branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/lex.cc

    r698664b rd2ded3e7  
    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 178
     385#define YY_END_OF_BUFFER 179
    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[852] =
    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,  113,  113,  116,  116,
     396      179,  177,    7,    9,    8,  136,  115,  100,  141,  144,
     397      112,  123,  124,  139,  137,  127,  138,  130,  140,  105,
     398      106,  107,  128,  129,  146,  148,  147,  149,  177,  100,
     399      121,  177,  122,  142,  100,  102,  100,  100,  100,  100,
     400      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
     401      100,  125,  145,  126,  143,    7,  177,    4,    4,  178,
     402      103,  178,  104,  113,  114,  120,  116,  117,    7,    9,
     403        0,    8,  153,  172,  100,    0,  165,  135,  158,  166,
     404      163,  150,  161,  151,  162,  160,    0,  110,    3,    0,
     405
     406      164,  110,  108,    0,    0,  108,  108,    0,    0,  108,
     407      107,  107,  107,    0,  107,  133,  134,  132,  154,  156,
     408      152,  157,  155,    0,    0,    0,    0,    0,    0,    0,
     409        0,    0,    0,    0,    0,    0,    0,    0,  101,  171,
     410        0,  115,  112,  100,    0,    0,  168,    0,  100,  100,
     411      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
     412      100,  100,  100,  100,  100,   39,  100,  100,  100,  100,
     413      100,  100,  100,  100,  100,  100,   57,  100,  100,  100,
     414      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
     415      100,  100,  167,  159,    7,    0,    0,    0,    2,    0,
     416
     417        5,  103,    0,    0,    0,  113,    0,  119,  118,  118,
     418        0,    0,    0,  116,    0,    0,    0,    0,    0,    0,
     419        0,    0,    0,    0,    0,    0,    0,    0,    0,  131,
     420      110,    0,  110,    0,    0,    6,    0,  108,    0,    0,
     421        0,  110,    0,  108,  108,  108,  108,    0,  109,    0,
     422        0,  107,  107,  107,  107,    0,  169,  170,    0,  175,
     423      173,    0,    0,    0,  101,    0,    0,    0,    0,    0,
     424        0,    0,    0,  100,   17,  100,  100,  100,  100,  100,
     425      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
     426      100,  100,   14,  100,  100,  100,  100,  100,  100,  100,
     427
     428      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
     429      100,   51,  100,  100,  100,   64,  100,  100,  100,  100,
     430      100,  100,  100,  100,  100,  100,  100,  100,   87,  100,
     431      100,  100,  100,  100,  100,  100,    0,    0,    0,    0,
     432        0,    0,    0,    0,  118,    0,    0,    0,    0,    0,
     433      118,    0,    0,  176,    0,    0,    0,    0,    0,    0,
     434        0,    0,  110,    0,    0,    0,  110,    0,  108,  108,
     435        0,    0,  109,  109,    0,  109,    0,  109,  107,  107,
    444436        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,
     437      174,  100,  100,  100,  100,  100,  100,  100,  100,  100,
     438
     439      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
     440      100,  100,  100,   21,  100,   24,  100,   27,  100,  100,
     441      100,  100,  100,  100,  100,   42,  100,   44,  100,  100,
     442      100,  100,  100,  100,  100,   56,  100,   67,  100,  100,
     443      100,  100,  100,  100,  100,  100,  100,  100,  100,   88,
     444      100,  100,   95,  100,  100,    0,    0,    0,    0,    0,
     445        0,    0,    0,    0,    0,    0,    0,    0,    0,  118,
     446        0,    0,    0,    0,    0,  110,    0,    0,    0,    0,
     447        0,    0,  109,  109,    0,  111,    0,  109,  109,    0,
    447448        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,
     449
     450        0,    0,  100,  100,   22,  100,  100,  100,  100,  100,
     451      100,  100,   15,  100,  100,  100,  100,  100,  100,  100,
     452      100,  100,  100,  100,  100,  100,   23,   25,  100,   32,
     453      100,  100,  100,  100,  100,   41,  100,  100,  100,  100,
     454       49,  100,  100,   54,  100,  100,  100,  100,  100,   75,
     455      100,  100,  100,  100,  100,   85,  100,  100,   93,  100,
     456      100,   99,    0,    0,    0,    0,    0,    0,    0,    0,
    456457        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 
     458        0,  111,    0,    0,  109,  111,  111,    0,  109,    0,
     459        0,    0,    0,    0,    0,    0,    0,    0,    0,  100,
     460
     461        0,  100,  100,  100,  100,  100,  100,  100,  100,  100,
     462      100,  100,  100,  100,  100,  100,   59,  100,  100,  100,
     463      100,  100,  100,  100,  100,   28,  100,  100,  100,  100,
     464       40,   43,   46,  100,  100,   52,  100,   61,   68,  100,
     465      100,   74,   76,   79,   80,   82,   83,  100,  100,   90,
     466      100,  100,    0,    1,    0,    0,    0,    0,    0,    0,
     467      103,    0,    0,    0,  118,    0,    0,    0,    0,  111,
    472468        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,
     469      100,  100,   18,  100,  100,  100,  100,  100,  100,  100,
     470       16,  100,  100,   33,  100,  100,  100,  100,  100,  100,
     471
     472      100,  100,  100,  100,  100,   35,  100,   37,   38,  100,
     473       48,   53,  100,  100,  100,   89,  100,  100,    0,    0,
    479474        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
     475        0,   10,   11,   29,   55,  100,  100,  100,  100,  100,
     476      100,  100,  100,  100,  100,   60,   62,   65,  100,  100,
     477       77,   91,  100,  100,   36,   47,   70,   71,  100,   94,
     478       96,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     479        0,    0,    0,  100,   69,  100,  100,   12,  100,   30,
     480       34,  100,  100,  100,   66,  100,  100,  100,  100,  100,
     481      100,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     482
     483        0,    0,    0,    0,   58,  100,  100,  100,  100,  100,
     484      100,   50,   63,   72,   78,   92,   97,  100,  100,    0,
     485        0,    0,    0,    0,    0,    0,    0,  100,  100,   13,
     486       19,   31,  100,  100,  100,   26,   86,    0,    0,  100,
     487      100,  100,  100,   73,   98,  100,   84,   20,   45,   81,
     488        0
    486489    } ;
    487490
     
    496499       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
    497500       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,
     501       11,   47,   48,   49,   50,   11,   11,   51,   11,   11,
     502       52,   53,   54,   55,   56,   57,   58,   59,   60,   61,
     503
     504       62,   63,   64,   65,   66,   11,   67,   68,   69,   70,
     505       71,   72,   11,   73,   74,   75,   76,   77,   78,   79,
     506       80,   81,   82,   83,   84,   85,    1,    1,    1,    1,
    504507        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    505508        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    518521    } ;
    519522
    520 static yyconst flex_int32_t yy_meta[85] =
     523static yyconst flex_int32_t yy_meta[86] =
    521524    {   0,
    522525        1,    1,    2,    1,    1,    1,    1,    1,    3,    1,
    523526        4,    1,    1,    5,    1,    1,    1,    1,    1,    1,
    524527        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
     528        1,    8,    1,    1,    1,    9,    9,    9,    9,    9,
     529        9,    4,    4,   10,    4,   11,    4,    4,    4,   10,
     530        4,    1,   12,    1,    1,   13,    1,    9,    9,    9,
     531        9,    9,    9,    4,    4,    4,    4,   10,    4,    4,
     532        4,   11,    4,    4,    4,   10,    4,    4,    4,    4,
     533        4,    1,    1,    1,    1
    531534    } ;
    532535
    533 static yyconst flex_int16_t yy_base[999] =
     536static yyconst flex_int16_t yy_base[1025] =
    534537    {   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 
     538        0,   84, 2247, 2245,   94,    0,  177,  178,  179,  180,
     539     2259, 2762,  191, 2762,  197,   55, 2762, 2203,   60,  173,
     540     2762, 2762, 2762,   56,  188, 2762,  191,  189,  204,  216,
     541      275,    0, 2222, 2762,  216, 2222,  152,  344,  155,  220,
     542     2762,  159, 2762,  217,  226, 2762,  185,  154,  212,  251,
     543      237,  270,  235,  257,  241,  193,  305,  314,  333,  238,
     544      228, 2762,  225, 2762, 2218,  402,  390, 2762, 2227, 2762,
     545     2193,  204, 2762,    0, 2762,  426,    0, 2762,  417, 2762,
     546      439,  451, 2762,  498, 2192,  235, 2762, 2762, 2762, 2762,
     547     2762, 2210, 2762, 2208, 2762, 2762, 2218,  559, 2762, 2235,
     548
     549     2762,  605,  413,  498,  516,  289,  253,  197,  293,  305,
     550        0,  319,  280,  231,  334, 2762, 2762, 2762, 2205, 2762,
     551     2762, 2762, 2203, 2200,  298,  356, 2213,  366,  429,  439,
     552      398,  434,  438,  448, 2194,  443, 2143,  459, 2172, 2762,
     553      335, 2762, 2762,  495, 2166, 2163, 2762, 2136,  460,  282,
     554      297,  329,  409,  437,  442,  281,  503,  414,  474,  372,
     555      484,  493,  378,  434,  433,  325,  494,  459,  499,  492,
     556      502,  509,  461,  301,  515,  535, 2164,  536,  520,  538,
     557      544,  541,  545,  567,  539,  421,  554,  563,  597,  570,
     558      571,  548, 2762, 2762,  652,  662, 2212,  668, 2762,  674,
     559
     560     2762, 2159,  567, 2153, 2152,    0,  645, 2762, 2762,  680,
     561     2151, 2149, 2146,    0, 2167,  466,  640,  646,  689,  688,
     562      650,  678,  679,  682, 2164,  685,  692, 2141, 2139, 2762,
     563      714,  707, 2762, 2136, 2186, 2762,  703,    0,  697,  760,
     564      766,  779,  801,  696, 2762, 2144, 2119,    0,  787, 2164,
     565      825,  698, 2762, 2138, 2111,  841, 2762, 2762, 2144, 2762,
     566     2762,  717,  718, 2123, 2122,  719, 2099, 2097, 2096,    0,
     567     2093,    0, 2062,  585,  589,  704,  610,  675,  703,  540,
     568      706,  707,  743,  726,  720,  745,  787,  709,  748,  715,
     569      756,  759, 2092,  761,  781,  792,  817,  785,  791,  808,
     570
     571      788,  818,  819,  807,  822,  821,  820,  832,  833,  834,
     572      835,  837,  838,  843,  845, 2091,  276,  847,  850,  846,
     573      849,  851,  852,  855,  853,  854,  856,  865, 2089,  867,
     574      904,  866,  873,  197,  874,  870,  938,  939, 2083, 2080,
     575     2079,    0, 2078,    0,  926,  930, 2076,    0, 2073,    0,
     576     2070,    0, 2091, 2762,  901,  912, 2070, 2066,    0, 2063,
     577        0,  935,  942,  953,  964,  976,  989,  998, 2762, 2762,
     578      939,  962, 1014,  987, 1023,  928, 1041, 1005, 2762, 2762,
     579     2060, 2059, 2058,    0, 2056,    0, 2053,    0, 2052,    0,
     580     2762,  911,  940,  976,  966,  881, 1003,  944, 1000,  974,
     581
     582      941, 1015, 1018, 1019, 1021, 1006, 1025, 1027, 1039, 1041,
     583     1012, 1046, 1048, 2054, 1047, 2052,  975, 2049, 1050, 1051,
     584     1057, 1052, 1053, 1054, 1058, 2048, 1068, 2047, 1072, 1055,
     585     1074, 1076, 1078, 1079, 1081, 2045, 1080, 2042, 1082, 1085,
     586     1084, 1087, 1086, 1091, 1094, 1088, 1095, 1096,  588, 1109,
     587     1111, 1110, 2038, 1113, 1114, 1166, 2031,    0, 2029,    0,
     588     2027,    0, 2024,    0, 1159, 2022,    0, 2020,    0, 2017,
     589     2014, 2013,    0, 2012,    0, 1166, 1172, 1218, 1131, 1229,
     590     1155, 1132, 1129, 2762, 1235, 1242, 1253, 2022, 1995, 2004,
     591     2003,    0, 2002,    0, 2000,    0, 1997,    0, 1994,    0,
     592
     593     1993,    0, 1149, 1120, 1995, 1153, 1159, 1164, 1156, 1167,
     594     1165, 1161,  233, 1211, 1219, 1162, 1186, 1229, 1173, 1185,
     595      166, 1235, 1236, 1222, 1237, 1242, 1993, 1249, 1241, 1990,
     596     1171, 1248, 1240, 1251, 1253, 1987, 1254, 1256, 1259, 1260,
     597     1986, 1261, 1264, 1985, 1268, 1270, 1267, 1272, 1274, 1983,
     598     1278,  921, 1280, 1281, 1282, 1290, 1283, 1288, 1980, 1293,
     599     1295, 1977, 2026, 1972,    0, 1970,    0, 1967,    0, 1964,
     600        0, 1963,    0, 1962,    0, 1960,    0, 1957,    0, 1341,
     601     1347, 1354, 1365, 1954, 2762, 1377, 2762, 1388, 2762, 1953,
     602        0, 1952,    0, 1950,    0, 1947,    0,    0,    0, 1949,
     603
     604        0, 1366, 1297, 1296, 1333, 1306, 1331, 1300, 1301, 1353,
     605     1115, 1343, 1367, 1355, 1372, 1373, 1299, 1383, 1402, 1375,
     606     1381, 1385, 1378, 1386, 1388, 1948, 1393, 1399, 1404, 1405,
     607     1946, 1943, 1942, 1407, 1406, 1941, 1411, 1939, 1906, 1409,
     608     1334, 1904, 1903, 1900, 1897, 1896, 1895, 1410, 1413, 1893,
     609     1412, 1416, 1940, 2762, 1884,    0, 1883,    0,    0,    0,
     610     1885,    0,    0,    0, 2762,    0,    0,    0,    0, 1464,
     611     1470, 1516, 1880,    0, 1877,    0,    0,    0,    0, 1876,
     612     1425, 1420, 1878, 1424, 1447, 1448, 1429, 1456, 1457, 1451,
     613     1876, 1462, 1463, 1475, 1471, 1493, 1481, 1494, 1496, 1495,
     614
     615     1497, 1499, 1466, 1500, 1483, 1873, 1502, 1872, 1871, 1482,
     616     1869, 1866, 1501, 1506, 1508, 1862, 1509, 1514,    0,    0,
     617     1855, 1851, 1835, 1834, 1560,    0, 1833, 1831, 1828, 1827,
     618     1826, 1827, 1824, 1823, 1822, 1516, 1520, 1522, 1417, 1515,
     619     1518, 1512, 1539, 1540, 1552, 1820, 1543, 1817, 1544, 1548,
     620     1551, 1556, 1545, 1526, 1816, 1815, 1813, 1810, 1550, 1809,
     621     1808, 1803, 1800, 1799, 1798, 1796, 1793, 1792, 1791, 1789,
     622     1786, 1785, 1784, 1557, 1785, 1558, 1562, 1561, 1565, 1566,
     623     1782, 1567, 1594, 1571, 1781, 1570, 1572, 1578, 1577, 1582,
     624     1583, 1777, 1775, 1768, 1766, 1765, 1762, 1761, 1760, 1758,
     625
     626     1741, 1732, 1731, 1728, 1724, 1576, 1588, 1590, 1591, 1601,
     627     1589, 1721, 1714, 1602, 1712, 1711, 1607, 1603, 1608, 1687,
     628     1686, 1685, 1678, 1676, 1675, 1633, 1632, 1609, 1611, 1632,
     629     1619, 1626, 1620, 1621, 1625, 1596, 1477, 1462, 1152, 1613,
     630     1614, 1627, 1631, 1119, 1016, 1615,  762,  725,  676,  549,
     631     2762, 1690, 1703, 1716, 1726, 1736, 1749, 1759, 1772, 1785,
     632     1798, 1806, 1816, 1823, 1830, 1837, 1844, 1851, 1858, 1865,
     633     1872, 1879, 1892, 1899, 1903, 1911, 1914, 1921, 1928, 1935,
     634     1938, 1945, 1951, 1964, 1977, 1984, 1991, 1998, 2005, 2008,
     635     2015, 2018, 2025, 2028, 2035, 2038, 2045, 2048, 2055, 2058,
     636
     637     2065, 2068, 2075, 2083, 2090, 2097, 2104, 2111, 2114, 2121,
     638     2124, 2131, 2134, 2141, 2147, 2160, 2167, 2174, 2177, 2184,
     639     2187, 2194, 2197, 2204, 2207, 2214, 2217, 2224, 2227, 2234,
     640     2241, 2244, 2251, 2254, 2261, 2268, 2275, 2278, 2285, 2288,
     641     2295, 2298, 2305, 2308, 2315, 2318, 2325, 2331, 2344, 2351,
     642     2358, 2361, 2368, 2371, 2378, 2381, 2388, 2391, 2398, 2401,
     643     2408, 2411, 2418, 2421, 2428, 2431, 2438, 2445, 2448, 2455,
     644     2458, 2465, 2468, 2475, 2478, 2481, 2487, 2494, 2503, 2510,
     645     2517, 2520, 2527, 2530, 2533, 2539, 2546, 2549, 2552, 2555,
     646     2558, 2561, 2564, 2567, 2574, 2577, 2584, 2587, 2590, 2593,
     647
     648     2596, 2606, 2613, 2616, 2619, 2626, 2633, 2640, 2643, 2650,
     649     2657, 2664, 2671, 2678, 2685, 2692, 2699, 2706, 2713, 2720,
     650     2727, 2734, 2741, 2748
    645651    } ;
    646652
    647 static yyconst flex_int16_t yy_def[999] =
     653static yyconst flex_int16_t yy_def[1025] =
    648654    {   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 
     655      851,    1,  852,  852,  851,    5,  853,  853,  854,  854,
     656      851,  851,  851,  851,  851,  851,  851,  855,  851,  851,
     657      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     658      851,   31,  851,  851,  851,  851,  851,  851,  856,  855,
     659      851,  851,  851,  851,  855,  851,  855,  855,  855,  855,
     660      855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
     661      855,  851,  851,  851,  851,  851,  857,  851,  851,  851,
     662      858,  851,  851,  859,  851,  851,  860,  851,  851,  851,
     663      851,  851,  851,  851,  855,  851,  851,  851,  851,  851,
     664      851,  851,  851,  851,  851,  851,  851,  851,  851,  861,
     665
     666      851,  851,   30,  851,  851,  851,  851,  862,   30,  851,
     667       31,  851,  851,   31,  851,  851,  851,  851,  851,  851,
     668      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     669      851,  851,  851,  851,  851,  851,  851,  851,  863,  851,
     670      851,  851,  851,  855,  864,  865,  851,  851,  855,  855,
     671      855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
     672      855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
     673      855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
     674      855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
     675      855,  855,  851,  851,  851,  857,  857,  857,  851,  857,
     676
     677      851,  858,  851,  866,  867,  859,  851,  851,  851,  851,
     678      868,  869,  870,  860,  851,  851,  851,  851,  851,  851,
     679      851,  851,  851,  851,  851,  851,  851,  871,  872,  851,
     680      851,  851,  851,  231,  873,  851,  851,  103,  103,  851,
     681      851,  851,  851,  851,  851,  851,  851,  874,  875,  876,
     682      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     683      851,  851,  851,  851,  863,  851,  877,  878,  879,  880,
     684      881,  882,  851,  883,  883,  883,  883,  883,  883,  883,
     685      883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
     686      883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
     687
     688      883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
     689      883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
     690      883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
     691      883,  883,  883,  883,  883,  883,  884,  885,  886,  887,
     692      888,  889,  890,  891,  851,  851,  892,  893,  894,  895,
     693      896,  897,  851,  851,  851,  851,  851,  898,  899,  900,
     694      901,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     695      902,  903,  904,  851,  851,  851,  904,  851,  851,  851,
     696      905,  906,  907,  908,  909,  910,  911,  912,  913,  914,
     697      851,  915,  915,  915,  915,  915,  915,  915,  915,  915,
     698
     699      915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
     700      915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
     701      915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
     702      915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
     703      915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
     704      915,  915,  915,  915,  915,  916,  917,  918,  919,  920,
     705      921,  922,  923,  924,  851,  925,  926,  927,  928,  929,
     706      929,  930,  931,  932,  933,  851,  851,  851,  934,  851,
     707      934,  851,  851,  851,  851,  851,  851,  851,  851,  935,
     708      936,  937,  938,  939,  940,  941,  942,  943,  944,  945,
     709
     710      946,  947,  948,  948,  948,  948,  948,  948,  948,  948,
     711      948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
     712      948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
     713      948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
     714      948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
     715      948,  948,  948,  948,  948,  948,  948,  948,  948,  948,
     716      948,  948,  949,  950,  951,  952,  953,  954,  955,  956,
     717      957,  958,  959,  960,  961,  962,  963,  964,  965,  851,
     718      851,  851,  851,  966,  851,  851,  851,  851,  851,  967,
     719      968,  969,  970,  971,  972,  973,  974,  975,  976,  977,
     720
     721      978,  977,  977,  977,  977,  977,  977,  977,  977,  977,
     722      977,  977,  977,  977,  977,  977,  977,  977,  977,  977,
     723      977,  977,  977,  977,  977,  977,  977,  977,  977,  977,
     724      977,  977,  977,  977,  977,  977,  977,  977,  977,  977,
     725      977,  977,  977,  977,  977,  977,  977,  977,  977,  977,
     726      977,  977,  979,  851,  980,  981,  982,  983,  984,  985,
     727      986,  987,  988,  989,  851,  990,  991,  992,  993,  851,
     728      851,  851,  994,  995,  996,  997,  998,  999, 1000, 1001,
     729     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     730     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     731
     732     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     733     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1003, 1004,
     734      982, 1005, 1006, 1007,  851, 1008,  994,  996, 1009, 1010,
     735     1001, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     736     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     737     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     738     1002, 1011, 1012, 1005, 1013, 1006, 1014, 1007, 1015, 1016,
     739     1009, 1017, 1010, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     740     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     741     1002, 1018, 1011, 1019, 1012, 1020, 1013, 1021, 1014, 1022,
     742
     743     1015, 1023, 1016, 1017, 1002, 1002, 1002, 1002, 1002, 1002,
     744     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1024,
     745     1018, 1019, 1020, 1021,  996, 1022, 1023, 1002, 1002, 1002,
     746     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1024,  996, 1002,
     747     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     748        0,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     749      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     750      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     751      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     752      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     753
     754      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     755      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     756      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     757      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     758      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     759      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     760      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     761      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     762      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     763      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     764
     765      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     766      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     767      851,  851,  851,  851
    759768    } ;
    760769
    761 static yyconst flex_int16_t yy_nxt[2653] =
     770static yyconst flex_int16_t yy_nxt[2848] =
    762771    {   0,
    763772       12,   13,   14,   15,   15,   15,   13,   16,   17,   12,
     
    765774       28,   29,   30,   31,   32,   32,   32,   32,   33,   34,
    766775       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,
     776       18,   18,   18,   40,   18,   18,   18,   18,   18,   40,
     777       18,   41,   42,   43,   44,   45,   46,   47,   48,   49,
     778       50,   51,   52,   53,   18,   54,   18,   55,   18,   18,
     779       18,   18,   56,   57,   58,   59,   60,   61,   18,   18,
     780       18,   62,   63,   64,   65,   66,   83,   91,   84,   84,
     781       66,   87,   88,   67,   70,   70,   70,   70,   70,   70,
     782
     783       70,   70,   70,   70,   71,   70,   70,   70,   70,   70,
    775784       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
    776        70,   70,   70,   70,   70,   70,   70,   70,   71,   71,
     785       70,   70,   70,   70,   70,   70,   70,   70,   70,   71,
    777786       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    778        71,   71,   71,   70,   72,   70,   70,   71,   73,   71,
     787       71,   71,   71,   71,   71,   70,   72,   70,   70,   71,
     788       73,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    779789       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,
     790       71,   71,   71,   71,   71,   70,   70,   70,   70,   75,
     791       75,   78,   78,  122,  123,   89,  140,   78,   78,  619,
     792       75,   75,   79,   80,   81,   81,   81,   79,   81,   80,
     793
     794       82,   82,   82,   81,   90,   92,   86,  141,  145,   97,
     795       94,   98,   98,   98,   98,   98,   98,  248,   86,   93,
     796       99,   84,   95,   96,   84,  100,  160,  117,  142,   76,
     797       76,   76,   76,  143,  146,  101,  102,   86,  103,  103,
     798      103,  103,  104,  104,  118,   86,  119,  120,  147,   86,
     799      148,  851,  250,  204,  181,  105,  193,  453,  158,  106,
     800      159,  149,  150,  151,   86,  107,  108,  152,  153,  161,
     801      154,  109,   86,  155,  156,  144,  162,  105,   86,  205,
     802       86,  157,  163,  110,  228,   86,  256,   86,  611,   86,
     803       86,  107,  192,   86,  108,  102,  246,  111,  111,  111,
     804
     805      111,  111,  111,   86,  168,  176,  169,  194,  191,   86,
     806      229,  179,  164,  851,  105,  170,  165,  180,  112,  177,
     807      247,  166,   86,  254,  113,  167,  178,  171,   86,  259,
     808      114,  260,  244,   86,   86,  172,  105,  173,  245,  438,
     809      174,  142,  115,  851,  175,  282,  143,  255,  251,   86,
     810      113,  124,  276,   86,  245,  125,  126,   86,  127,  189,
     811      128,  129,  252,  130,  245,  131,   86,  277,  253,  182,
     812      183,  851,  244,  312,  132,  133,  134,   86,  186,  184,
     813      245,   86,  185,  253,  267,   86,  187,  259,  144,  260,
     814      278,  198,  199,  188,  253,  135,  198,  259,  136,  260,
     815
     816      303,  252,  190,  195,   80,   81,   81,   81,  195,  253,
     817      268,  196,  200,  200,  200,  200,  200,  200,   79,   80,
     818       81,   81,   81,   79,   86,  137,  138,  207,  208,  259,
     819       86,  260,  207,  295,  209,  238,  238,  238,  238,  209,
     820       81,   80,   81,   81,   81,   81,  261,  300,  210,  210,
     821      210,  210,   81,   80,   82,   82,   82,   81,  261,  209,
     822      259,   86,  260,  851,  262,  259,   86,  260,  239,  259,
     823      259,  260,  260,   86,  259,  211,  260,  279,  209,  259,
     824      263,  260,  293,  209,  209,   86,   86,  209,  209,   86,
     825      259,  851,  260,  328,   86,  209,  301,  353,  209,  354,
     826
     827      209,  212,  209,  142,  213,  215,  302,  280,  143,  216,
     828      217,   86,   86,   86,  218,  219,  281,  220,  102,  221,
     829      104,  104,  104,  104,  104,  104,   86,  274,  222,  223,
     830      224,  311,  305,  241,  275,  241,   86,  105,  242,  242,
     831      242,  242,  242,  242,   86,   86,   86,   86,  294,  225,
     832      298,   86,  226,  240,   86,   86,  306,  296,  297,  105,
     833      283,   86,  284,  299,  285,  286,  308,   86,  287,  309,
     834      288,  243,   86,  304,  307,  289,  290,  291,  310,  292,
     835      227,  231,  231,  231,  231,  231,  231,   86,   86,  317,
     836       86,   86,   86,   86,  313,  318,   86,   86,  232,  233,
     837
     838       86,   86,  233,  315,  327,  142,   86,  319,  323,  314,
     839      316,  322,  398,  336,  234,   86,  339,  320,  321,   86,
     840      232,  233,   86,   86,  325,  324,  233,   98,   98,   98,
     841       98,   98,   98,  329,  330,  332,  334,   86,  335,  326,
     842       86,   86,  340,  333,  232,  233,  207,  208,  233,   86,
     843      392,  207,  331,  195,   80,   81,   81,   81,  195,  393,
     844      237,  196,   86,  198,  199,  556,  232,  233,  198,  198,
     845      199,  353,  233,  354,  198,  337,  199,  353,  395,  354,
     846      337,  353,  338,  354,  200,  200,  200,  200,  200,  200,
     847      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
     848
     849      200,  200,  345,  345,  345,  345,  354,  354,  355,  353,
     850      353,  354,  354,  353,  356,  354,  353,  851,  354,  353,
     851      353,  354,  354,  353,  362,  354,  362,   86,   86,  363,
     852      363,  363,  363,  363,  363,  346,  231,  231,  231,  231,
     853      231,  231,  232,  233,  396,  369,  233,  379,  259,  259,
     854      260,  260,  366,  232,  233,   86,   86,  233,   86,   86,
     855      397,   86,  364,  399,  232,  233,  409,   86,  381,  234,
     856      233,  369,   86,  379,  394,  232,  233,   86,   86,  400,
     857      411,  233,  104,  104,  104,  104,  104,  104,  242,  242,
     858      242,  242,  242,  242,  382,   86,  404,   86,  405,  105,
     859
     860       86,  367,  367,  367,  367,  367,  367,  372,   86,  410,
     861      401,   86,  406,   86,   86,  251,  402,  403,  241,  233,
     862      241,  105,  233,  242,  242,  242,  242,  242,  242,  413,
     863      374,  414,  375,   86,  368,  412,  376,   86,  415,   86,
     864       86,  233,  377,   86,   86,  422,  233,  104,  104,  104,
     865      104,  104,  104,  416,  378,  407,  408,  418,  375,   86,
     866       86,  419,  376,  111,  111,  111,  111,  111,  111,   86,
     867       86,   86,   86,   86,   86,  423,  417,  424,  425,  427,
     868      251,  420,  421,  426,   86,   86,   86,   86,  428,   86,
     869       86,  431,  432,  429,  433,   86,  256,   86,   86,   86,
     870
     871      430,   86,   86,   86,   86,   86,   86,   86,   86,  435,
     872      437,  434,  142,  436,  439,  440,  445,   86,   86,   86,
     873      441,  444,   86,  443,  442,   86,   86,  446,  450,  447,
     874      448,  454,  353,   86,  354,  449,  451,  455,  452,  337,
     875      199,  199,  507,  353,  337,  354,  338,  197,  209,  209,
     876      209,  209,  345,  345,  345,  345,   86,  363,  363,  363,
     877      363,  363,  363,   86,  476,  476,  476,  476,  476,  476,
     878      362,  488,  362,   86,  503,  363,  363,  363,  363,  363,
     879      363,  465,  233,  644,  480,  233,  231,  231,  231,  231,
     880      231,  231,   86,   86,  481,  489,   86,  477,  238,  238,
     881
     882      238,  238,  104,  104,  233,  509,  512,  480,  504,  233,
     883      480,  367,  367,  367,  367,  367,  367,  482,   86,  365,
     884      367,  367,  367,  367,  367,  367,   86,   86,   86,  233,
     885      483,  366,  233,  480,  372,  511,  484,  506,  233,  528,
     886      485,  233,  485,  505,  368,  486,  486,  486,  486,  486,
     887      486,  233,   86,  478,  484,   86,  233,  374,   86,  375,
     888      233,  851,  484,  376,   86,  233,  508,   86,   86,  377,
     889       86,   86,  483,   86,  510,  524,  518,   86,  487,   86,
     890      484,  378,  519,  513,  374,  375,  375,  515,  516,  376,
     891      376,   86,  514,   86,  520,  517,  490,  522,   86,   86,
     892
     893       86,  521,   86,   86,   86,   86,   86,   86,  378,   86,
     894       86,  534,  375,  527,  523,  526,  376,  525,  531,  536,
     895       86,  535,  532,  529,   86,  530,   86,  533,   86,  539,
     896       86,   86,   86,   86,   86,  537,   86,   86,   86,   86,
     897       86,  540,  544,   86,  538,  542,   86,   86,   86,  545,
     898      541,  543,  551,  553,  554,  555,  548,  546,  547,  549,
     899      550,   86,   86,   86,  552,   86,   86,   86,  199,  557,
     900      691,   86,   86,  560,  563,  562,  480,  480,  585,  558,
     901      559,  209,  209,  209,  209,  603,  481,  561,  476,  476,
     902      476,  476,  476,  476,  476,  476,  476,  476,  476,  476,
     903
     904      480,   86,  480,  480,  585,   86,  233,  851,   86,  233,
     905      584,   86,  233,   86,   86,  233,   86,   86,  602,   86,
     906      604,  477,  609,   86,  610,   86,  480,  580,  233,  606,
     907      607,  605,  608,  233,  233,  614,  617,   86,   86,  233,
     908      367,  367,  367,  367,  367,  367,  581,  615,  581,  627,
     909      618,  582,  582,  582,  582,  582,  582,  486,  486,  486,
     910      486,  486,  486,   86,  586,  586,  586,  586,  586,  586,
     911      485,   86,  485,  478,   86,  486,  486,  486,  486,  486,
     912      486,   86,  587,  612,  583,  587,  616,   86,   86,   86,
     913      613,  622,   86,   86,   86,  625,  620,  588,  623,  624,
     914
     915       86,   86,  626,   86,  587,   86,   86,  629,   86,  587,
     916      621,   86,   86,   86,  631,  632,   86,  628,  630,   86,
     917       86,  637,   86,  634,   86,  633,   86,  635,  636,  638,
     918       86,  639,   86,   86,   86,   86,  648,  641,  643,  645,
     919       86,  640,   86,  642,  649,   86,  647,   86,   86,   86,
     920      650,   86,   86,   86,  697,  646,  683,  684,   86,  688,
     921      652,  689,  651,  476,  476,  476,  476,  476,  476,  582,
     922      582,  582,  582,  582,  582,  686,  670,  670,  670,  670,
     923      670,  670,  581,   86,  581,   86,   86,  582,  582,  582,
     924      582,  582,  582,  714,  587,   86,  580,  587,  685,  586,
     925
     926      586,  586,  586,  586,  586,   86,  687,   86,  692,  671,
     927      586,  586,  586,  586,  586,  586,  587,  587,   86,   86,
     928      587,  587,  690,  681,   86,   86,  699,   86,  587,  694,
     929       86,  587,  588,   86,  693,   86,  682,   86,   86,  587,
     930       86,  695,  700,  672,  587,   86,  702,  696,  703,  705,
     931      587,   86,  698,  701,   86,  587,   86,   86,   86,   86,
     932      704,   86,   86,   86,   86,   86,  709,  706,   86,   86,
     933      713,  715,   86,  717,  707,  716,   86,   86,  708,  710,
     934      712,   86,  733,  718,  777,  711,  670,  670,  670,  670,
     935      670,  670,  670,  670,  670,  670,  670,  670,  732,   86,
     936
     937       86,  737,  734,   86,  587,  736,  735,  587,   86,   86,
     938      587,  738,  739,  587,   86,   86,  745,  851,   86,  671,
     939      741,  740,  748,   86,  742,  725,  587,   86,  752,   86,
     940      743,  587,  587,   86,   86,   86,  746,  587,  586,  586,
     941      586,  586,  586,  586,  744,   86,   86,   86,   86,   86,
     942      749,   86,   86,   86,   86,  747,  754,  756,   86,  751,
     943       86,   86,  750,  755,   86,  753,   86,   86,   86,  760,
     944       86,  672,   86,  757,   86,  761,  783,  778,   86,  776,
     945      758,  759,  670,  670,  670,  670,  670,  670,  774,  775,
     946      780,   86,   86,  779,  781,   86,   86,   86,  784,  785,
     947
     948       86,  790,   86,   86,   86,  782,  787,  786,   86,   86,
     949       86,  788,  789,   86,   86,  725,  808,   86,   86,   86,
     950      812,  810,   86,   86,   86,  791,  813,  815,   86,   86,
     951       86,  806,  807,  816,   86,   86,  805,  811,  817,  809,
     952       86,   86,   86,   86,  814,  830,   86,  829,   86,  828,
     953      818,  819,  831,   86,   86,   86,  832,  834,  833,   86,
     954       86,   86,  835,   86,  836,   86,   86,   86,  841,  837,
     955      840,   86,   86,   86,  842,  843,  844,   86,   86,   86,
     956      845,  847,  848,   86,   86,  846,  849,  851,  851,  850,
     957       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
     958
     959       68,   68,   68,   74,   74,   74,   74,   74,   74,   74,
     960       74,   74,   74,   74,   74,   74,   77,   77,   77,   77,
     961       77,   77,   77,   77,   77,   77,   77,   77,   77,   85,
     962      839,  851,   85,  851,   85,   85,   85,   85,   85,  139,
     963      851,  851,  838,  139,  139,  139,  139,  139,  139,  197,
    841964      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
     965      197,  197,  202,   86,   86,  202,   86,  202,  202,  202,
     966      202,  202,  206,   86,  206,  206,   86,  206,  206,  206,
     967      206,  206,  206,  851,  206,  214,  851,  827,  214,  214,
     968      214,  214,  214,  214,  214,  214,  851,  214,  235,  235,
     969
     970      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
     971      235,  249,  249,  826,  249,  851,  824,  851,  249,  265,
     972      823,  851,  265,  822,  265,  265,  265,  265,  265,  269,
     973      851,  269,  821,   86,   86,  269,  271,   86,  271,  851,
     974      804,  851,  271,  341,  803,  341,  801,  851,  799,  341,
     975      343,  851,  343,  797,  851,  795,  343,  347,  793,  347,
     976       86,   86,   86,  347,  349,   86,  349,   86,   86,   86,
     977      349,  351,   86,  351,   86,   86,   86,  351,  358,   86,
     978      358,  851,  773,  771,  358,  360,  851,  360,  851,  768,
     979      766,  360,  235,  235,  235,  235,  235,  235,  235,  235,
     980
     981      235,  235,  235,  235,  235,  371,  764,  371,  373,  373,
     982      851,  373,  373,  373,   86,  373,  249,  249,   86,  249,
     983      383,   86,  383,   86,   86,   86,  383,  385,   86,  385,
     984       86,  731,  728,  385,  387,  727,  387,  203,  721,  720,
     985      387,  269,  654,  269,  389,   86,  389,   86,   86,   86,
     986      389,  271,   86,  271,   85,   86,   86,   85,   86,   85,
     987       85,   85,   85,   85,  197,  197,  197,  197,  197,  197,
     988      197,  197,  197,  197,  197,  197,  197,  456,  456,  456,
     989      456,  456,  456,  456,  456,  456,  456,  456,  456,  456,
     990      457,   86,  457,   86,   86,   86,  457,  459,   86,  459,
     991
     992       86,   86,  679,  459,  461,  678,  461,  676,  674,  584,
     993      461,  341,  669,  341,  463,  668,  463,  666,  664,  662,
     994      463,  343,  660,  343,  466,  658,  466,  656,  654,   86,
     995      466,  347,   86,  347,  468,   86,  468,   86,   86,   86,
     996      468,  349,   86,  349,  470,   86,  470,   86,  601,  599,
     997      470,  351,  597,  351,  472,  595,  472,  593,  591,  490,
     998      472,  358,  589,  358,  474,  589,  474,  579,  577,  471,
     999      474,  360,  471,  360,  479,  575,  479,  573,  479,  571,
     1000      479,  371,  569,  371,  567,  371,  565,  371,  373,  373,
     1001       86,  373,  373,  373,   86,  373,  491,   86,  491,   86,
     1002
     1003       86,   86,  491,  493,   86,  493,   86,  502,  500,  493,
     1004      495,  498,  495,  496,  494,  492,  495,  383,  475,  383,
     1005      497,  473,  497,  354,  354,  471,  497,  385,  469,  385,
     1006      499,  467,  499,  464,  462,  460,  499,  387,  458,  387,
     1007      501,   86,  501,   86,   86,  391,  501,  389,  390,  389,
     1008       85,  388,  386,   85,  384,   85,   85,   85,   85,   85,
     1009      456,  456,  456,  456,  456,  456,  456,  456,  456,  456,
     1010      456,  456,  456,  564,  266,  564,  261,  260,  380,  564,
     1011      457,  380,  457,  566,  248,  566,  370,  370,  236,  566,
     1012      459,  365,  459,  568,  361,  568,  359,  357,  353,  568,
     1013
     1014      461,  352,  461,  570,  350,  570,  348,  344,  342,  570,
     1015      463,  203,  463,  572,  199,  572,   86,  273,  272,  572,
     1016      466,  270,  466,  574,  266,  574,  261,  264,  261,  574,
     1017      468,  259,  468,  470,  258,  470,  257,  236,  230,  470,
     1018      576,   84,  576,   84,   86,  203,  576,  472,  201,  472,
     1019      578,   84,  578,  121,  116,   86,  578,  474,  851,  474,
     1020      479,   69,  479,   69,  479,  851,  479,  373,  851,  373,
     1021      851,  851,  851,  373,  590,  851,  590,  851,  851,  851,
     1022      590,  491,  851,  491,  592,  851,  592,  851,  851,  851,
     1023      592,  493,  851,  493,  594,  851,  594,  851,  851,  851,
     1024
     1025      594,  495,  851,  495,  596,  851,  596,  851,  851,  851,
     1026      596,  497,  851,  497,  598,  851,  598,  851,  851,  851,
     1027      598,  499,  851,  499,  600,  851,  600,  851,  851,  851,
     1028      600,  501,  851,  501,   85,  851,  851,   85,  851,   85,
     1029       85,   85,   85,   85,  653,  653,  653,  653,  653,  653,
     1030      653,  653,  653,  653,  653,  653,  653,  655,  851,  655,
     1031      851,  851,  851,  655,  564,  851,  564,  657,  851,  657,
     1032      851,  851,  851,  657,  566,  851,  566,  659,  851,  659,
     1033      851,  851,  851,  659,  568,  851,  568,  661,  851,  661,
     1034      851,  851,  851,  661,  570,  851,  570,  663,  851,  663,
     1035
     1036      851,  851,  851,  663,  572,  851,  572,  665,  851,  665,
     1037      851,  851,  851,  665,  574,  851,  574,  667,  851,  667,
     1038      851,  851,  851,  667,  576,  851,  576,   85,  851,   85,
     1039      851,  851,  851,   85,  578,  851,  578,  479,  851,  479,
     1040      851,  851,  851,  479,  673,  851,  673,  851,  851,  851,
     1041      673,  590,  851,  590,  675,  851,  675,  851,  851,  851,
     1042      675,  592,  851,  592,  677,  851,  677,  851,  851,  851,
     1043      677,  594,  851,  594,  139,  851,  139,  851,  851,  851,
     1044      139,  596,  851,  596,  680,  851,  680,  598,  851,  598,
     1045       85,  851,  851,   85,  851,   85,   85,   85,   85,   85,
     1046
     1047      600,  851,  600,  653,  653,  653,  653,  653,  653,  653,
     1048      653,  653,  653,  653,  653,  653,  719,  851,  719,  851,
     1049      851,  851,  719,  655,  851,  655,  202,  851,  202,  851,
     1050      851,  851,  202,  657,  851,  657,  722,  851,  722,  659,
     1051      851,  659,  202,  851,  851,  202,  851,  202,  202,  202,
     1052      202,  202,  661,  851,  661,  723,  851,  723,  663,  851,
     1053      663,  665,  851,  665,  724,  851,  724,  667,  851,  667,
     1054       85,  851,   85,  726,  851,  726,  851,  851,  851,  726,
     1055      673,  851,  673,  265,  851,  265,  851,  851,  851,  265,
     1056      675,  851,  675,  729,  851,  729,  677,  851,  677,  139,
     1057
     1058      851,  139,  730,  851,  730,  851,  851,  851,  730,   85,
     1059      851,  851,   85,  851,   85,   85,   85,   85,   85,  762,
     1060      851,  762,  719,  851,  719,  763,  851,  763,  851,  851,
     1061      851,  763,  765,  851,  765,  851,  851,  851,  765,  767,
     1062      851,  767,  851,  851,  851,  767,  769,  851,  769,  770,
     1063      851,  770,  851,  851,  851,  770,  772,  851,  772,  851,
     1064      851,  851,  772,  792,  851,  792,  851,  851,  851,  792,
     1065      794,  851,  794,  851,  851,  851,  794,  796,  851,  796,
     1066      851,  851,  851,  796,  798,  851,  798,  851,  851,  851,
     1067      798,  800,  851,  800,  851,  851,  851,  800,  802,  851,
     1068
     1069      802,  851,  851,  851,  802,  600,  851,  600,  851,  851,
     1070      851,  600,  820,  851,  820,  851,  851,  851,  820,  661,
     1071      851,  661,  851,  851,  851,  661,  665,  851,  665,  851,
     1072      851,  851,  665,   85,  851,   85,  851,  851,  851,   85,
     1073      825,  851,  825,  851,  851,  851,  825,  139,  851,  139,
     1074      851,  851,  851,  139,  202,  851,  202,  851,  851,  851,
     1075      202,   11,  851,  851,  851,  851,  851,  851,  851,  851,
     1076      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1077      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1078      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1079
     1080      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1081      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1082      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1083      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1084      851,  851,  851,  851,  851,  851,  851
    10551085    } ;
    10561086
    1057 static yyconst flex_int16_t yy_chk[2653] =
     1087static yyconst flex_int16_t yy_chk[2848] =
    10581088    {   0,
    10591089        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    10651095        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    10661096        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,
     1097        1,    1,    1,    1,    1,    2,   16,   24,   16,   24,
     1098        2,   19,   19,    2,    5,    5,    5,    5,    5,    5,
    10691099
    10701100        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
     
    10751105        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    10761106        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
     1107        5,    5,    5,    5,    5,    5,    5,    5,    5,    7,
     1108        8,    9,   10,   37,   37,   20,   39,    9,   10,  521,
     1109        7,    8,   13,   13,   13,   13,   13,   13,   15,   15,
     1110
     1111       15,   15,   15,   15,   20,   25,   48,   39,   42,   28,
     1112       27,   28,   28,   28,   28,   28,   28,  108,  521,   25,
     1113       29,   25,   27,   27,   27,   29,   48,   35,   40,    7,
     1114        8,    9,   10,   40,   42,   29,   30,   47,   30,   30,
     1115       30,   30,   30,   30,   35,   56,   35,   35,   44,  334,
     1116       44,  114,  108,   72,   56,   30,   63,  334,   47,   30,
     1117       47,   45,   45,   45,   49,   30,   30,   45,   45,   49,
     1118       45,   30,   40,   45,   45,   40,   49,   30,   45,   72,
     1119       61,   45,   49,   30,   86,  513,  114,   53,  513,   51,
     1120       60,   30,   61,   55,   30,   31,  107,   31,   31,   31,
     1121
     1122       31,   31,   31,   50,   51,   53,   51,   63,   60,   54,
     1123       86,   55,   50,  109,   31,   51,   50,   55,   31,   54,
     1124      107,   50,   52,  113,   31,   50,   54,   52,  317,  125,
     1125       31,  125,  106,  156,  150,   52,   31,   52,  106,  317,
     1126       52,   59,   31,  109,   52,  156,   59,  113,  109,  151,
     1127       31,   38,  150,  174,  110,   38,   38,   57,   38,   59,
     1128       38,   38,  112,   38,  106,   38,   58,  151,  112,   57,
     1129       57,  109,  110,  174,   38,   38,   38,  166,   58,   57,
     1130      110,  152,   57,  115,  141,   59,   58,  126,   59,  126,
     1131      152,   67,   67,   58,  112,   38,   67,  128,   38,  128,
     1132
     1133      166,  115,   59,   66,   66,   66,   66,   66,   66,  115,
     1134      141,   66,   67,   67,   67,   67,   67,   67,   79,   79,
     1135       79,   79,   79,   79,  160,   38,   38,   76,   76,  131,
     1136      163,  131,   76,  160,   76,  103,  103,  103,  103,   76,
     1137       81,   81,   81,   81,   81,   81,  129,  163,   76,   76,
     1138       76,   76,   82,   82,   82,   82,   82,   82,  130,   76,
     1139      129,  153,  129,  103,  132,  132,  158,  132,  103,  133,
     1140      130,  133,  130,  186,  136,   76,  136,  153,   76,  134,
     1141      134,  134,  158,   76,   76,  165,  164,   76,   76,  154,
     1142      138,  103,  138,  186,  155,   76,  164,  216,   76,  216,
     1143
     1144       76,   76,   76,  144,   76,   84,  165,  154,  144,   84,
     1145       84,  168,  149,  173,   84,   84,  155,   84,  104,   84,
     1146      104,  104,  104,  104,  104,  104,  159,  149,   84,   84,
     1147       84,  173,  168,  105,  149,  105,  161,  104,  105,  105,
     1148      105,  105,  105,  105,  170,  162,  167,  144,  159,   84,
     1149      162,  169,   84,  104,  171,  157,  169,  161,  161,  104,
     1150      157,  172,  157,  162,  157,  157,  170,  175,  157,  171,
     1151      157,  105,  179,  167,  169,  157,  157,  157,  172,  157,
     1152       84,   98,   98,   98,   98,   98,   98,  176,  178,  179,
     1153      180,  185,  280,  182,  175,  180,  181,  183,   98,   98,
     1154
     1155      192,  850,   98,  178,  185,  189,  187,  181,  183,  176,
     1156      178,  182,  280,  192,   98,  188,  203,  181,  181,  184,
     1157       98,   98,  190,  191,  184,  183,   98,  102,  102,  102,
     1158      102,  102,  102,  187,  188,  190,  191,  274,  191,  184,
     1159      449,  275,  203,  190,  102,  102,  207,  207,  102,  189,
     1160      274,  207,  189,  195,  195,  195,  195,  195,  195,  275,
     1161      102,  195,  277,  196,  196,  449,  102,  102,  196,  198,
     1162      198,  217,  102,  217,  198,  200,  200,  218,  277,  218,
     1163      200,  221,  200,  221,  196,  196,  196,  196,  196,  196,
     1164      198,  198,  198,  198,  198,  198,  200,  200,  200,  200,
     1165
     1166      200,  200,  210,  210,  210,  210,  219,  220,  222,  222,
     1167      223,  222,  223,  224,  224,  224,  226,  239,  226,  220,
     1168      219,  220,  219,  227,  232,  227,  232,  278,  849,  232,
     1169      232,  232,  232,  232,  232,  210,  231,  231,  231,  231,
     1170      231,  231,  237,  237,  278,  244,  237,  252,  262,  263,
     1171      262,  263,  239,  231,  231,  279,  276,  231,  281,  282,
     1172      279,  288,  232,  281,  237,  237,  288,  290,  266,  231,
     1173      237,  244,  285,  252,  276,  231,  231,  848,  284,  282,
     1174      290,  231,  240,  240,  240,  240,  240,  240,  241,  241,
     1175      241,  241,  241,  241,  266,  283,  284,  286,  285,  240,
     1176
     1177      289,  242,  242,  242,  242,  242,  242,  249,  291,  289,
     1178      283,  292,  286,  294,  847,  240,  283,  283,  243,  242,
     1179      243,  240,  242,  243,  243,  243,  243,  243,  243,  292,
     1180      249,  294,  249,  295,  242,  291,  249,  298,  295,  287,
     1181      301,  242,  249,  299,  296,  301,  242,  251,  251,  251,
     1182      251,  251,  251,  296,  249,  287,  287,  298,  249,  304,
     1183      300,  299,  249,  256,  256,  256,  256,  256,  256,  297,
     1184      302,  303,  307,  306,  305,  302,  297,  303,  304,  306,
     1185      251,  300,  300,  305,  308,  309,  310,  311,  307,  312,
     1186      313,  310,  311,  308,  312,  314,  256,  315,  320,  318,
     1187
     1188      309,  321,  319,  322,  323,  325,  326,  324,  327,  313,
     1189      315,  312,  331,  314,  318,  319,  324,  328,  332,  330,
     1190      320,  323,  336,  322,  321,  333,  335,  325,  330,  326,
     1191      327,  335,  355,  396,  355,  328,  332,  336,  333,  337,
     1192      337,  338,  396,  356,  337,  356,  337,  338,  345,  345,
     1193      345,  345,  346,  346,  346,  346,  331,  362,  362,  362,
     1194      362,  362,  362,  392,  363,  363,  363,  363,  363,  363,
     1195      364,  376,  364,  552,  392,  364,  364,  364,  364,  364,
     1196      364,  345,  363,  552,  371,  363,  365,  365,  365,  365,
     1197      365,  365,  393,  401,  371,  376,  398,  363,  366,  366,
     1198
     1199      366,  366,  366,  366,  363,  398,  401,  372,  393,  363,
     1200      371,  367,  367,  367,  367,  367,  367,  372,  395,  365,
     1201      368,  368,  368,  368,  368,  368,  400,  417,  394,  367,
     1202      374,  366,  367,  372,  373,  400,  374,  395,  368,  417,
     1203      375,  368,  375,  394,  367,  375,  375,  375,  375,  375,
     1204      375,  367,  399,  368,  378,  397,  367,  373,  406,  373,
     1205      368,  377,  374,  373,  411,  368,  397,  402,  845,  373,
     1206      403,  404,  378,  405,  399,  411,  406,  407,  375,  408,
     1207      378,  373,  407,  402,  377,  373,  377,  404,  404,  373,
     1208      377,  409,  403,  410,  408,  405,  377,  409,  412,  415,
     1209
     1210      413,  408,  419,  420,  422,  423,  424,  430,  377,  421,
     1211      425,  423,  377,  415,  410,  413,  377,  412,  421,  425,
     1212      427,  424,  421,  419,  429,  420,  431,  422,  432,  430,
     1213      433,  434,  437,  435,  439,  427,  441,  440,  443,  442,
     1214      446,  431,  435,  444,  429,  433,  445,  447,  448,  437,
     1215      432,  434,  444,  446,  447,  448,  441,  439,  440,  442,
     1216      443,  450,  452,  451,  445,  454,  455,  611,  456,  450,
     1217      611,  844,  504,  452,  456,  455,  479,  482,  483,  450,
     1218      451,  465,  465,  465,  465,  504,  479,  454,  476,  476,
     1219      476,  476,  476,  476,  477,  477,  477,  477,  477,  477,
     1220
     1221      481,  503,  479,  482,  483,  506,  476,  839,  509,  476,
     1222      481,  507,  477,  512,  516,  477,  508,  511,  503,  510,
     1223      506,  476,  511,  531,  512,  519,  481,  477,  476,  508,
     1224      509,  507,  510,  476,  477,  516,  519,  520,  517,  477,
     1225      478,  478,  478,  478,  478,  478,  480,  517,  480,  531,
     1226      520,  480,  480,  480,  480,  480,  480,  485,  485,  485,
     1227      485,  485,  485,  514,  486,  486,  486,  486,  486,  486,
     1228      487,  515,  487,  478,  524,  487,  487,  487,  487,  487,
     1229      487,  518,  486,  514,  480,  486,  518,  522,  523,  525,
     1230      515,  524,  533,  529,  526,  528,  522,  486,  525,  526,
     1231
     1232      532,  528,  529,  534,  486,  535,  537,  533,  538,  486,
     1233      523,  539,  540,  542,  535,  537,  543,  532,  534,  547,
     1234      545,  543,  546,  539,  548,  538,  549,  540,  542,  545,
     1235      551,  546,  553,  554,  555,  557,  556,  548,  551,  553,
     1236      558,  547,  556,  549,  557,  560,  555,  561,  604,  603,
     1237      558,  617,  608,  609,  617,  554,  603,  604,  606,  608,
     1238      561,  609,  560,  580,  580,  580,  580,  580,  580,  581,
     1239      581,  581,  581,  581,  581,  606,  582,  582,  582,  582,
     1240      582,  582,  583,  607,  583,  605,  641,  583,  583,  583,
     1241      583,  583,  583,  641,  582,  612,  580,  582,  605,  586,
     1242
     1243      586,  586,  586,  586,  586,  610,  607,  614,  612,  582,
     1244      588,  588,  588,  588,  588,  588,  582,  586,  602,  613,
     1245      586,  582,  610,  602,  615,  616,  619,  620,  588,  614,
     1246      623,  588,  586,  621,  613,  618,  602,  622,  624,  586,
     1247      625,  615,  620,  588,  586,  627,  622,  616,  623,  625,
     1248      588,  628,  618,  621,  619,  588,  629,  630,  635,  634,
     1249      624,  640,  648,  637,  651,  649,  630,  627,  652,  739,
     1250      640,  648,  682,  651,  628,  649,  684,  681,  629,  634,
     1251      637,  687,  682,  652,  739,  635,  670,  670,  670,  670,
     1252      670,  670,  671,  671,  671,  671,  671,  671,  681,  685,
     1253
     1254      686,  687,  684,  690,  670,  686,  685,  670,  688,  689,
     1255      671,  688,  689,  671,  692,  693,  696,  838,  703,  670,
     1256      692,  690,  699,  695,  693,  671,  670,  694,  703,  837,
     1257      694,  670,  671,  697,  710,  705,  697,  671,  672,  672,
     1258      672,  672,  672,  672,  695,  696,  698,  700,  699,  701,
     1259      700,  702,  704,  713,  707,  698,  705,  710,  714,  702,
     1260      715,  717,  701,  707,  742,  704,  718,  740,  736,  717,
     1261      741,  672,  737,  713,  738,  718,  745,  740,  754,  738,
     1262      714,  715,  725,  725,  725,  725,  725,  725,  736,  737,
     1263      742,  743,  744,  741,  743,  747,  749,  753,  747,  749,
     1264
     1265      750,  754,  759,  751,  745,  744,  751,  750,  752,  774,
     1266      776,  752,  753,  778,  777,  725,  778,  779,  780,  782,
     1267      783,  780,  786,  784,  787,  759,  784,  787,  806,  789,
     1268      788,  776,  777,  788,  790,  791,  774,  782,  789,  779,
     1269      807,  811,  808,  809,  786,  808,  783,  807,  836,  806,
     1270      790,  791,  809,  810,  814,  818,  810,  814,  811,  817,
     1271      819,  828,  817,  829,  818,  840,  841,  846,  829,  819,
     1272      828,  831,  833,  834,  831,  833,  834,  835,  832,  842,
     1273      835,  841,  842,  843,  830,  840,  843,  827,  826,  846,
     1274      852,  852,  852,  852,  852,  852,  852,  852,  852,  852,
     1275
     1276      852,  852,  852,  853,  853,  853,  853,  853,  853,  853,
     1277      853,  853,  853,  853,  853,  853,  854,  854,  854,  854,
     1278      854,  854,  854,  854,  854,  854,  854,  854,  854,  855,
     1279      825,  824,  855,  823,  855,  855,  855,  855,  855,  856,
     1280      822,  821,  820,  856,  856,  856,  856,  856,  856,  857,
     1281      857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
     1282      857,  857,  858,  816,  815,  858,  813,  858,  858,  858,
     1283      858,  858,  859,  812,  859,  859,  805,  859,  859,  859,
     1284      859,  859,  859,  804,  859,  860,  803,  802,  860,  860,
     1285      860,  860,  860,  860,  860,  860,  801,  860,  861,  861,
     1286
     1287      861,  861,  861,  861,  861,  861,  861,  861,  861,  861,
     1288      861,  862,  862,  800,  862,  799,  798,  797,  862,  863,
     1289      796,  795,  863,  794,  863,  863,  863,  863,  863,  864,
     1290      793,  864,  792,  785,  781,  864,  865,  775,  865,  773,
     1291      772,  771,  865,  866,  770,  866,  769,  768,  767,  866,
     1292      867,  766,  867,  765,  764,  763,  867,  868,  762,  868,
     1293      761,  760,  758,  868,  869,  757,  869,  756,  755,  748,
     1294      869,  870,  746,  870,  735,  734,  733,  870,  871,  732,
     1295      871,  731,  730,  729,  871,  872,  728,  872,  727,  724,
     1296      723,  872,  873,  873,  873,  873,  873,  873,  873,  873,
     1297
     1298      873,  873,  873,  873,  873,  874,  722,  874,  875,  875,
     1299      721,  875,  875,  875,  716,  875,  876,  876,  712,  876,
     1300      877,  711,  877,  709,  708,  706,  877,  878,  691,  878,
     1301      683,  680,  675,  878,  879,  673,  879,  661,  657,  655,
     1302      879,  880,  653,  880,  881,  650,  881,  647,  646,  645,
     1303      881,  882,  644,  882,  883,  643,  642,  883,  639,  883,
     1304      883,  883,  883,  883,  884,  884,  884,  884,  884,  884,
     1305      884,  884,  884,  884,  884,  884,  884,  885,  885,  885,
     1306      885,  885,  885,  885,  885,  885,  885,  885,  885,  885,
     1307      886,  638,  886,  636,  633,  632,  886,  887,  631,  887,
     1308
     1309      626,  600,  596,  887,  888,  594,  888,  592,  590,  584,
     1310      888,  889,  578,  889,  890,  576,  890,  574,  572,  570,
     1311      890,  891,  568,  891,  892,  566,  892,  564,  563,  562,
     1312      892,  893,  559,  893,  894,  550,  894,  544,  541,  536,
     1313      894,  895,  530,  895,  896,  527,  896,  505,  501,  499,
     1314      896,  897,  497,  897,  898,  495,  898,  493,  491,  490,
     1315      898,  899,  489,  899,  900,  488,  900,  474,  472,  471,
     1316      900,  901,  470,  901,  902,  468,  902,  466,  902,  463,
     1317      902,  903,  461,  903,  459,  903,  457,  903,  904,  904,
     1318      453,  904,  904,  904,  438,  904,  905,  436,  905,  428,
     1319
     1320      426,  418,  905,  906,  416,  906,  414,  389,  387,  906,
     1321      907,  385,  907,  383,  382,  381,  907,  908,  360,  908,
     1322      909,  358,  909,  357,  353,  351,  909,  910,  349,  910,
     1323      911,  347,  911,  343,  341,  340,  911,  912,  339,  912,
     1324      913,  329,  913,  316,  293,  273,  913,  914,  271,  914,
     1325      915,  269,  268,  915,  267,  915,  915,  915,  915,  915,
     1326      916,  916,  916,  916,  916,  916,  916,  916,  916,  916,
     1327      916,  916,  916,  917,  265,  917,  264,  259,  255,  917,
     1328      918,  254,  918,  919,  250,  919,  247,  246,  235,  919,
     1329      920,  234,  920,  921,  229,  921,  228,  225,  215,  921,
     1330
     1331      922,  213,  922,  923,  212,  923,  211,  205,  204,  923,
     1332      924,  202,  924,  925,  197,  925,  177,  148,  146,  925,
     1333      926,  145,  926,  927,  139,  927,  137,  135,  127,  927,
     1334      928,  124,  928,  929,  123,  929,  119,  100,   97,  929,
     1335      930,   94,  930,   92,   85,   71,  930,  931,   69,  931,
     1336      932,   65,  932,   36,   33,   18,  932,  933,   11,  933,
     1337      934,    4,  934,    3,  934,    0,  934,  935,    0,  935,
     1338        0,    0,    0,  935,  936,    0,  936,    0,    0,    0,
     1339      936,  937,    0,  937,  938,    0,  938,    0,    0,    0,
     1340      938,  939,    0,  939,  940,    0,  940,    0,    0,    0,
     1341
     1342      940,  941,    0,  941,  942,    0,  942,    0,    0,    0,
     1343      942,  943,    0,  943,  944,    0,  944,    0,    0,    0,
     1344      944,  945,    0,  945,  946,    0,  946,    0,    0,    0,
     1345      946,  947,    0,  947,  948,    0,    0,  948,    0,  948,
     1346      948,  948,  948,  948,  949,  949,  949,  949,  949,  949,
     1347      949,  949,  949,  949,  949,  949,  949,  950,    0,  950,
     1348        0,    0,    0,  950,  951,    0,  951,  952,    0,  952,
     1349        0,    0,    0,  952,  953,    0,  953,  954,    0,  954,
     1350        0,    0,    0,  954,  955,    0,  955,  956,    0,  956,
     1351        0,    0,    0,  956,  957,    0,  957,  958,    0,  958,
     1352
     1353        0,    0,    0,  958,  959,    0,  959,  960,    0,  960,
     1354        0,    0,    0,  960,  961,    0,  961,  962,    0,  962,
     1355        0,    0,    0,  962,  963,    0,  963,  964,    0,  964,
     1356        0,    0,    0,  964,  965,    0,  965,  966,    0,  966,
     1357        0,    0,    0,  966,  967,    0,  967,    0,    0,    0,
     1358      967,  968,    0,  968,  969,    0,  969,    0,    0,    0,
     1359      969,  970,    0,  970,  971,    0,  971,    0,    0,    0,
     1360      971,  972,    0,  972,  973,    0,  973,    0,    0,    0,
     1361      973,  974,    0,  974,  975,    0,  975,  976,    0,  976,
     1362      977,    0,    0,  977,    0,  977,  977,  977,  977,  977,
     1363
     1364      978,    0,  978,  979,  979,  979,  979,  979,  979,  979,
     1365      979,  979,  979,  979,  979,  979,  980,    0,  980,    0,
     1366        0,    0,  980,  981,    0,  981,  982,    0,  982,    0,
     1367        0,    0,  982,  983,    0,  983,  984,    0,  984,  985,
     1368        0,  985,  986,    0,    0,  986,    0,  986,  986,  986,
     1369      986,  986,  987,    0,  987,  988,    0,  988,  989,    0,
     1370      989,  990,    0,  990,  991,    0,  991,  992,    0,  992,
     1371      993,    0,  993,  994,    0,  994,    0,    0,    0,  994,
     1372      995,    0,  995,  996,    0,  996,    0,    0,    0,  996,
     1373      997,    0,  997,  998,    0,  998,  999,    0,  999, 1000,
     1374
     1375        0, 1000, 1001,    0, 1001,    0,    0,    0, 1001, 1002,
     1376        0,    0, 1002,    0, 1002, 1002, 1002, 1002, 1002, 1003,
     1377        0, 1003, 1004,    0, 1004, 1005,    0, 1005,    0,    0,
     1378        0, 1005, 1006,    0, 1006,    0,    0,    0, 1006, 1007,
     1379        0, 1007,    0,    0,    0, 1007, 1008,    0, 1008, 1009,
     1380        0, 1009,    0,    0,    0, 1009, 1010,    0, 1010,    0,
     1381        0,    0, 1010, 1011,    0, 1011,    0,    0,    0, 1011,
     1382     1012,    0, 1012,    0,    0,    0, 1012, 1013,    0, 1013,
     1383        0,    0,    0, 1013, 1014,    0, 1014,    0,    0,    0,
     1384     1014, 1015,    0, 1015,    0,    0,    0, 1015, 1016,    0,
     1385
     1386     1016,    0,    0,    0, 1016, 1017,    0, 1017,    0,    0,
     1387        0, 1017, 1018,    0, 1018,    0,    0,    0, 1018, 1019,
     1388        0, 1019,    0,    0,    0, 1019, 1020,    0, 1020,    0,
     1389        0,    0, 1020, 1021,    0, 1021,    0,    0,    0, 1021,
     1390     1022,    0, 1022,    0,    0,    0, 1022, 1023,    0, 1023,
     1391        0,    0,    0, 1023, 1024,    0, 1024,    0,    0,    0,
     1392     1024,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1393      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1394      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1395      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1396
     1397      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1398      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1399      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1400      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
     1401      851,  851,  851,  851,  851,  851,  851
    13511402    } ;
    13521403
    13531404/* Table of booleans, true if rule could match eol. */
    1354 static yyconst flex_int32_t yy_rule_can_match_eol[172] =
     1405static yyconst flex_int32_t yy_rule_can_match_eol[179] =
    13551406    {   0,
    135614071, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     
    13591410    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    13601411    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,
     1412    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1,
    13621413    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    13631414    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,     };
     1415    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,     };
    13651416
    13661417static yy_state_type yy_last_accepting_state;
     
    13901441 * Created On       : Sat Sep 22 08:58:10 2001
    13911442 * Last Modified By : Peter A. Buhr
    1392  * Last Modified On : Fri Jun 19 11:10:14 2015
    1393  * Update Count     : 392
     1443 * Last Modified On : Thu Oct  8 16:13:07 2015
     1444 * Update Count     : 404
    13941445 */
    13951446#line 20 "lex.ll"
     
    14481499
    14491500
    1450 #line 1451 "Parser/lex.cc"
     1501#line 1502 "Parser/lex.cc"
    14511502
    14521503#define INITIAL 0
     
    16431694
    16441695                                   /* line directives */
    1645 #line 1646 "Parser/lex.cc"
     1696#line 1697 "Parser/lex.cc"
    16461697
    16471698        if ( !(yy_init) )
     
    16971748                                {
    16981749                                yy_current_state = (int) yy_def[yy_current_state];
    1699                                 if ( yy_current_state >= 826 )
     1750                                if ( yy_current_state >= 852 )
    17001751                                        yy_c = yy_meta[(unsigned int) yy_c];
    17011752                                }
     
    17031754                        ++yy_cp;
    17041755                        }
    1705                 while ( yy_base[yy_current_state] != 2568 );
     1756                while ( yy_base[yy_current_state] != 2762 );
    17061757
    17071758yy_find_action:
     
    18501901YY_RULE_SETUP
    18511902#line 184 "lex.ll"
     1903{ KEYWORD_RETURN(AT); }                                 // CFA
     1904        YY_BREAK
     1905case 18:
     1906YY_RULE_SETUP
     1907#line 185 "lex.ll"
    18521908{ KEYWORD_RETURN(ATOMIC); }                             // C11
    1853         YY_BREAK
    1854 case 18:
    1855 YY_RULE_SETUP
    1856 #line 185 "lex.ll"
    1857 { KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    18581909        YY_BREAK
    18591910case 19:
     
    18651916YY_RULE_SETUP
    18661917#line 187 "lex.ll"
     1918{ KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
     1919        YY_BREAK
     1920case 21:
     1921YY_RULE_SETUP
     1922#line 188 "lex.ll"
    18671923{ KEYWORD_RETURN(AUTO); }
    18681924        YY_BREAK
    1869 case 21:
    1870 YY_RULE_SETUP
    1871 #line 188 "lex.ll"
     1925case 22:
     1926YY_RULE_SETUP
     1927#line 189 "lex.ll"
    18721928{ KEYWORD_RETURN(BOOL); }                               // C99
    18731929        YY_BREAK
    1874 case 22:
    1875 YY_RULE_SETUP
    1876 #line 189 "lex.ll"
     1930case 23:
     1931YY_RULE_SETUP
     1932#line 190 "lex.ll"
    18771933{ KEYWORD_RETURN(BREAK); }
    18781934        YY_BREAK
    1879 case 23:
    1880 YY_RULE_SETUP
    1881 #line 190 "lex.ll"
     1935case 24:
     1936YY_RULE_SETUP
     1937#line 191 "lex.ll"
    18821938{ KEYWORD_RETURN(CASE); }
    18831939        YY_BREAK
    1884 case 24:
    1885 YY_RULE_SETUP
    1886 #line 191 "lex.ll"
     1940case 25:
     1941YY_RULE_SETUP
     1942#line 192 "lex.ll"
    18871943{ KEYWORD_RETURN(CATCH); }                              // CFA
    18881944        YY_BREAK
    1889 case 25:
    1890 YY_RULE_SETUP
    1891 #line 192 "lex.ll"
     1945case 26:
     1946YY_RULE_SETUP
     1947#line 193 "lex.ll"
     1948{ KEYWORD_RETURN(CATCHRESUME); }                // CFA
     1949        YY_BREAK
     1950case 27:
     1951YY_RULE_SETUP
     1952#line 194 "lex.ll"
    18921953{ KEYWORD_RETURN(CHAR); }
    18931954        YY_BREAK
    1894 case 26:
    1895 YY_RULE_SETUP
    1896 #line 193 "lex.ll"
     1955case 28:
     1956YY_RULE_SETUP
     1957#line 195 "lex.ll"
    18971958{ KEYWORD_RETURN(CHOOSE); }                             // CFA
    18981959        YY_BREAK
    1899 case 27:
    1900 YY_RULE_SETUP
    1901 #line 194 "lex.ll"
     1960case 29:
     1961YY_RULE_SETUP
     1962#line 196 "lex.ll"
    19021963{ KEYWORD_RETURN(COMPLEX); }                    // C99
    19031964        YY_BREAK
    1904 case 28:
    1905 YY_RULE_SETUP
    1906 #line 195 "lex.ll"
     1965case 30:
     1966YY_RULE_SETUP
     1967#line 197 "lex.ll"
    19071968{ KEYWORD_RETURN(COMPLEX); }                    // GCC
    19081969        YY_BREAK
    1909 case 29:
    1910 YY_RULE_SETUP
    1911 #line 196 "lex.ll"
     1970case 31:
     1971YY_RULE_SETUP
     1972#line 198 "lex.ll"
    19121973{ KEYWORD_RETURN(COMPLEX); }                    // GCC
    19131974        YY_BREAK
    1914 case 30:
    1915 YY_RULE_SETUP
    1916 #line 197 "lex.ll"
     1975case 32:
     1976YY_RULE_SETUP
     1977#line 199 "lex.ll"
    19171978{ KEYWORD_RETURN(CONST); }
    19181979        YY_BREAK
    1919 case 31:
    1920 YY_RULE_SETUP
    1921 #line 198 "lex.ll"
     1980case 33:
     1981YY_RULE_SETUP
     1982#line 200 "lex.ll"
    19221983{ KEYWORD_RETURN(CONST); }                              // GCC
    19231984        YY_BREAK
    1924 case 32:
    1925 YY_RULE_SETUP
    1926 #line 199 "lex.ll"
     1985case 34:
     1986YY_RULE_SETUP
     1987#line 201 "lex.ll"
    19271988{ KEYWORD_RETURN(CONST); }                              // GCC
    19281989        YY_BREAK
    1929 case 33:
    1930 YY_RULE_SETUP
    1931 #line 200 "lex.ll"
     1990case 35:
     1991YY_RULE_SETUP
     1992#line 202 "lex.ll"
    19321993{ KEYWORD_RETURN(CONTEXT); }                    // CFA
    19331994        YY_BREAK
    1934 case 34:
    1935 YY_RULE_SETUP
    1936 #line 201 "lex.ll"
     1995case 36:
     1996YY_RULE_SETUP
     1997#line 203 "lex.ll"
    19371998{ KEYWORD_RETURN(CONTINUE); }
    19381999        YY_BREAK
    1939 case 35:
    1940 YY_RULE_SETUP
    1941 #line 202 "lex.ll"
     2000case 37:
     2001YY_RULE_SETUP
     2002#line 204 "lex.ll"
    19422003{ KEYWORD_RETURN(DEFAULT); }
    19432004        YY_BREAK
    1944 case 36:
    1945 YY_RULE_SETUP
    1946 #line 203 "lex.ll"
     2005case 38:
     2006YY_RULE_SETUP
     2007#line 205 "lex.ll"
     2008{ KEYWORD_RETURN(DISABLE); }                    // CFA
     2009        YY_BREAK
     2010case 39:
     2011YY_RULE_SETUP
     2012#line 206 "lex.ll"
    19472013{ KEYWORD_RETURN(DO); }
    19482014        YY_BREAK
    1949 case 37:
    1950 YY_RULE_SETUP
    1951 #line 204 "lex.ll"
     2015case 40:
     2016YY_RULE_SETUP
     2017#line 207 "lex.ll"
    19522018{ KEYWORD_RETURN(DOUBLE); }
    19532019        YY_BREAK
    1954 case 38:
    1955 YY_RULE_SETUP
    1956 #line 205 "lex.ll"
     2020case 41:
     2021YY_RULE_SETUP
     2022#line 208 "lex.ll"
    19572023{ KEYWORD_RETURN(DTYPE); }                              // CFA
    19582024        YY_BREAK
    1959 case 39:
    1960 YY_RULE_SETUP
    1961 #line 206 "lex.ll"
     2025case 42:
     2026YY_RULE_SETUP
     2027#line 209 "lex.ll"
    19622028{ KEYWORD_RETURN(ELSE); }
    19632029        YY_BREAK
    1964 case 40:
    1965 YY_RULE_SETUP
    1966 #line 207 "lex.ll"
     2030case 43:
     2031YY_RULE_SETUP
     2032#line 210 "lex.ll"
     2033{ KEYWORD_RETURN(ENABLE); }                             // CFA
     2034        YY_BREAK
     2035case 44:
     2036YY_RULE_SETUP
     2037#line 211 "lex.ll"
    19672038{ KEYWORD_RETURN(ENUM); }
    19682039        YY_BREAK
    1969 case 41:
    1970 YY_RULE_SETUP
    1971 #line 208 "lex.ll"
     2040case 45:
     2041YY_RULE_SETUP
     2042#line 212 "lex.ll"
    19722043{ KEYWORD_RETURN(EXTENSION); }                  // GCC
    19732044        YY_BREAK
    1974 case 42:
    1975 YY_RULE_SETUP
    1976 #line 209 "lex.ll"
     2045case 46:
     2046YY_RULE_SETUP
     2047#line 213 "lex.ll"
    19772048{ KEYWORD_RETURN(EXTERN); }
    19782049        YY_BREAK
    1979 case 43:
    1980 YY_RULE_SETUP
    1981 #line 210 "lex.ll"
     2050case 47:
     2051YY_RULE_SETUP
     2052#line 214 "lex.ll"
    19822053{ KEYWORD_RETURN(FALLTHRU); }                   // CFA
    19832054        YY_BREAK
    1984 case 44:
    1985 YY_RULE_SETUP
    1986 #line 211 "lex.ll"
     2055case 48:
     2056YY_RULE_SETUP
     2057#line 215 "lex.ll"
    19872058{ KEYWORD_RETURN(FINALLY); }                    // CFA
    19882059        YY_BREAK
    1989 case 45:
    1990 YY_RULE_SETUP
    1991 #line 212 "lex.ll"
     2060case 49:
     2061YY_RULE_SETUP
     2062#line 216 "lex.ll"
    19922063{ KEYWORD_RETURN(FLOAT); }
    19932064        YY_BREAK
    1994 case 46:
    1995 YY_RULE_SETUP
    1996 #line 213 "lex.ll"
     2065case 50:
     2066YY_RULE_SETUP
     2067#line 217 "lex.ll"
    19972068{ KEYWORD_RETURN(FLOAT); }                              // GCC
    19982069        YY_BREAK
    1999 case 47:
    2000 YY_RULE_SETUP
    2001 #line 214 "lex.ll"
     2070case 51:
     2071YY_RULE_SETUP
     2072#line 218 "lex.ll"
    20022073{ KEYWORD_RETURN(FOR); }
    20032074        YY_BREAK
    2004 case 48:
    2005 YY_RULE_SETUP
    2006 #line 215 "lex.ll"
     2075case 52:
     2076YY_RULE_SETUP
     2077#line 219 "lex.ll"
    20072078{ KEYWORD_RETURN(FORALL); }                             // CFA
    20082079        YY_BREAK
    2009 case 49:
    2010 YY_RULE_SETUP
    2011 #line 216 "lex.ll"
     2080case 53:
     2081YY_RULE_SETUP
     2082#line 220 "lex.ll"
    20122083{ KEYWORD_RETURN(FORTRAN); }
    20132084        YY_BREAK
    2014 case 50:
    2015 YY_RULE_SETUP
    2016 #line 217 "lex.ll"
     2085case 54:
     2086YY_RULE_SETUP
     2087#line 221 "lex.ll"
    20172088{ KEYWORD_RETURN(FTYPE); }                              // CFA
    20182089        YY_BREAK
    2019 case 51:
    2020 YY_RULE_SETUP
    2021 #line 218 "lex.ll"
     2090case 55:
     2091YY_RULE_SETUP
     2092#line 222 "lex.ll"
    20222093{ KEYWORD_RETURN(GENERIC); }                    // C11
    20232094        YY_BREAK
    2024 case 52:
    2025 YY_RULE_SETUP
    2026 #line 219 "lex.ll"
     2095case 56:
     2096YY_RULE_SETUP
     2097#line 223 "lex.ll"
    20272098{ KEYWORD_RETURN(GOTO); }
    20282099        YY_BREAK
    2029 case 53:
    2030 YY_RULE_SETUP
    2031 #line 220 "lex.ll"
     2100case 57:
     2101YY_RULE_SETUP
     2102#line 224 "lex.ll"
    20322103{ KEYWORD_RETURN(IF); }
    20332104        YY_BREAK
    2034 case 54:
    2035 YY_RULE_SETUP
    2036 #line 221 "lex.ll"
     2105case 58:
     2106YY_RULE_SETUP
     2107#line 225 "lex.ll"
    20372108{ KEYWORD_RETURN(IMAGINARY); }                  // C99
    20382109        YY_BREAK
    2039 case 55:
    2040 YY_RULE_SETUP
    2041 #line 222 "lex.ll"
     2110case 59:
     2111YY_RULE_SETUP
     2112#line 226 "lex.ll"
    20422113{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
    20432114        YY_BREAK
    2044 case 56:
    2045 YY_RULE_SETUP
    2046 #line 223 "lex.ll"
     2115case 60:
     2116YY_RULE_SETUP
     2117#line 227 "lex.ll"
    20472118{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
    20482119        YY_BREAK
    2049 case 57:
    2050 YY_RULE_SETUP
    2051 #line 224 "lex.ll"
     2120case 61:
     2121YY_RULE_SETUP
     2122#line 228 "lex.ll"
    20522123{ KEYWORD_RETURN(INLINE); }                             // C99
    20532124        YY_BREAK
    2054 case 58:
    2055 YY_RULE_SETUP
    2056 #line 225 "lex.ll"
     2125case 62:
     2126YY_RULE_SETUP
     2127#line 229 "lex.ll"
    20572128{ KEYWORD_RETURN(INLINE); }                             // GCC
    20582129        YY_BREAK
    2059 case 59:
    2060 YY_RULE_SETUP
    2061 #line 226 "lex.ll"
     2130case 63:
     2131YY_RULE_SETUP
     2132#line 230 "lex.ll"
    20622133{ KEYWORD_RETURN(INLINE); }                             // GCC
    20632134        YY_BREAK
    2064 case 60:
    2065 YY_RULE_SETUP
    2066 #line 227 "lex.ll"
     2135case 64:
     2136YY_RULE_SETUP
     2137#line 231 "lex.ll"
    20672138{ KEYWORD_RETURN(INT); }
    20682139        YY_BREAK
    2069 case 61:
    2070 YY_RULE_SETUP
    2071 #line 228 "lex.ll"
     2140case 65:
     2141YY_RULE_SETUP
     2142#line 232 "lex.ll"
    20722143{ KEYWORD_RETURN(INT); }                                // GCC
    20732144        YY_BREAK
    2074 case 62:
    2075 YY_RULE_SETUP
    2076 #line 229 "lex.ll"
     2145case 66:
     2146YY_RULE_SETUP
     2147#line 233 "lex.ll"
    20772148{ KEYWORD_RETURN(LABEL); }                              // GCC
    20782149        YY_BREAK
    2079 case 63:
    2080 YY_RULE_SETUP
    2081 #line 230 "lex.ll"
     2150case 67:
     2151YY_RULE_SETUP
     2152#line 234 "lex.ll"
    20822153{ KEYWORD_RETURN(LONG); }
    20832154        YY_BREAK
    2084 case 64:
    2085 YY_RULE_SETUP
    2086 #line 231 "lex.ll"
     2155case 68:
     2156YY_RULE_SETUP
     2157#line 235 "lex.ll"
    20872158{ KEYWORD_RETURN(LVALUE); }                             // CFA
    20882159        YY_BREAK
    2089 case 65:
    2090 YY_RULE_SETUP
    2091 #line 232 "lex.ll"
     2160case 69:
     2161YY_RULE_SETUP
     2162#line 236 "lex.ll"
    20922163{ KEYWORD_RETURN(NORETURN); }                   // C11
    20932164        YY_BREAK
    2094 case 66:
    2095 YY_RULE_SETUP
    2096 #line 233 "lex.ll"
     2165case 70:
     2166YY_RULE_SETUP
     2167#line 237 "lex.ll"
    20972168{ KEYWORD_RETURN(REGISTER); }
    20982169        YY_BREAK
    2099 case 67:
    2100 YY_RULE_SETUP
    2101 #line 234 "lex.ll"
     2170case 71:
     2171YY_RULE_SETUP
     2172#line 238 "lex.ll"
    21022173{ KEYWORD_RETURN(RESTRICT); }                   // C99
    21032174        YY_BREAK
    2104 case 68:
    2105 YY_RULE_SETUP
    2106 #line 235 "lex.ll"
     2175case 72:
     2176YY_RULE_SETUP
     2177#line 239 "lex.ll"
    21072178{ KEYWORD_RETURN(RESTRICT); }                   // GCC
    21082179        YY_BREAK
    2109 case 69:
    2110 YY_RULE_SETUP
    2111 #line 236 "lex.ll"
     2180case 73:
     2181YY_RULE_SETUP
     2182#line 240 "lex.ll"
    21122183{ KEYWORD_RETURN(RESTRICT); }                   // GCC
    21132184        YY_BREAK
    2114 case 70:
    2115 YY_RULE_SETUP
    2116 #line 237 "lex.ll"
     2185case 74:
     2186YY_RULE_SETUP
     2187#line 241 "lex.ll"
    21172188{ KEYWORD_RETURN(RETURN); }
    21182189        YY_BREAK
    2119 case 71:
    2120 YY_RULE_SETUP
    2121 #line 238 "lex.ll"
     2190case 75:
     2191YY_RULE_SETUP
     2192#line 242 "lex.ll"
    21222193{ KEYWORD_RETURN(SHORT); }
    21232194        YY_BREAK
    2124 case 72:
    2125 YY_RULE_SETUP
    2126 #line 239 "lex.ll"
     2195case 76:
     2196YY_RULE_SETUP
     2197#line 243 "lex.ll"
    21272198{ KEYWORD_RETURN(SIGNED); }
    21282199        YY_BREAK
    2129 case 73:
    2130 YY_RULE_SETUP
    2131 #line 240 "lex.ll"
     2200case 77:
     2201YY_RULE_SETUP
     2202#line 244 "lex.ll"
    21322203{ KEYWORD_RETURN(SIGNED); }                             // GCC
    21332204        YY_BREAK
    2134 case 74:
    2135 YY_RULE_SETUP
    2136 #line 241 "lex.ll"
     2205case 78:
     2206YY_RULE_SETUP
     2207#line 245 "lex.ll"
    21372208{ KEYWORD_RETURN(SIGNED); }                             // GCC
    21382209        YY_BREAK
    2139 case 75:
    2140 YY_RULE_SETUP
    2141 #line 242 "lex.ll"
     2210case 79:
     2211YY_RULE_SETUP
     2212#line 246 "lex.ll"
    21422213{ KEYWORD_RETURN(SIZEOF); }
    21432214        YY_BREAK
    2144 case 76:
    2145 YY_RULE_SETUP
    2146 #line 243 "lex.ll"
     2215case 80:
     2216YY_RULE_SETUP
     2217#line 247 "lex.ll"
    21472218{ KEYWORD_RETURN(STATIC); }
    21482219        YY_BREAK
    2149 case 77:
    2150 YY_RULE_SETUP
    2151 #line 244 "lex.ll"
     2220case 81:
     2221YY_RULE_SETUP
     2222#line 248 "lex.ll"
    21522223{ KEYWORD_RETURN(STATICASSERT); }               // C11
    21532224        YY_BREAK
    2154 case 78:
    2155 YY_RULE_SETUP
    2156 #line 245 "lex.ll"
     2225case 82:
     2226YY_RULE_SETUP
     2227#line 249 "lex.ll"
    21572228{ KEYWORD_RETURN(STRUCT); }
    21582229        YY_BREAK
    2159 case 79:
    2160 YY_RULE_SETUP
    2161 #line 246 "lex.ll"
     2230case 83:
     2231YY_RULE_SETUP
     2232#line 250 "lex.ll"
    21622233{ KEYWORD_RETURN(SWITCH); }
    21632234        YY_BREAK
    2164 case 80:
    2165 YY_RULE_SETUP
    2166 #line 247 "lex.ll"
     2235case 84:
     2236YY_RULE_SETUP
     2237#line 251 "lex.ll"
    21672238{ KEYWORD_RETURN(THREADLOCAL); }                // C11
    21682239        YY_BREAK
    2169 case 81:
    2170 YY_RULE_SETUP
    2171 #line 248 "lex.ll"
     2240case 85:
     2241YY_RULE_SETUP
     2242#line 252 "lex.ll"
    21722243{ KEYWORD_RETURN(THROW); }                              // CFA
    21732244        YY_BREAK
    2174 case 82:
    2175 YY_RULE_SETUP
    2176 #line 249 "lex.ll"
     2245case 86:
     2246YY_RULE_SETUP
     2247#line 253 "lex.ll"
     2248{ KEYWORD_RETURN(THROWRESUME); }                // CFA
     2249        YY_BREAK
     2250case 87:
     2251YY_RULE_SETUP
     2252#line 254 "lex.ll"
    21772253{ KEYWORD_RETURN(TRY); }                                // CFA
    21782254        YY_BREAK
    2179 case 83:
    2180 YY_RULE_SETUP
    2181 #line 250 "lex.ll"
     2255case 88:
     2256YY_RULE_SETUP
     2257#line 255 "lex.ll"
    21822258{ KEYWORD_RETURN(TYPE); }                               // CFA
    21832259        YY_BREAK
    2184 case 84:
    2185 YY_RULE_SETUP
    2186 #line 251 "lex.ll"
     2260case 89:
     2261YY_RULE_SETUP
     2262#line 256 "lex.ll"
    21872263{ KEYWORD_RETURN(TYPEDEF); }
    21882264        YY_BREAK
    2189 case 85:
    2190 YY_RULE_SETUP
    2191 #line 252 "lex.ll"
     2265case 90:
     2266YY_RULE_SETUP
     2267#line 257 "lex.ll"
    21922268{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    21932269        YY_BREAK
    2194 case 86:
    2195 YY_RULE_SETUP
    2196 #line 253 "lex.ll"
     2270case 91:
     2271YY_RULE_SETUP
     2272#line 258 "lex.ll"
    21972273{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    21982274        YY_BREAK
    2199 case 87:
    2200 YY_RULE_SETUP
    2201 #line 254 "lex.ll"
     2275case 92:
     2276YY_RULE_SETUP
     2277#line 259 "lex.ll"
    22022278{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    22032279        YY_BREAK
    2204 case 88:
    2205 YY_RULE_SETUP
    2206 #line 255 "lex.ll"
     2280case 93:
     2281YY_RULE_SETUP
     2282#line 260 "lex.ll"
    22072283{ KEYWORD_RETURN(UNION); }
    22082284        YY_BREAK
    2209 case 89:
    2210 YY_RULE_SETUP
    2211 #line 256 "lex.ll"
     2285case 94:
     2286YY_RULE_SETUP
     2287#line 261 "lex.ll"
    22122288{ KEYWORD_RETURN(UNSIGNED); }
    22132289        YY_BREAK
    2214 case 90:
    2215 YY_RULE_SETUP
    2216 #line 257 "lex.ll"
     2290case 95:
     2291YY_RULE_SETUP
     2292#line 262 "lex.ll"
    22172293{ KEYWORD_RETURN(VOID); }
    22182294        YY_BREAK
    2219 case 91:
    2220 YY_RULE_SETUP
    2221 #line 258 "lex.ll"
     2295case 96:
     2296YY_RULE_SETUP
     2297#line 263 "lex.ll"
    22222298{ KEYWORD_RETURN(VOLATILE); }
    22232299        YY_BREAK
    2224 case 92:
    2225 YY_RULE_SETUP
    2226 #line 259 "lex.ll"
     2300case 97:
     2301YY_RULE_SETUP
     2302#line 264 "lex.ll"
    22272303{ KEYWORD_RETURN(VOLATILE); }                   // GCC
    22282304        YY_BREAK
    2229 case 93:
    2230 YY_RULE_SETUP
    2231 #line 260 "lex.ll"
     2305case 98:
     2306YY_RULE_SETUP
     2307#line 265 "lex.ll"
    22322308{ KEYWORD_RETURN(VOLATILE); }                   // GCC
    22332309        YY_BREAK
    2234 case 94:
    2235 YY_RULE_SETUP
    2236 #line 261 "lex.ll"
     2310case 99:
     2311YY_RULE_SETUP
     2312#line 266 "lex.ll"
    22372313{ KEYWORD_RETURN(WHILE); }
    22382314        YY_BREAK
    22392315/* identifier */
    2240 case 95:
    2241 YY_RULE_SETUP
    2242 #line 264 "lex.ll"
     2316case 100:
     2317YY_RULE_SETUP
     2318#line 269 "lex.ll"
    22432319{ IDENTIFIER_RETURN(); }
    22442320        YY_BREAK
    2245 case 96:
    2246 YY_RULE_SETUP
    2247 #line 265 "lex.ll"
     2321case 101:
     2322YY_RULE_SETUP
     2323#line 270 "lex.ll"
    22482324{ ATTRIBUTE_RETURN(); }
    22492325        YY_BREAK
    2250 case 97:
    2251 YY_RULE_SETUP
    2252 #line 266 "lex.ll"
     2326case 102:
     2327YY_RULE_SETUP
     2328#line 271 "lex.ll"
    22532329{ BEGIN BKQUOTE; }
    22542330        YY_BREAK
    2255 case 98:
    2256 YY_RULE_SETUP
    2257 #line 267 "lex.ll"
     2331case 103:
     2332YY_RULE_SETUP
     2333#line 272 "lex.ll"
    22582334{ IDENTIFIER_RETURN(); }
    22592335        YY_BREAK
    2260 case 99:
    2261 YY_RULE_SETUP
    2262 #line 268 "lex.ll"
     2336case 104:
     2337YY_RULE_SETUP
     2338#line 273 "lex.ll"
    22632339{ BEGIN 0; }
    22642340        YY_BREAK
    22652341/* numeric constants */
    2266 case 100:
    2267 YY_RULE_SETUP
    2268 #line 271 "lex.ll"
     2342case 105:
     2343YY_RULE_SETUP
     2344#line 276 "lex.ll"
    22692345{ NUMERIC_RETURN(ZERO); }                               // CFA
    22702346        YY_BREAK
    2271 case 101:
    2272 YY_RULE_SETUP
    2273 #line 272 "lex.ll"
     2347case 106:
     2348YY_RULE_SETUP
     2349#line 277 "lex.ll"
    22742350{ NUMERIC_RETURN(ONE); }                                // CFA
    22752351        YY_BREAK
    2276 case 102:
    2277 YY_RULE_SETUP
    2278 #line 273 "lex.ll"
     2352case 107:
     2353YY_RULE_SETUP
     2354#line 278 "lex.ll"
    22792355{ NUMERIC_RETURN(INTEGERconstant); }
    22802356        YY_BREAK
    2281 case 103:
    2282 YY_RULE_SETUP
    2283 #line 274 "lex.ll"
     2357case 108:
     2358YY_RULE_SETUP
     2359#line 279 "lex.ll"
    22842360{ NUMERIC_RETURN(INTEGERconstant); }
    22852361        YY_BREAK
    2286 case 104:
    2287 YY_RULE_SETUP
    2288 #line 275 "lex.ll"
     2362case 109:
     2363YY_RULE_SETUP
     2364#line 280 "lex.ll"
    22892365{ NUMERIC_RETURN(INTEGERconstant); }
    22902366        YY_BREAK
    2291 case 105:
    2292 YY_RULE_SETUP
    2293 #line 276 "lex.ll"
     2367case 110:
     2368YY_RULE_SETUP
     2369#line 281 "lex.ll"
    22942370{ NUMERIC_RETURN(FLOATINGconstant); }
    22952371        YY_BREAK
    2296 case 106:
    2297 YY_RULE_SETUP
    2298 #line 277 "lex.ll"
     2372case 111:
     2373YY_RULE_SETUP
     2374#line 282 "lex.ll"
    22992375{ NUMERIC_RETURN(FLOATINGconstant); }
    23002376        YY_BREAK
    23012377/* character constant, allows empty value */
    2302 case 107:
    2303 YY_RULE_SETUP
    2304 #line 280 "lex.ll"
     2378case 112:
     2379YY_RULE_SETUP
     2380#line 285 "lex.ll"
    23052381{ BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    23062382        YY_BREAK
    2307 case 108:
    2308 YY_RULE_SETUP
    2309 #line 281 "lex.ll"
     2383case 113:
     2384YY_RULE_SETUP
     2385#line 286 "lex.ll"
    23102386{ *strtext += std::string( yytext ); }
    23112387        YY_BREAK
    2312 case 109:
    2313 /* rule 109 can match eol */
    2314 YY_RULE_SETUP
    2315 #line 282 "lex.ll"
     2388case 114:
     2389/* rule 114 can match eol */
     2390YY_RULE_SETUP
     2391#line 287 "lex.ll"
    23162392{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); }
    23172393        YY_BREAK
    23182394/* ' stop highlighting */
    23192395/* string constant */
    2320 case 110:
    2321 YY_RULE_SETUP
    2322 #line 286 "lex.ll"
     2396case 115:
     2397YY_RULE_SETUP
     2398#line 291 "lex.ll"
    23232399{ BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
    23242400        YY_BREAK
    2325 case 111:
    2326 YY_RULE_SETUP
    2327 #line 287 "lex.ll"
     2401case 116:
     2402YY_RULE_SETUP
     2403#line 292 "lex.ll"
    23282404{ *strtext += std::string( yytext ); }
    23292405        YY_BREAK
    2330 case 112:
    2331 /* rule 112 can match eol */
    2332 YY_RULE_SETUP
    2333 #line 288 "lex.ll"
     2406case 117:
     2407/* rule 117 can match eol */
     2408YY_RULE_SETUP
     2409#line 293 "lex.ll"
    23342410{ BEGIN 0; *strtext += std::string( yytext ); RETURN_STR(STRINGliteral); }
    23352411        YY_BREAK
    23362412/* " stop highlighting */
    23372413/* common character/string constant */
    2338 case 113:
    2339 YY_RULE_SETUP
    2340 #line 292 "lex.ll"
     2414case 118:
     2415YY_RULE_SETUP
     2416#line 297 "lex.ll"
    23412417{ rm_underscore(); *strtext += std::string( yytext ); }
    23422418        YY_BREAK
    2343 case 114:
    2344 /* rule 114 can match eol */
    2345 YY_RULE_SETUP
    2346 #line 293 "lex.ll"
     2419case 119:
     2420/* rule 119 can match eol */
     2421YY_RULE_SETUP
     2422#line 298 "lex.ll"
    23472423{}                                              // continuation (ALSO HANDLED BY CPP)
    23482424        YY_BREAK
    2349 case 115:
    2350 YY_RULE_SETUP
    2351 #line 294 "lex.ll"
     2425case 120:
     2426YY_RULE_SETUP
     2427#line 299 "lex.ll"
    23522428{ *strtext += std::string( yytext ); } // unknown escape character
    23532429        YY_BREAK
    23542430/* punctuation */
    2355 case 116:
    2356 YY_RULE_SETUP
    2357 #line 297 "lex.ll"
    2358 { ASCIIOP_RETURN(); }
    2359         YY_BREAK
    2360 case 117:
    2361 YY_RULE_SETUP
    2362 #line 298 "lex.ll"
    2363 { ASCIIOP_RETURN(); }
    2364         YY_BREAK
    2365 case 118:
    2366 YY_RULE_SETUP
    2367 #line 299 "lex.ll"
    2368 { ASCIIOP_RETURN(); }
    2369         YY_BREAK
    2370 case 119:
    2371 YY_RULE_SETUP
    2372 #line 300 "lex.ll"
    2373 { ASCIIOP_RETURN(); }
    2374         YY_BREAK
    2375 case 120:
    2376 YY_RULE_SETUP
    2377 #line 301 "lex.ll"
    2378 { ASCIIOP_RETURN(); }
    2379         YY_BREAK
    23802431case 121:
    23812432YY_RULE_SETUP
     
    23862437YY_RULE_SETUP
    23872438#line 303 "lex.ll"
    2388 { ASCIIOP_RETURN(); }                                   // also operator
     2439{ ASCIIOP_RETURN(); }
    23892440        YY_BREAK
    23902441case 123:
     
    24012452YY_RULE_SETUP
    24022453#line 306 "lex.ll"
     2454{ ASCIIOP_RETURN(); }
     2455        YY_BREAK
     2456case 126:
     2457YY_RULE_SETUP
     2458#line 307 "lex.ll"
     2459{ ASCIIOP_RETURN(); }
     2460        YY_BREAK
     2461case 127:
     2462YY_RULE_SETUP
     2463#line 308 "lex.ll"
    24032464{ ASCIIOP_RETURN(); }                                   // also operator
    24042465        YY_BREAK
    2405 case 126:
    2406 YY_RULE_SETUP
    2407 #line 307 "lex.ll"
     2466case 128:
     2467YY_RULE_SETUP
     2468#line 309 "lex.ll"
     2469{ ASCIIOP_RETURN(); }
     2470        YY_BREAK
     2471case 129:
     2472YY_RULE_SETUP
     2473#line 310 "lex.ll"
     2474{ ASCIIOP_RETURN(); }
     2475        YY_BREAK
     2476case 130:
     2477YY_RULE_SETUP
     2478#line 311 "lex.ll"
     2479{ ASCIIOP_RETURN(); }                                   // also operator
     2480        YY_BREAK
     2481case 131:
     2482YY_RULE_SETUP
     2483#line 312 "lex.ll"
    24082484{ NAMEDOP_RETURN(ELLIPSIS); }
    24092485        YY_BREAK
    24102486/* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
    2411 case 127:
    2412 YY_RULE_SETUP
    2413 #line 310 "lex.ll"
     2487case 132:
     2488YY_RULE_SETUP
     2489#line 315 "lex.ll"
    24142490{ RETURN_VAL('['); }
    24152491        YY_BREAK
    2416 case 128:
    2417 YY_RULE_SETUP
    2418 #line 311 "lex.ll"
     2492case 133:
     2493YY_RULE_SETUP
     2494#line 316 "lex.ll"
    24192495{ RETURN_VAL(']'); }
    24202496        YY_BREAK
    2421 case 129:
    2422 YY_RULE_SETUP
    2423 #line 312 "lex.ll"
     2497case 134:
     2498YY_RULE_SETUP
     2499#line 317 "lex.ll"
    24242500{ RETURN_VAL('{'); }
    24252501        YY_BREAK
    2426 case 130:
    2427 YY_RULE_SETUP
    2428 #line 313 "lex.ll"
     2502case 135:
     2503YY_RULE_SETUP
     2504#line 318 "lex.ll"
    24292505{ RETURN_VAL('}'); }
    24302506        YY_BREAK
    24312507/* 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
    24572508case 136:
    24582509YY_RULE_SETUP
     
    25022553case 145:
    25032554YY_RULE_SETUP
     2555#line 330 "lex.ll"
     2556{ ASCIIOP_RETURN(); }
     2557        YY_BREAK
     2558case 146:
     2559YY_RULE_SETUP
    25042560#line 331 "lex.ll"
     2561{ ASCIIOP_RETURN(); }
     2562        YY_BREAK
     2563case 147:
     2564YY_RULE_SETUP
     2565#line 332 "lex.ll"
     2566{ ASCIIOP_RETURN(); }
     2567        YY_BREAK
     2568case 148:
     2569YY_RULE_SETUP
     2570#line 333 "lex.ll"
     2571{ ASCIIOP_RETURN(); }
     2572        YY_BREAK
     2573case 149:
     2574YY_RULE_SETUP
     2575#line 334 "lex.ll"
     2576{ ASCIIOP_RETURN(); }
     2577        YY_BREAK
     2578case 150:
     2579YY_RULE_SETUP
     2580#line 336 "lex.ll"
    25052581{ NAMEDOP_RETURN(ICR); }
    25062582        YY_BREAK
    2507 case 146:
    2508 YY_RULE_SETUP
    2509 #line 332 "lex.ll"
     2583case 151:
     2584YY_RULE_SETUP
     2585#line 337 "lex.ll"
    25102586{ NAMEDOP_RETURN(DECR); }
    25112587        YY_BREAK
    2512 case 147:
    2513 YY_RULE_SETUP
    2514 #line 333 "lex.ll"
     2588case 152:
     2589YY_RULE_SETUP
     2590#line 338 "lex.ll"
    25152591{ NAMEDOP_RETURN(EQ); }
    25162592        YY_BREAK
    2517 case 148:
    2518 YY_RULE_SETUP
    2519 #line 334 "lex.ll"
     2593case 153:
     2594YY_RULE_SETUP
     2595#line 339 "lex.ll"
    25202596{ NAMEDOP_RETURN(NE); }
    25212597        YY_BREAK
    2522 case 149:
    2523 YY_RULE_SETUP
    2524 #line 335 "lex.ll"
     2598case 154:
     2599YY_RULE_SETUP
     2600#line 340 "lex.ll"
    25252601{ NAMEDOP_RETURN(LS); }
    25262602        YY_BREAK
    2527 case 150:
    2528 YY_RULE_SETUP
    2529 #line 336 "lex.ll"
     2603case 155:
     2604YY_RULE_SETUP
     2605#line 341 "lex.ll"
    25302606{ NAMEDOP_RETURN(RS); }
    25312607        YY_BREAK
    2532 case 151:
    2533 YY_RULE_SETUP
    2534 #line 337 "lex.ll"
     2608case 156:
     2609YY_RULE_SETUP
     2610#line 342 "lex.ll"
    25352611{ NAMEDOP_RETURN(LE); }
    25362612        YY_BREAK
    2537 case 152:
    2538 YY_RULE_SETUP
    2539 #line 338 "lex.ll"
     2613case 157:
     2614YY_RULE_SETUP
     2615#line 343 "lex.ll"
    25402616{ NAMEDOP_RETURN(GE); }
    25412617        YY_BREAK
    2542 case 153:
    2543 YY_RULE_SETUP
    2544 #line 339 "lex.ll"
     2618case 158:
     2619YY_RULE_SETUP
     2620#line 344 "lex.ll"
    25452621{ NAMEDOP_RETURN(ANDAND); }
    25462622        YY_BREAK
    2547 case 154:
    2548 YY_RULE_SETUP
    2549 #line 340 "lex.ll"
     2623case 159:
     2624YY_RULE_SETUP
     2625#line 345 "lex.ll"
    25502626{ NAMEDOP_RETURN(OROR); }
    25512627        YY_BREAK
    2552 case 155:
    2553 YY_RULE_SETUP
    2554 #line 341 "lex.ll"
     2628case 160:
     2629YY_RULE_SETUP
     2630#line 346 "lex.ll"
    25552631{ NAMEDOP_RETURN(ARROW); }
    25562632        YY_BREAK
    2557 case 156:
    2558 YY_RULE_SETUP
    2559 #line 342 "lex.ll"
     2633case 161:
     2634YY_RULE_SETUP
     2635#line 347 "lex.ll"
    25602636{ NAMEDOP_RETURN(PLUSassign); }
    25612637        YY_BREAK
    2562 case 157:
    2563 YY_RULE_SETUP
    2564 #line 343 "lex.ll"
     2638case 162:
     2639YY_RULE_SETUP
     2640#line 348 "lex.ll"
    25652641{ NAMEDOP_RETURN(MINUSassign); }
    25662642        YY_BREAK
    2567 case 158:
    2568 YY_RULE_SETUP
    2569 #line 344 "lex.ll"
     2643case 163:
     2644YY_RULE_SETUP
     2645#line 349 "lex.ll"
    25702646{ NAMEDOP_RETURN(MULTassign); }
    25712647        YY_BREAK
    2572 case 159:
    2573 YY_RULE_SETUP
    2574 #line 345 "lex.ll"
     2648case 164:
     2649YY_RULE_SETUP
     2650#line 350 "lex.ll"
    25752651{ NAMEDOP_RETURN(DIVassign); }
    25762652        YY_BREAK
    2577 case 160:
    2578 YY_RULE_SETUP
    2579 #line 346 "lex.ll"
     2653case 165:
     2654YY_RULE_SETUP
     2655#line 351 "lex.ll"
    25802656{ NAMEDOP_RETURN(MODassign); }
    25812657        YY_BREAK
    2582 case 161:
    2583 YY_RULE_SETUP
    2584 #line 347 "lex.ll"
     2658case 166:
     2659YY_RULE_SETUP
     2660#line 352 "lex.ll"
    25852661{ NAMEDOP_RETURN(ANDassign); }
    25862662        YY_BREAK
    2587 case 162:
    2588 YY_RULE_SETUP
    2589 #line 348 "lex.ll"
     2663case 167:
     2664YY_RULE_SETUP
     2665#line 353 "lex.ll"
    25902666{ NAMEDOP_RETURN(ORassign); }
    25912667        YY_BREAK
    2592 case 163:
    2593 YY_RULE_SETUP
    2594 #line 349 "lex.ll"
     2668case 168:
     2669YY_RULE_SETUP
     2670#line 354 "lex.ll"
    25952671{ NAMEDOP_RETURN(ERassign); }
    25962672        YY_BREAK
    2597 case 164:
    2598 YY_RULE_SETUP
    2599 #line 350 "lex.ll"
     2673case 169:
     2674YY_RULE_SETUP
     2675#line 355 "lex.ll"
    26002676{ NAMEDOP_RETURN(LSassign); }
    26012677        YY_BREAK
    2602 case 165:
    2603 YY_RULE_SETUP
    2604 #line 351 "lex.ll"
     2678case 170:
     2679YY_RULE_SETUP
     2680#line 356 "lex.ll"
    26052681{ NAMEDOP_RETURN(RSassign); }
    26062682        YY_BREAK
     2683case 171:
     2684YY_RULE_SETUP
     2685#line 358 "lex.ll"
     2686{ NAMEDOP_RETURN(ATassign); }
     2687        YY_BREAK
    26072688/* CFA, operator identifier */
    2608 case 166:
    2609 YY_RULE_SETUP
    2610 #line 354 "lex.ll"
     2689case 172:
     2690YY_RULE_SETUP
     2691#line 361 "lex.ll"
    26112692{ IDENTIFIER_RETURN(); }                                // unary
    26122693        YY_BREAK
    2613 case 167:
    2614 YY_RULE_SETUP
    2615 #line 355 "lex.ll"
     2694case 173:
     2695YY_RULE_SETUP
     2696#line 362 "lex.ll"
    26162697{ IDENTIFIER_RETURN(); }
    26172698        YY_BREAK
    2618 case 168:
    2619 YY_RULE_SETUP
    2620 #line 356 "lex.ll"
     2699case 174:
     2700YY_RULE_SETUP
     2701#line 363 "lex.ll"
     2702{ IDENTIFIER_RETURN(); }
     2703        YY_BREAK
     2704case 175:
     2705YY_RULE_SETUP
     2706#line 364 "lex.ll"
    26212707{ IDENTIFIER_RETURN(); }                // binary
    26222708        YY_BREAK
     
    26472733          an argument list.
    26482734        */
    2649 case 169:
    2650 YY_RULE_SETUP
    2651 #line 383 "lex.ll"
     2735case 176:
     2736YY_RULE_SETUP
     2737#line 391 "lex.ll"
    26522738{
    26532739        // 1 or 2 character unary operator ?
     
    26622748        YY_BREAK
    26632749/* unknown characters */
    2664 case 170:
    2665 YY_RULE_SETUP
    2666 #line 395 "lex.ll"
     2750case 177:
     2751YY_RULE_SETUP
     2752#line 403 "lex.ll"
    26672753{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
    26682754        YY_BREAK
    2669 case 171:
    2670 YY_RULE_SETUP
    2671 #line 397 "lex.ll"
     2755case 178:
     2756YY_RULE_SETUP
     2757#line 405 "lex.ll"
    26722758ECHO;
    26732759        YY_BREAK
    2674 #line 2675 "Parser/lex.cc"
     2760#line 2761 "Parser/lex.cc"
    26752761case YY_STATE_EOF(INITIAL):
    26762762case YY_STATE_EOF(COMMENT):
     
    29693055                        {
    29703056                        yy_current_state = (int) yy_def[yy_current_state];
    2971                         if ( yy_current_state >= 826 )
     3057                        if ( yy_current_state >= 852 )
    29723058                                yy_c = yy_meta[(unsigned int) yy_c];
    29733059                        }
     
    29973083                {
    29983084                yy_current_state = (int) yy_def[yy_current_state];
    2999                 if ( yy_current_state >= 826 )
     3085                if ( yy_current_state >= 852 )
    30003086                        yy_c = yy_meta[(unsigned int) yy_c];
    30013087                }
    30023088        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    3003         yy_is_jam = (yy_current_state == 825);
     3089        yy_is_jam = (yy_current_state == 851);
    30043090
    30053091        return yy_is_jam ? 0 : yy_current_state;
     
    36473733#define YYTABLES_NAME "yytables"
    36483734
    3649 #line 397 "lex.ll"
     3735#line 405 "lex.ll"
    36503736
    36513737
Note: See TracChangeset for help on using the changeset viewer.