Changeset 296 for trunk

Show
Ignore:
Timestamp:
12/13/2007 02:05:06 (11 months ago)
Author:
indeyets
Message:

regenerated grammar using re2c 0.13.1 with optimizations (-b)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/lib/implicit.c

    r287 r296  
    1 /* Generated by re2c 0.12.3 on Wed Oct 24 23:08:46 2007 */ 
     1/* Generated by re2c 0.13.1 on Thu Dec 13 10:41:51 2007 */ 
    22#line 1 "implicit.re" 
    33/* 
     
    5252 
    5353 
    54 #line 55 "<stdout>" 
     54#line 55 "implicit.c" 
    5555{ 
    5656        YYCTYPE yych; 
     57        static const unsigned char yybm[] = { 
     58                  0,   0,   0,   0,   0,   0,   0,   0,  
     59                  0,   8,   0,   0,   0,   0,   0,   0,  
     60                  0,   0,   0,   0,   0,   0,   0,   0,  
     61                  0,   0,   0,   0,   0,   0,   0,   0,  
     62                  8,   0,   0,   0,   0,   0,   0,   0,  
     63                  0,   0,   0,   0, 193,   0,   4,   0,  
     64                215, 231, 231, 231, 231, 231, 231, 231,  
     65                167, 167,   0,   0,   0,   0,   0,   0,  
     66                  0, 128, 128, 128, 128, 128, 128,   0,  
     67                  0,   0,   0,   0,   0,   0,   0,   0,  
     68                  0,   0,   0,   0,   0,   0,   0,   0,  
     69                  0,   0,   0,   0,   0,   0,   0,   0,  
     70                  0, 128, 128, 128, 128, 128, 128,   0,  
     71                  0,   0,   0,   0,   0,   0,   0,   0,  
     72                  0,   0,   0,   0,   0,   0,   0,   0,  
     73                  0,   0,   0,   0,   0,   0,   0,   0,  
     74                  0,   0,   0,   0,   0,   0,   0,   0,  
     75                  0,   0,   0,   0,   0,   0,   0,   0,  
     76                  0,   0,   0,   0,   0,   0,   0,   0,  
     77                  0,   0,   0,   0,   0,   0,   0,   0,  
     78                  0,   0,   0,   0,   0,   0,   0,   0,  
     79                  0,   0,   0,   0,   0,   0,   0,   0,  
     80                  0,   0,   0,   0,   0,   0,   0,   0,  
     81                  0,   0,   0,   0,   0,   0,   0,   0,  
     82                  0,   0,   0,   0,   0,   0,   0,   0,  
     83                  0,   0,   0,   0,   0,   0,   0,   0,  
     84                  0,   0,   0,   0,   0,   0,   0,   0,  
     85                  0,   0,   0,   0,   0,   0,   0,   0,  
     86                  0,   0,   0,   0,   0,   0,   0,   0,  
     87                  0,   0,   0,   0,   0,   0,   0,   0,  
     88                  0,   0,   0,   0,   0,   0,   0,   0,  
     89                  0,   0,   0,   0,   0,   0,   0,   0,  
     90        }; 
    5791 
    5892        if((YYLIMIT - YYCURSOR) < 26) YYFILL(26); 
    5993        yych = *YYCURSOR; 
    60         switch(yych) { 
    61         case 0x00:      goto yy6; 
    62         case '+':       goto yy16; 
    63         case '-':       goto yy17; 
    64         case '.':       goto yy20; 
    65         case '0':       goto yy18; 
    66         case '1': 
    67         case '2': 
    68         case '3': 
    69         case '4': 
    70         case '5': 
    71         case '6': 
    72         case '7': 
    73         case '8': 
    74         case '9':       goto yy19; 
    75         case '<':       goto yy22; 
    76         case '=':       goto yy21; 
    77         case 'F':       goto yy15; 
    78         case 'N':       goto yy5; 
    79         case 'O':       goto yy13; 
    80         case 'T':       goto yy11; 
    81         case 'Y':       goto yy9; 
    82         case 'f':       goto yy14; 
    83         case 'n':       goto yy4; 
    84         case 'o':       goto yy12; 
    85         case 't':       goto yy10; 
    86         case 'y':       goto yy8; 
    87         case '~':       goto yy2; 
    88         default:        goto yy23; 
    89         } 
    90 yy2: 
     94        if(yych <= 'N') { 
     95                if(yych <= '0') { 
     96                        if(yych <= ',') { 
     97                                if(yych <= 0x00) goto yy6; 
     98                                if(yych == '+') goto yy16; 
     99                                goto yy23; 
     100                        } else { 
     101                                if(yych <= '-') goto yy17; 
     102                                if(yych <= '.') goto yy20; 
     103                                if(yych <= '/') goto yy23; 
     104                                goto yy18; 
     105                        } 
     106                } else { 
     107                        if(yych <= '=') { 
     108                                if(yych <= '9') goto yy19; 
     109                                if(yych <= ';') goto yy23; 
     110                                if(yych <= '<') goto yy22; 
     111                                goto yy21; 
     112                        } else { 
     113                                if(yych == 'F') goto yy15; 
     114                                if(yych <= 'M') goto yy23; 
     115                                goto yy5; 
     116                        } 
     117                } 
     118        } else { 
     119                if(yych <= 'm') { 
     120                        if(yych <= 'X') { 
     121                                if(yych <= 'O') goto yy13; 
     122                                if(yych == 'T') goto yy11; 
     123                                goto yy23; 
     124                        } else { 
     125                                if(yych <= 'Y') goto yy9; 
     126                                if(yych == 'f') goto yy14; 
     127                                goto yy23; 
     128                        } 
     129                } else { 
     130                        if(yych <= 't') { 
     131                                if(yych <= 'n') goto yy4; 
     132                                if(yych <= 'o') goto yy12; 
     133                                if(yych <= 's') goto yy23; 
     134                                goto yy10; 
     135                        } else { 
     136                                if(yych <= 'y') { 
     137                                        if(yych <= 'x') goto yy23; 
     138                                        goto yy8; 
     139                                } else { 
     140                                        if(yych != '~') goto yy23; 
     141                                } 
     142                        } 
     143                } 
     144        } 
    91145        ++YYCURSOR; 
    92146        if((yych = *YYCURSOR) <= 0x00) goto yy6; 
     
    94148#line 123 "implicit.re" 
    95149        {   return "str"; } 
    96 #line 97 "<stdout>" 
     150#line 151 "implicit.c" 
    97151yy4: 
    98152        yych = *(YYMARKER = ++YYCURSOR); 
    99         switch(yych) { 
    100         case 'o':       goto yy172; 
    101         case 'u':       goto yy200; 
    102         default:        goto yy3; 
    103         } 
     153        if(yych == 'o') goto yy172; 
     154        if(yych == 'u') goto yy200; 
     155        goto yy3; 
    104156yy5: 
    105157        yych = *(YYMARKER = ++YYCURSOR); 
    106         switch(yych) { 
    107         case 'O': 
    108         case 'o':       goto yy172; 
    109         case 'U':       goto yy195; 
    110         case 'u':       goto yy196; 
    111         default:        goto yy3; 
     158        if(yych <= 'U') { 
     159                if(yych == 'O') goto yy172; 
     160                if(yych <= 'T') goto yy3; 
     161                goto yy195; 
     162        } else { 
     163                if(yych <= 'o') { 
     164                        if(yych <= 'n') goto yy3; 
     165                        goto yy172; 
     166                } else { 
     167                        if(yych == 'u') goto yy196; 
     168                        goto yy3; 
     169                } 
    112170        } 
    113171yy6: 
     
    115173#line 85 "implicit.re" 
    116174        {   return "null"; } 
    117 #line 118 "<stdout>" 
     175#line 176 "implicit.c" 
    118176yy8: 
    119177        yych = *(YYMARKER = ++YYCURSOR); 
    120         switch(yych) { 
    121         case 'e':       goto yy194; 
    122         default:        goto yy3; 
    123         } 
     178        if(yych == 'e') goto yy194; 
     179        goto yy3; 
    124180yy9: 
    125181        yych = *(YYMARKER = ++YYCURSOR); 
    126         switch(yych) { 
    127         case 'E':       goto yy192; 
    128         case 'e':       goto yy193; 
    129         default:        goto yy3; 
    130         } 
     182        if(yych == 'E') goto yy192; 
     183        if(yych == 'e') goto yy193; 
     184        goto yy3; 
    131185yy10: 
    132186        yych = *(YYMARKER = ++YYCURSOR); 
    133         switch(yych) { 
    134         case 'r':       goto yy190; 
    135         default:        goto yy3; 
    136         } 
     187        if(yych == 'r') goto yy190; 
     188        goto yy3; 
    137189yy11: 
    138190        yych = *(YYMARKER = ++YYCURSOR); 
    139         switch(yych) { 
    140         case 'R':       goto yy186; 
    141         case 'r':       goto yy187; 
    142         default:        goto yy3; 
    143         } 
     191        if(yych == 'R') goto yy186; 
     192        if(yych == 'r') goto yy187; 
     193        goto yy3; 
    144194yy12: 
    145195        yych = *(YYMARKER = ++YYCURSOR); 
    146         switch(yych) { 
    147         case 'f':       goto yy185; 
    148         case 'n':       goto yy182; 
    149         default:        goto yy3; 
    150         } 
     196        if(yych == 'f') goto yy185; 
     197        if(yych == 'n') goto yy182; 
     198        goto yy3; 
    151199yy13: 
    152200        yych = *(YYMARKER = ++YYCURSOR); 
    153         switch(yych) { 
    154         case 'F':       goto yy180; 
    155         case 'N': 
    156         case 'n':       goto yy182; 
    157         case 'f':       goto yy181; 
    158         default:        goto yy3; 
     201        if(yych <= 'N') { 
     202                if(yych == 'F') goto yy180; 
     203                if(yych <= 'M') goto yy3; 
     204                goto yy182; 
     205        } else { 
     206                if(yych <= 'f') { 
     207                        if(yych <= 'e') goto yy3; 
     208                        goto yy181; 
     209                } else { 
     210                        if(yych == 'n') goto yy182; 
     211                        goto yy3; 
     212                } 
    159213        } 
    160214yy14: 
    161215        yych = *(YYMARKER = ++YYCURSOR); 
    162         switch(yych) { 
    163         case 'a':       goto yy177; 
    164         default:        goto yy3; 
    165         } 
     216        if(yych == 'a') goto yy177; 
     217        goto yy3; 
    166218yy15: 
    167219        yych = *(YYMARKER = ++YYCURSOR); 
    168         switch(yych) { 
    169         case 'A':       goto yy168; 
    170         case 'a':       goto yy169; 
    171         default:        goto yy3; 
    172         } 
     220        if(yych == 'A') goto yy168; 
     221        if(yych == 'a') goto yy169; 
     222        goto yy3; 
    173223yy16: 
    174224        yych = *(YYMARKER = ++YYCURSOR); 
    175         switch(yych) { 
    176         case '.':       goto yy167; 
    177         case '0':       goto yy158; 
    178         case '1': 
    179         case '2': 
    180         case '3': 
    181         case '4': 
    182         case '5': 
    183         case '6': 
    184         case '7': 
    185         case '8': 
    186         case '9':       goto yy47; 
    187         default:        goto yy3; 
     225        if(yych <= '/') { 
     226                if(yych == '.') goto yy167; 
     227                goto yy3; 
     228        } else { 
     229                if(yych <= '0') goto yy158; 
     230                if(yych <= '9') goto yy47; 
     231                goto yy3; 
    188232        } 
    189233yy17: 
    190234        yych = *(YYMARKER = ++YYCURSOR); 
    191         switch(yych) { 
    192         case '.':       goto yy157; 
    193         case '0':       goto yy158; 
    194         case '1': 
    195         case '2': 
    196         case '3': 
    197         case '4': 
    198         case '5': 
    199         case '6': 
    200         case '7': 
    201         case '8': 
    202         case '9':       goto yy47; 
    203         default:        goto yy3; 
     235        if(yych <= '/') { 
     236                if(yych == '.') goto yy157; 
     237                goto yy3; 
     238        } else { 
     239                if(yych <= '0') goto yy158; 
     240                if(yych <= '9') goto yy47; 
     241                goto yy3; 
    204242        } 
    205243yy18: 
    206244        yych = *(YYMARKER = ++YYCURSOR); 
    207         switch(yych) { 
    208         case 0x00:      goto yy52; 
    209         case ',':       goto yy142; 
    210         case '.':       goto yy50; 
    211         case '0': 
    212         case '1': 
    213         case '2': 
    214         case '3': 
    215         case '4': 
    216         case '5': 
    217         case '6': 
    218         case '7':       goto yy140; 
    219         case '8': 
    220         case '9':       goto yy141; 
    221         case ':':       goto yy49; 
    222         case 'x':       goto yy144; 
    223         default:        goto yy3; 
     245        if(yych <= '/') { 
     246                if(yych <= ',') { 
     247                        if(yych <= 0x00) goto yy52; 
     248                        if(yych <= '+') goto yy3; 
     249                        goto yy142; 
     250                } else { 
     251                        if(yych == '.') goto yy50; 
     252                        goto yy3; 
     253                } 
     254        } else { 
     255                if(yych <= ':') { 
     256                        if(yych <= '7') goto yy140; 
     257                        if(yych <= '9') goto yy141; 
     258                        goto yy49; 
     259                } else { 
     260                        if(yych == 'x') goto yy144; 
     261                        goto yy3; 
     262                } 
    224263        } 
    225264yy19: 
    226265        yych = *(YYMARKER = ++YYCURSOR); 
    227         switch(yych) { 
    228         case 0x00:      goto yy52; 
    229         case ',':       goto yy47; 
    230         case '.':       goto yy50; 
    231         case '0': 
    232         case '1': 
    233         case '2': 
    234         case '3': 
    235         case '4': 
    236         case '5': 
    237         case '6': 
    238         case '7': 
    239         case '8': 
    240         case '9':       goto yy46; 
    241         case ':':       goto yy49; 
    242         default:        goto yy3; 
     266        if(yych <= '-') { 
     267                if(yych <= 0x00) goto yy52; 
     268                if(yych == ',') goto yy47; 
     269                goto yy3; 
     270        } else { 
     271                if(yych <= '/') { 
     272                        if(yych <= '.') goto yy50; 
     273                        goto yy3; 
     274                } else { 
     275                        if(yych <= '9') goto yy46; 
     276                        if(yych <= ':') goto yy49; 
     277                        goto yy3; 
     278                } 
    243279        } 
    244280yy20: 
    245281        yych = *(YYMARKER = ++YYCURSOR); 
    246         switch(yych) { 
    247         case 'I':       goto yy33; 
    248         case 'N':       goto yy31; 
    249         case 'i':       goto yy32; 
    250         case 'n':       goto yy30; 
    251         default:        goto yy3; 
     282        if(yych <= 'N') { 
     283                if(yych == 'I') goto yy33; 
     284                if(yych <= 'M') goto yy3; 
     285                goto yy31; 
     286        } else { 
     287                if(yych <= 'i') { 
     288                        if(yych <= 'h') goto yy3; 
     289                        goto yy32; 
     290                } else { 
     291                        if(yych == 'n') goto yy30; 
     292                        goto yy3; 
     293                } 
    252294        } 
    253295yy21: 
     
    257299yy22: 
    258300        yych = *(YYMARKER = ++YYCURSOR); 
    259         switch(yych) { 
    260         case '<':       goto yy24; 
    261         default:        goto yy3; 
    262         } 
     301        if(yych == '<') goto yy24; 
     302        goto yy3; 
    263303yy23: 
    264304        yych = *++YYCURSOR; 
     
    274314#line 121 "implicit.re" 
    275315        {   return "merge"; } 
    276 #line 277 "<stdout>" 
     316#line 317 "implicit.c" 
    277317yy28: 
    278318        ++YYCURSOR; 
    279319#line 119 "implicit.re" 
    280320        {   return "default"; } 
    281 #line 282 "<stdout>" 
     321#line 322 "implicit.c" 
    282322yy30: 
    283323        yych = *++YYCURSOR; 
    284         switch(yych) { 
    285         case 'a':       goto yy45; 
    286         default:        goto yy25; 
    287         } 
     324        if(yych == 'a') goto yy45; 
     325        goto yy25; 
    288326yy31: 
    289327        yych = *++YYCURSOR; 
    290         switch(yych) { 
    291         case 'A':       goto yy40; 
    292         case 'a':       goto yy41; 
    293         default:        goto yy25; 
    294         } 
     328        if(yych == 'A') goto yy40; 
     329        if(yych == 'a') goto yy41; 
     330        goto yy25; 
    295331yy32: 
    296332        yych = *++YYCURSOR; 
    297         switch(yych) { 
    298         case 'n':       goto yy39; 
    299         default:        goto yy25; 
    300         } 
     333        if(yych == 'n') goto yy39; 
     334        goto yy25; 
    301335yy33: 
    302336        yych = *++YYCURSOR; 
    303         switch(yych) { 
    304         case 'N':       goto yy34; 
    305         case 'n':       goto yy35; 
    306         default:        goto yy25; 
    307         } 
     337        if(yych == 'N') goto yy34; 
     338        if(yych == 'n') goto yy35; 
     339        goto yy25; 
    308340yy34: 
    309341        yych = *++YYCURSOR; 
    310         switch(yych) { 
    311         case 'F':       goto yy36; 
    312         default:        goto yy25; 
    313         } 
     342        if(yych == 'F') goto yy36; 
     343        goto yy25; 
    314344yy35: 
    315345        yych = *++YYCURSOR; 
    316         switch(yych) { 
    317         case 'f':       goto yy36; 
    318         default:        goto yy25; 
    319         } 
     346        if(yych != 'f') goto yy25; 
    320347yy36: 
    321348        yych = *++YYCURSOR; 
     
    324351#line 105 "implicit.re" 
    325352        {   return "float#inf"; } 
    326 #line 327 "<stdout>" 
     353#line 354 "implicit.c" 
    327354yy39: 
    328355        yych = *++YYCURSOR; 
    329         switch(yych) { 
    330         case 'f':       goto yy36; 
    331         default:        goto yy25; 
    332         } 
     356        if(yych == 'f') goto yy36; 
     357        goto yy25; 
    333358yy40: 
    334359        yych = *++YYCURSOR; 
    335         switch(yych) { 
    336         case 'N':       goto yy42; 
    337         default:        goto yy25; 
    338         } 
     360        if(yych == 'N') goto yy42; 
     361        goto yy25; 
    339362yy41: 
    340363        yych = *++YYCURSOR; 
    341         switch(yych) { 
    342         case 'N':       goto yy42; 
    343         default:        goto yy25; 
    344         } 
     364        if(yych != 'N') goto yy25; 
    345365yy42: 
    346366        yych = *++YYCURSOR; 
     
    349369#line 109 "implicit.re" 
    350370        {   return "float#nan"; } 
    351 #line 352 "<stdout>" 
     371#line 372 "implicit.c" 
    352372yy45: 
    353373        yych = *++YYCURSOR; 
    354         switch(yych) { 
    355         case 'n':       goto yy42; 
    356         default:        goto yy25; 
    357         } 
     374        if(yych == 'n') goto yy42; 
     375        goto yy25; 
    358376yy46: 
    359377        yych = *++YYCURSOR; 
    360         switch(yych) { 
    361         case '0': 
    362         case '1': 
    363         case '2': 
    364         case '3': 
    365         case '4': 
    366         case '5': 
    367         case '6': 
    368         case '7': 
    369         case '8': 
    370         case '9':       goto yy74; 
    371         default:        goto yy48; 
    372         } 
     378        if(yych <= '/') goto yy48; 
     379        if(yych <= '9') goto yy74; 
     380        goto yy48; 
    373381yy47: 
    374382        ++YYCURSOR; 
     
    376384        yych = *YYCURSOR; 
    377385yy48: 
    378         switch(yych) { 
    379         case 0x00:      goto yy52; 
    380         case ',': 
    381         case '0': 
    382         case '1': 
    383         case '2': 
    384         case '3': 
    385         case '4': 
    386         case '5': 
    387         case '6': 
    388         case '7': 
    389         case '8': 
    390         case '9':       goto yy47; 
    391         case '.':       goto yy50; 
    392         case ':':       goto yy49; 
    393         default:        goto yy25; 
     386        if(yybm[0+yych] & 1) { 
     387                goto yy47; 
     388        } 
     389        if(yych <= '.') { 
     390                if(yych <= 0x00) goto yy52; 
     391                if(yych <= '-') goto yy25; 
     392                goto yy50; 
     393        } else { 
     394                if(yych <= '/') goto yy25; 
     395                if(yych >= ';') goto yy25; 
    394396        } 
    395397yy49: 
     
    397399        if(YYLIMIT == YYCURSOR) YYFILL(1); 
    398400        yych = *YYCURSOR; 
    399         switch(yych) { 
    400         case '0': 
    401         case '1': 
    402         case '2': 
    403         case '3': 
    404         case '4': 
    405         case '5':       goto yy66; 
    406         case '6': 
    407         case '7': 
    408         case '8': 
    409         case '9':       goto yy67; 
    410         default:        goto yy25; 
    411         } 
     401        if(yych <= '/') goto yy25; 
     402        if(yych <= '5') goto yy66; 
     403        if(yych <= '9') goto yy67; 
     404        goto yy25; 
    412405yy50: 
    413406        ++YYCURSOR; 
    414407        if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); 
    415408        yych = *YYCURSOR; 
    416         switch(yych) { 
    417         case 0x00:      goto yy56; 
    418         case ',':       goto yy54; 
    419         case '.':       goto yy58; 
    420         case '0': 
    421         case '1': 
    422         case '2': 
    423         case '3': 
    424         case '4': 
    425         case '5': 
    426         case '6': 
    427         case '7': 
    428         case '8': 
    429         case '9':       goto yy50; 
    430         case 'E': 
    431         case 'e':       goto yy60; 
    432         default:        goto yy25; 
     409        if(yybm[0+yych] & 2) { 
     410                goto yy50; 
     411        } 
     412        if(yych <= '.') { 
     413                if(yych <= '+') { 
     414                        if(yych <= 0x00) goto yy56; 
     415                        goto yy25; 
     416                } else { 
     417                        if(yych <= ',') goto yy54; 
     418                        if(yych <= '-') goto yy25; 
     419                        goto yy58; 
     420                } 
     421        } else { 
     422                if(yych <= 'E') { 
     423                        if(yych <= 'D') goto yy25; 
     424                        goto yy60; 
     425                } else { 
     426                        if(yych == 'e') goto yy60; 
     427                        goto yy25; 
     428                } 
    433429        } 
    434430yy52: 
     
    436432#line 97 "implicit.re" 
    437433        {   return "int"; } 
    438 #line 439 "<stdout>"