Changeset 305 for trunk

Show
Ignore:
Timestamp:
03/31/2008 13:54:19 (8 months ago)
Author:
indeyets
Message:

moved declaration of sycklex to separate header, regenerated grammar (for real, this time)

Location:
trunk/lib
Files:
1 added
4 modified

Legend:

Unmodified
Added
Removed
  • trunk/lib/Makefile.am

    r270 r305  
    66 
    77.re.c: 
    8         $(REC) $< > $@.new && mv $@.new $@ 
     8        $(REC) -b $< > $@.new && mv $@.new $@ 
    99 
    1010lib_LIBRARIES = libsyck.a 
  • trunk/lib/gram.y

    r235 r305  
    2121 
    2222#include "syck.h" 
     23#include "sycklex.h" 
    2324 
    2425void apply_seq_in_map( SyckParser *parser, SyckNode *n ); 
  • trunk/lib/syck.h

    r302 r305  
    470470 * Lexer prototypes 
    471471 */ 
    472 #include "gram.h" 
    473472void syckerror( const char * ); 
    474473int syckparse( void * ); 
    475 int sycklex( YYSTYPE *sycklval, SyckParser *parser ); 
    476474 
    477475#if defined(__cplusplus) 
  • trunk/lib/token.c

    r287 r305  
    1 /* Generated by re2c 0.12.3 on Wed Oct 24 23:16:24 2007 */ 
     1/* Generated by re2c 0.13.1 on Mon Mar 31 23:50:06 2008 */ 
    22#line 1 "token.re" 
    33/* 
     
    313313        YYCTYPE yych; 
    314314        unsigned int yyaccept = 0; 
     315        static const unsigned char yybm[] = { 
     316                  0,   0,   0,   0,   0,   0,   0,   0,  
     317                  0,  48,  64,   0,   0,   0,   0,   0,  
     318                  0,   0,   0,   0,   0,   0,   0,   0,  
     319                  0,   0,   0,   0,   0,   0,   0,   0,  
     320                208,   0,   0,   0,   0,   0,   0,   0,  
     321                  0,   0,   0,   0,   0,   0,   0,   0,  
     322                  0,   0,   0,   0,   0,   0,   0,   0,  
     323                  0,   0,   0,   0,   0,   0,   0,   0,  
     324                  0,   0,   0,   0,   0,   0,   0,   0,  
     325                  0,   0,   0,   0,   0,   0,   0,   0,  
     326                  0,   0,   0,   0,   0,   0,   0,   0,  
     327                  0,   0,   0,   0,   0,   0,   0,   0,  
     328                  0,   0,   0,   0,   0,   0,   0,   0,  
     329                  0,   0,   0,   0,   0,   0,   0,   0,  
     330                  0,   0,   0,   0,   0,   0,   0,   0,  
     331                  0,   0,   0,   0,   0,   0,   0,   0,  
     332                  0,   0,   0,   0,   0,   0,   0,   0,  
     333                  0,   0,   0,   0,   0,   0,   0,   0,  
     334                  0,   0,   0,   0,   0,   0,   0,   0,  
     335                  0,   0,   0,   0,   0,   0,   0,   0,  
     336                  0,   0,   0,   0,   0,   0,   0,   0,  
     337                  0,   0,   0,   0,   0,   0,   0,   0,  
     338                  0,   0,   0,   0,   0,   0,   0,   0,  
     339                  0,   0,   0,   0,   0,   0,   0,   0,  
     340                  0,   0,   0,   0,   0,   0,   0,   0,  
     341                  0,   0,   0,   0,   0,   0,   0,   0,  
     342                  0,   0,   0,   0,   0,   0,   0,   0,  
     343                  0,   0,   0,   0,   0,   0,   0,   0,  
     344                  0,   0,   0,   0,   0,   0,   0,   0,  
     345                  0,   0,   0,   0,   0,   0,   0,   0,  
     346                  0,   0,   0,   0,   0,   0,   0,   0,  
     347                  0,   0,   0,   0,   0,   0,   0,   0,  
     348        }; 
    315349 
    316350        if((YYLIMIT - YYCURSOR) < 5) YYFILL(5); 
    317351        yych = *YYCURSOR; 
    318         switch(yych) { 
    319         case 0x00:      goto yy7; 
    320         case 0x09: 
    321         case ' ':       goto yy12; 
    322         case 0x0A:      goto yy9; 
    323         case 0x0D:      goto yy11; 
    324         case '#':       goto yy5; 
    325         case '-':       goto yy2; 
    326         case '.':       goto yy4; 
    327         default:        goto yy14; 
     352        if(yych <= 0x1F) { 
     353                if(yych <= 0x09) { 
     354                        if(yych <= 0x00) goto yy7; 
     355                        if(yych <= 0x08) goto yy14; 
     356                        goto yy12; 
     357                } else { 
     358                        if(yych <= 0x0A) goto yy9; 
     359                        if(yych == 0x0D) goto yy11; 
     360                        goto yy14; 
     361                } 
     362        } else { 
     363                if(yych <= '#') { 
     364                        if(yych <= ' ') goto yy12; 
     365                        if(yych <= '"') goto yy14; 
     366                        goto yy5; 
     367                } else { 
     368                        if(yych <= ',') goto yy14; 
     369                        if(yych <= '-') goto yy2; 
     370                        if(yych <= '.') goto yy4; 
     371                        goto yy14; 
     372                } 
    328373        } 
    329374yy2: 
    330375        yyaccept = 0; 
    331376        yych = *(YYMARKER = ++YYCURSOR); 
    332         switch(yych) { 
    333         case '-':       goto yy30; 
    334         default:        goto yy3; 
    335         } 
     377        if(yych == '-') goto yy30; 
    336378yy3: 
    337379#line 379 "token.re" 
     
    339381                        goto Document;  
    340382                    } 
    341 #line 342 "<stdout>" 
     383#line 384 "<stdout>" 
    342384yy4: 
    343385        yyaccept = 0; 
    344386        yych = *(YYMARKER = ++YYCURSOR); 
    345         switch(yych) { 
    346         case '.':       goto yy23; 
    347         default:        goto yy3; 
    348         } 
     387        if(yych == '.') goto yy23; 
     388        goto yy3; 
    349389yy5: 
    350390        ++YYCURSOR; 
     
    353393                        goto Header; 
    354394                    } 
    355 #line 356 "<stdout>" 
     395#line 396 "<stdout>" 
    356396yy7: 
    357397        ++YYCURSOR; 
     
    362402                        return 0;  
    363403                    } 
    364 #line 365 "<stdout>" 
     404#line 405 "<stdout>" 
    365405yy9: 
    366406        yyaccept = 1; 
     
    372412                        goto Header;  
    373413                    } 
    374 #line 375 "<stdout>" 
     414#line 415 "<stdout>" 
    375415yy11: 
    376416        yych = *++YYCURSOR; 
    377         switch(yych) { 
    378         case 0x0A:      goto yy17; 
    379         default:        goto yy3; 
    380         } 
     417        if(yych == 0x0A) goto yy17; 
     418        goto yy3; 
    381419yy12: 
    382420        ++YYCURSOR; 
     
    388426                        goto Header; 
    389427                    } 
    390 #line 391 "<stdout>" 
     428#line 429 "<stdout>" 
    391429yy14: 
    392430        yych = *++YYCURSOR; 
     
    397435        yych = *YYCURSOR; 
    398436yy16: 
    399         switch(yych) { 
    400         case 0x09: 
    401         case ' ':       goto yy15; 
    402         default:        goto yy13; 
    403         } 
     437        if(yybm[0+yych] & 16) { 
     438                goto yy15; 
     439        } 
     440        goto yy13; 
    404441yy17: 
    405442        yyaccept = 1; 
     
    408445        yych = *YYCURSOR; 
    409446yy18: 
    410         switch(yych) { 
    411         case 0x09:      goto yy17; 
    412         case 0x0A: 
    413         case ' ':       goto yy19; 
    414         case 0x0D:      goto yy21; 
    415         default:        goto yy10; 
     447        if(yybm[0+yych] & 32) { 
     448                goto yy17; 
     449        } 
     450        if(yych <= 0x0C) { 
     451                if(yych != 0x0A) goto yy10; 
     452        } else { 
     453                if(yych <= 0x0D) goto yy21; 
     454                if(yych != ' ') goto yy10; 
    416455        } 
    417456yy19: 
     
    420459        if(YYLIMIT == YYCURSOR) YYFILL(1); 
    421460        yych = *YYCURSOR; 
    422         switch(yych) { 
    423         case 0x0A: 
    424         case ' ':       goto yy19; 
    425         case 0x0D:      goto yy21; 
    426         default:        goto yy10; 
    427         } 
     461        if(yybm[0+yych] & 64) { 
     462                goto yy19; 
     463        } 
     464        if(yych != 0x0D) goto yy10; 
    428465yy21: 
    429466        ++YYCURSOR; 
    430467        if(YYLIMIT == YYCURSOR) YYFILL(1); 
    431468        yych = *YYCURSOR; 
    432         switch(yych) { 
    433         case 0x0A:      goto yy19; 
    434         default:        goto yy22; 
    435         } 
     469        if(yych == 0x0A) goto yy19; 
    436470yy22: 
    437471        YYCURSOR = YYMARKER; 
    438         switch(yyaccept) { 
    439         case 0:         goto yy3; 
    440         case 1:         goto yy10; 
     472        if(yyaccept <= 0) { 
     473                goto yy3; 
     474        } else { 
     475                goto yy10; 
    441476        } 
    442477yy23: 
    443478        yych = *++YYCURSOR; 
    444         switch(yych) { 
    445         case '.':       goto yy24; 
    446         default:        goto yy22; 
    447         } 
    448 yy24: 
    449         yych = *++YYCURSOR; 
    450         switch(yych) { 
    451         case 0x0A:      goto yy25; 
    452         case 0x0D:      goto yy29; 
    453         case ' ':       goto yy27; 
    454         default:        goto yy22; 
    455         } 
     479        if(yych != '.') goto yy22; 
     480        yych = *++YYCURSOR; 
     481        if(yybm[0+yych] & 128) { 
     482                goto yy27; 
     483        } 
     484        if(yych == 0x0A) goto yy25; 
     485        if(yych == 0x0D) goto yy29; 
     486        goto yy22; 
    456487yy25: 
    457488        ++YYCURSOR; 
     
    471502                        return 0;  
    472503                    } 
    473 #line 474 "<stdout>" 
     504#line 505 "<stdout>" 
    474505yy27: 
    475506        ++YYCURSOR; 
    476507        if(YYLIMIT == YYCURSOR) YYFILL(1); 
    477508        yych = *YYCURSOR; 
    478         switch(yych) { 
    479         case ' ':       goto yy27; 
    480         default:        goto yy26; 
    481         } 
     509        if(yybm[0+yych] & 128) { 
     510                goto yy27; 
     511        } 
     512        goto yy26; 
    482513yy29: 
    483514        yych = *++YYCURSOR; 
    484         switch(yych) { 
    485         case 0x0A:      goto yy25; 
    486         default:        goto yy22; 
    487         } 
     515        if(yych == 0x0A) goto yy25; 
     516        goto yy22; 
    488517yy30: 
    489518        yych = *++YYCURSOR; 
    490         switch(yych) { 
    491         case '-':       goto yy31; 
    492         default:        goto yy22; 
    493         } 
    494 yy31: 
    495         yych = *++YYCURSOR; 
    496         switch(yych) { 
    497         case 0x0A:      goto yy32; 
    498         case 0x0D:      goto yy36; 
    499         case ' ':       goto yy34; 
    500         default:        goto yy22; 
     519        if(yych != '-') goto yy22; 
     520        yych = *++YYCURSOR; 
     521        if(yych <= 0x0C) { 
     522                if(yych != 0x0A) goto yy22; 
     523        } else { 
     524                if(yych <= 0x0D) goto yy36; 
     525                if(yych == ' ') goto yy34; 
     526                goto yy22; 
    501527        } 
    502528yy32: 
     
    517543                        } 
    518544                    } 
    519 #line 520 "<stdout>" 
     545#line 546 "<stdout>" 
    520546yy34: 
    521547        ++YYCURSOR; 
    522548        if(YYLIMIT == YYCURSOR) YYFILL(1); 
    523549        yych = *YYCURSOR; 
    524         switch(yych) { 
    525         case ' ':       goto yy34; 
    526         default:        goto yy33; 
    527         } 
     550        if(yych == ' ') goto yy34; 
     551        goto yy33; 
    528552yy36: 
    529553        ++YYCURSOR; 
    530         switch((yych = *YYCURSOR)) { 
    531         case 0x0A:      goto yy32; 
    532         default:        goto yy22; 
    533         } 
     554        if((yych = *YYCURSOR) == 0x0A) goto yy32; 
     555        goto yy22; 
    534556} 
    535557#line 383 "token.re" 
     
    547569 
    548570 
    549 #line 550 "<stdout>" 
     571#line 572 "<stdout>" 
    550572{ 
    551573        YYCTYPE yych; 
    552574        unsigned int yyaccept = 0; 
     575        static const unsigned char yybm[] = { 
     576                  0,   0,   0,   0,   0,   0,   0,   0,  
     577                  0,  68, 128,   0,   0,   0,   0,   0,  
     578                  0,   0,   0,   0,   0,   0,   0,   0,  
     579                  0,   0,   0,   0,   0,   0,   0,   0,  
     580                148,   0,   0,   0,   0,   0,   0,   0,  
     581                  0,   0,   0,   8,   0,  40,   0,   0,  
     582                 40,  40,  40,  40,  40,  40,  40,  40,  
     583                 40,  40,   0,   0,   0,   0,   0,   0,  
     584                  0,  32,  32,  32,  32,  32,  32,  32,  
     585                 32,  32,  32,  32,  32,  32,  32,  32,  
     586                 32,  32,  32,  32,  32,  32,  32,  32,  
     587                 32,  32,  32,   0,   0,   0,   0,  32,  
     588                  0,  32,  32,  32,  32,  32,  32,  32,  
     589                 32,  32,  32,  32,  32,  32,  32,  32,  
     590                 32,  32,  32,  32,  32,  32,  32,  32,  
     591                 32,  32,  32,   0,   0,   0,   0,   0,  
     592                  0,   0,   0,   0,   0,   0,   0,   0,  
     593                  0,   0,   0,   0,   0,   0,   0,   0,  
     594                  0,   0,   0,   0,   0,   0,   0,   0,  
     595                  0,   0,   0,   0,   0,   0,   0,   0,  
     596                  0,   0,   0,   0,   0,   0,   0,   0,  
     597                  0,   0,   0,   0,   0,   0,   0,   0,  
     598                  0,   0,   0,   0,   0,   0,   0,   0,  
     599                  0,   0,   0,   0,   0,   0,   0,   0,  
     600                  0,   0,   0,   0,   0,   0,   0,   0,  
     601                  0,   0,   0,   0,   0,   0,   0,   0,  
     602                  0,   0,   0,   0,   0,   0,   0,   0,  
     603                  0,   0,   0,   0,   0,   0,   0,   0,  
     604                  0,   0,   0,   0,   0,   0,   0,   0,  
     605                  0,   0,   0,   0,   0,   0,   0,   0,  
     606                  0,   0,   0,   0,   0,   0,   0,   0,  
     607                  0,   0,   0,   0,   0,   0,   0,   0,  
     608        }; 
    553609        if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); 
    554610        yych = *YYCURSOR; 
    555         switch(yych) { 
    556         case 0x00:      goto yy64; 
    557         case 0x09: 
    558         case ' ':       goto yy62; 
    559         case 0x0A:      goto yy39; 
    560         case 0x0D:      goto yy41; 
    561         case '!':       goto yy53; 
    562         case '"':       goto yy57; 
    563         case '#':       goto yy60; 
    564         case '&':       goto yy51; 
    565         case '\'':      goto yy55; 
    566         case '*':       goto yy52; 
    567         case ',': 
    568         case ':':       goto yy49; 
    569         case '-': 
    570         case '?':       goto yy50; 
    571         case '>': 
    572         case '|':       goto yy59; 
    573         case '[':       goto yy43; 
    574         case ']': 
    575         case '}':       goto yy47; 
    576         case '{':       goto yy45; 
    577         default:        goto yy66; 
    578         } 
    579 yy39: 
     611        if(yych <= '*') { 
     612                if(yych <= ' ') { 
     613                        if(yych <= 0x0A) { 
     614                                if(yych <= 0x00) goto yy64; 
     615                                if(yych <= 0x08) goto yy66; 
     616                                if(yych <= 0x09) goto yy62; 
     617                        } else { 
     618                                if(yych == 0x0D) goto yy41; 
     619                                if(yych <= 0x1F) goto yy66; 
     620                                goto yy62; 
     621                        } 
     622                } else { 
     623                        if(yych <= '%') { 
     624                                if(yych <= '!') goto yy53; 
     625                                if(yych <= '"') goto yy57; 
     626                                if(yych <= '#') goto yy60; 
     627                                goto yy66; 
     628                        } else { 
     629                                if(yych <= '&') goto yy51; 
     630                                if(yych <= '\'') goto yy55; 
     631                                if(yych <= ')') goto yy66; 
     632                                goto yy52; 
     633                        } 
     634                } 
     635        } else { 
     636                if(yych <= '?') { 
     637                        if(yych <= '9') { 
     638                                if(yych <= '+') goto yy66; 
     639                                if(yych <= ',') goto yy49; 
     640                                if(yych <= '-') goto yy50; 
     641                                goto yy66; 
     642                        } else { 
     643                                if(yych <= ':') goto yy49; 
     644                                if(yych <= '=') goto yy66; 
     645                                if(yych <= '>') goto yy59; 
     646                                goto yy50; 
     647                        } 
     648                } else { 
     649                        if(yych <= ']') { 
     650                                if(yych == '[') goto yy43; 
     651                                if(yych <= '\\') goto yy66; 
     652                                goto yy47; 
     653                        } else { 
     654                                if(yych <= '{') { 
     655                                        if(yych <= 'z') goto yy66; 
     656                                        goto yy45; 
     657                                } else { 
     658                                        if(yych <= '|') goto yy59; 
     659                                        if(yych <= '}') goto yy47; 
     660                                        goto yy66; 
     661                                } 
     662                        } 
     663                } 
     664        } 
    580665        yyaccept = 0; 
    581666        yych = *(YYMARKER = ++YYCURSOR); 
     
    610695                        return YAML_INDENT; 
    611696                    } 
    612 #line 613 "<stdout>" 
     697#line 698 "<stdout>" 
    613698yy41: 
    614699        ++YYCURSOR; 
    615         switch((yych = *YYCURSOR)) { 
    616         case 0x0A:      goto yy93; 
    617         default:        goto yy42; 
    618         } 
     700        if((yych = *YYCURSOR) == 0x0A) goto yy93; 
    619701yy42: 
    620702#line 505 "token.re" 
     
    622704                        goto Plain;  
    623705                    } 
    624 #line 625 "<stdout>" 
     706#line 707 "<stdout>" 
    625707yy43: 
    626708        ++YYCURSOR; 
     
    631713                        return YYTOKEN[0];  
    632714                    } 
    633 #line 634 "<stdout>" 
     715#line 716 "<stdout>" 
    634716yy45: 
    635717        ++YYCURSOR; 
     
    640722                        return YYTOKEN[0];  
    641723                    } 
    642 #line 643 "<stdout>" 
     724#line 725 "<stdout>" 
    643725yy47: 
    644726        ++YYCURSOR; 
     
    647729                        return YYTOKEN[0];  
    648730                    } 
    649 #line 650 "<stdout>" 
     731#line 732 "<stdout>" 
    650732yy49: 
    651733        yyaccept = 1; 
    652734        yych = *(YYMARKER = ++YYCURSOR); 
    653         switch(yych) { 
    654         case 0x0A:      goto yy88; 
    655         case 0x0D:      goto yy92; 
    656         case ' ':       goto yy90; 
    657         default:        goto yy42; 
     735        if(yych <= 0x0C) { 
     736                if(yych == 0x0A) goto yy88; 
     737                goto yy42; 
     738        } else { 
     739                if(yych <= 0x0D) goto yy92; 
     740                if(yych == ' ') goto yy90; 
     741                goto yy42; 
    658742        } 
    659743yy50: 
    660744        yyaccept = 1; 
    661745        yych = *(YYMARKER = ++YYCURSOR); 
    662         switch(yych) { 
    663         case 0x0A:      goto yy83; 
    664         case 0x0D:      goto yy87; 
    665         case ' ':       goto yy85; 
    666         default:        goto yy42; 
     746        if(yych <= 0x0C) { 
     747                if(yych == 0x0A) goto yy83; 
     748                goto yy42; 
     749        } else { 
     750                if(yych <= 0x0D) goto yy87; 
     751                if(yych == ' ') goto yy85; 
     752                goto yy42; 
    667753        } 
    668754yy51: 
    669755        yych = *++YYCURSOR; 
    670         switch(yych) { 
    671         case '-': 
    672         case '0': 
    673         case '1': 
    674         case '2': 
    675         case '3': 
    676         case '4': 
    677         case '5': 
    678         case '6': 
    679         case '7': 
    680         case '8': 
    681         case '9': 
    682         case 'A': 
    683         case 'B': 
    684         case 'C': 
    685         case 'D': 
    686         case 'E': 
    687         case 'F': 
    688         case 'G': 
    689         case 'H': 
    690         case 'I': 
    691         case 'J': 
    692         case 'K': 
    693         case 'L': 
    694         case 'M': 
    695         case 'N': 
    696         case 'O': 
    697         case 'P': 
    698         case 'Q': 
    699         case 'R': 
    700         case 'S': 
    701         case 'T': 
    702         case 'U': 
    703         case 'V': 
    704         case 'W': 
    705         case 'X': 
    706         case 'Y': 
    707         case 'Z': 
    708         case '_': 
    709         case 'a': 
    710         case 'b': 
    711         case 'c': 
    712         case 'd': 
    713         case 'e': 
    714         case 'f': 
    715         case 'g': 
    716         case 'h': 
    717         case 'i': 
    718         case 'j': 
    719         case 'k': 
    720         case 'l': 
    721         case 'm': 
    722         case 'n': 
    723         case 'o': 
    724         case 'p': 
    725         case 'q': 
    726         case 'r': 
    727         case 's': 
    728         case 't': 
    729         case 'u': 
    730         case 'v': 
    731         case 'w': 
    732         case 'x': 
    733         case 'y': 
    734         case 'z':       goto yy80; 
    735         default:        goto yy42; 
     756        if(yych <= '@') {