diff options
author | why <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-10-14 23:15:19 +0000 |
---|---|---|
committer | why <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-10-14 23:15:19 +0000 |
commit | c76c3349e4d5cfc3d1452d32491647294c102a8b (patch) | |
tree | 8e4ffb887b591097de3f8f5b080276bb62f7648c /ext/syck/token.c | |
parent | b215f2fdb93fba83199168e50c28adc458844a26 (diff) |
* ext/syck/bytecode.c: Checkin of YAML bytecode support.
* ext/syck/gram.c: Ditto.
* ext/syck/syck.c: Ditto.
* ext/syck/token.c: Ditto.
* ext/syck/handler.c: Ditto.
* ext/syck/handler.c: Now using 'tag' rather than 'taguri' in type URIs.
* ext/syck/rubyext.c: Ditto (on both counts).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/syck/token.c')
-rw-r--r-- | ext/syck/token.c | 1633 |
1 files changed, 586 insertions, 1047 deletions
diff --git a/ext/syck/token.c b/ext/syck/token.c index dc20ecd085..d7fa6e4573 100644 --- a/ext/syck/token.c +++ b/ext/syck/token.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.5 on Wed Sep 3 12:48:43 2003 */ +/* Generated by re2c 0.5 on Mon Oct 13 18:40:21 2003 */ #line 1 "token.re" /* * token.re @@ -206,7 +206,9 @@ SyckParser *syck_parser_ptr = NULL; */ void eat_comments( SyckParser * ); int is_newline( char *ptr ); -int yywrap(); +int sycklex_yaml_utf8( YYSTYPE *, SyckParser * ); +int sycklex_bytecode_utf8( YYSTYPE *, SyckParser * ); +int syckwrap(); /* * My own re-entrant sycklex() using re2c. @@ -216,6 +218,30 @@ int yywrap(); int sycklex( YYSTYPE *sycklval, SyckParser *parser ) { + switch ( parser->input_type ) + { + case syck_yaml_utf8: + return sycklex_yaml_utf8( sycklval, parser ); + + case syck_yaml_utf16: + syckerror( "UTF-16 is not currently supported in Syck.\nPlease contribute code to help this happen!" ); + break; + + case syck_yaml_utf32: + syckerror( "UTF-32 is not currently supported in Syck.\nPlease contribute code to help this happen!" ); + break; + + case syck_bytecode_utf8: + return sycklex_bytecode_utf8( sycklval, parser ); + } +} + +/* + * Parser for standard YAML [UTF-8] + */ +int +sycklex_yaml_utf8( YYSTYPE *sycklval, SyckParser *parser ) +{ int doc_level = 0; syck_parser_ptr = parser; if ( YYCURSOR == NULL ) @@ -230,7 +256,7 @@ sycklex( YYSTYPE *sycklval, SyckParser *parser ) return t; } -#line 248 +#line 274 if ( YYLINEPTR != YYCURSOR ) @@ -250,42 +276,48 @@ yy1: ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy7; - case '\n': goto yy9; - case '\r': goto yy11; - case ' ': goto yy12; - case '#': goto yy5; - case '-': goto yy2; - case '.': goto yy4; - default: goto yy14; + if(yych <= '\037'){ + if(yych <= '\n'){ + if(yych <= '\000') goto yy7; + if(yych <= '\t') goto yy14; + goto yy9; + } else { + if(yych == '\r') goto yy11; + goto yy14; + } + } else { + if(yych <= '#'){ + if(yych <= ' ') goto yy12; + if(yych <= '"') goto yy14; + goto yy5; + } else { + if(yych <= ',') goto yy14; + if(yych <= '-') goto yy2; + if(yych <= '.') goto yy4; + goto yy14; + } } yy2: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '-': goto yy28; - default: goto yy3; - } + if(yych == '-') goto yy28; yy3: -#line 307 +#line 333 { YYPOS(0); goto Document; } yy4: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '.': goto yy21; - default: goto yy3; - } + if(yych == '.') goto yy21; + goto yy3; yy5: yych = *++YYCURSOR; yy6: -#line 289 +#line 315 { eat_comments( parser ); goto Header; } yy7: yych = *++YYCURSOR; yy8: -#line 293 +#line 319 { SyckLevel *lvl = CURRENT_LEVEL(); ENSURE_YAML_IEND(lvl, -1); YYPOS(0); @@ -295,19 +327,17 @@ yy9: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); goto yy18; yy10: -#line 299 +#line 325 { GOBBLE_UP_YAML_INDENT( doc_level, YYTOKEN ); goto Header; } yy11: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy17; - default: goto yy3; - } + if(yych == '\n') goto yy17; + goto yy3; yy12: yych = *++YYCURSOR; goto yy16; yy13: -#line 303 +#line 329 { doc_level = YYCURSOR - YYLINEPTR; goto Header; } @@ -316,46 +346,42 @@ yy14: yych = *++YYCURSOR; yy15: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy16: switch(yych){ - case ' ': goto yy15; - default: goto yy13; - } +yy16: if(yych == ' ') goto yy15; + goto yy13; yy17: yyaccept = 1; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy18: switch(yych){ - case '\n': case ' ': goto yy17; - case '\r': goto yy19; - default: goto yy10; +yy18: if(yych <= '\f'){ + if(yych == '\n') goto yy17; + goto yy10; + } else { + if(yych <= '\r') goto yy19; + if(yych == ' ') goto yy17; + goto yy10; } yy19: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - switch(yych){ - case '\n': goto yy17; - default: goto yy20; - } + if(yych == '\n') goto yy17; yy20: YYCURSOR = YYMARKER; switch(yyaccept){ case 1: goto yy10; case 0: goto yy3; } yy21: yych = *++YYCURSOR; - switch(yych){ - case '.': goto yy22; - default: goto yy20; - } + if(yych != '.') goto yy20; yy22: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy23; - case '\r': goto yy27; - case ' ': goto yy25; - default: goto yy20; + if(yych <= '\f'){ + if(yych != '\n') goto yy20; + } else { + if(yych <= '\r') goto yy27; + if(yych == ' ') goto yy25; + goto yy20; } yy23: yych = *++YYCURSOR; yy24: -#line 275 +#line 301 { SyckLevel *lvl = CURRENT_LEVEL(); if ( lvl->status == syck_lvl_header ) { @@ -372,30 +398,24 @@ yy24: yy25: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy26: switch(yych){ - case ' ': goto yy25; - default: goto yy24; - } +yy26: if(yych == ' ') goto yy25; + goto yy24; yy27: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy23; - default: goto yy20; - } + if(yych == '\n') goto yy23; + goto yy20; yy28: yych = *++YYCURSOR; - switch(yych){ - case '-': goto yy29; - default: goto yy20; - } + if(yych != '-') goto yy20; yy29: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy30; - case '\r': goto yy34; - case ' ': goto yy32; - default: goto yy20; + if(yych <= '\f'){ + if(yych != '\n') goto yy20; + } else { + if(yych <= '\r') goto yy34; + if(yych == ' ') goto yy32; + goto yy20; } yy30: yych = *++YYCURSOR; yy31: -#line 261 +#line 287 { SyckLevel *lvl = CURRENT_LEVEL(); if ( lvl->status == syck_lvl_header ) { @@ -412,17 +432,13 @@ yy31: yy32: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy33: switch(yych){ - case ' ': goto yy32; - default: goto yy31; - } +yy33: if(yych == ' ') goto yy32; + goto yy31; yy34: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy30; - default: goto yy20; - } + if(yych == '\n') goto yy30; + goto yy20; } -#line 311 +#line 337 Document: @@ -443,35 +459,72 @@ yy36: ++YYCURSOR; yy35: if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy60; - case '\n': goto yy37; - case '\r': goto yy39; - case ' ': goto yy58; - case '!': goto yy49; - case '"': goto yy53; - case '#': goto yy56; - case '&': goto yy47; - case '\'': goto yy51; - case '*': goto yy48; - case ',': case ':': goto yy45; - case '-': case '?': goto yy46; - case '>': case '|': goto yy55; - case '[': case '{': goto yy41; - case ']': case '}': goto yy43; - default: goto yy62; + if(yych <= '+'){ + if(yych <= '!'){ + if(yych <= '\f'){ + if(yych <= '\000') goto yy60; + if(yych != '\n') goto yy62; + } else { + if(yych <= '\r') goto yy39; + if(yych <= '\037') goto yy62; + if(yych <= ' ') goto yy58; + goto yy49; + } + } else { + if(yych <= '&'){ + if(yych <= '"') goto yy53; + if(yych <= '#') goto yy56; + if(yych <= '%') goto yy62; + goto yy47; + } else { + if(yych <= '\'') goto yy51; + if(yych == '*') goto yy48; + goto yy62; + } + } + } else { + if(yych <= 'Z'){ + if(yych <= ':'){ + if(yych <= ',') goto yy45; + if(yych <= '-') goto yy46; + if(yych <= '9') goto yy62; + goto yy45; + } else { + if(yych <= '=') goto yy62; + if(yych <= '>') goto yy55; + if(yych <= '?') goto yy46; + goto yy62; + } + } else { + if(yych <= 'z'){ + if(yych <= '[') goto yy41; + if(yych == ']') goto yy43; + goto yy62; + } else { + if(yych <= '{') goto yy41; + if(yych <= '|') goto yy55; + if(yych <= '}') goto yy43; + goto yy62; + } + } } yy37: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy90; yy38: -#line 325 +#line 351 { /* Isolate spaces */ int indt_len; GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN ); lvl = CURRENT_LEVEL(); doc_level = 0; + /* XXX: Comment lookahead */ + if ( *YYCURSOR == '#' ) + { + goto Document; + } + /* Check for open indent */ ENSURE_YAML_IEND(lvl, indt_len); ENSURE_YAML_IOPEN(lvl, indt_len, 0); @@ -482,18 +535,15 @@ yy38: return YAML_INDENT; } yy39: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy89; - default: goto yy40; - } + if(yych == '\n') goto yy89; yy40: -#line 413 +#line 445 { ENSURE_YAML_IOPEN(lvl, doc_level, 1); goto Plain; } yy41: yych = *++YYCURSOR; yy42: -#line 341 +#line 373 { ENSURE_YAML_IOPEN(lvl, doc_level, 1); lvl = CURRENT_LEVEL(); ADD_LEVEL(lvl->spaces + 1, syck_lvl_inline); @@ -501,201 +551,123 @@ yy42: } yy43: yych = *++YYCURSOR; yy44: -#line 347 +#line 379 { POP_LEVEL(); return YYTOKEN[0]; } yy45: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '\n': goto yy84; - case '\r': goto yy88; - case ' ': goto yy86; - default: goto yy40; + if(yych <= '\f'){ + if(yych == '\n') goto yy84; + goto yy40; + } else { + if(yych <= '\r') goto yy88; + if(yych == ' ') goto yy86; + goto yy40; } yy46: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '\n': goto yy79; - case '\r': goto yy83; - case ' ': goto yy81; - default: goto yy40; + if(yych <= '\f'){ + if(yych == '\n') goto yy79; + goto yy40; + } else { + if(yych <= '\r') goto yy83; + if(yych == ' ') goto yy81; + goto yy40; } yy47: yych = *++YYCURSOR; - switch(yych){ - case '-': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy76; - default: goto yy40; + if(yych <= '@'){ + if(yych <= '-'){ + if(yych <= ',') goto yy40; + goto yy76; + } else { + if(yych <= '/') goto yy40; + if(yych <= '9') goto yy76; + goto yy40; + } + } else { + if(yych <= '_'){ + if(yych <= 'Z') goto yy76; + if(yych <= '^') goto yy40; + goto yy76; + } else { + if(yych <= '`') goto yy40; + if(yych <= 'z') goto yy76; + goto yy40; + } } yy48: yych = *++YYCURSOR; - switch(yych){ - case '-': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy73; - default: goto yy40; + if(yych <= '@'){ + if(yych <= '-'){ + if(yych <= ',') goto yy40; + goto yy73; + } else { + if(yych <= '/') goto yy40; + if(yych <= '9') goto yy73; + goto yy40; + } + } else { + if(yych <= '_'){ + if(yych <= 'Z') goto yy73; + if(yych <= '^') goto yy40; + goto yy73; + } else { + if(yych <= '`') goto yy40; + if(yych <= 'z') goto yy73; + goto yy40; + } } yy49: yych = *++YYCURSOR; yy50: -#line 386 +#line 418 { ENSURE_YAML_IOPEN(lvl, doc_level, 1); goto TransferMethod; } yy51: yych = *++YYCURSOR; yy52: -#line 389 +#line 421 { ENSURE_YAML_IOPEN(lvl, doc_level, 1); goto SingleQuote; } yy53: yych = *++YYCURSOR; yy54: -#line 392 +#line 424 { ENSURE_YAML_IOPEN(lvl, doc_level, 1); goto DoubleQuote; } yy55: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '\n': goto yy68; - case '\r': goto yy72; - case ' ': goto yy70; - case '+': case '-': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy65; - default: goto yy40; + if(yych <= ' '){ + if(yych <= '\f'){ + if(yych == '\n') goto yy68; + goto yy40; + } else { + if(yych <= '\r') goto yy72; + if(yych <= '\037') goto yy40; + goto yy70; + } + } else { + if(yych <= ','){ + if(yych == '+') goto yy65; + goto yy40; + } else { + if(yych <= '-') goto yy65; + if(yych <= '/') goto yy40; + if(yych <= '9') goto yy65; + goto yy40; + } } yy56: yych = *++YYCURSOR; yy57: -#line 402 +#line 434 { eat_comments( parser ); goto Document; } yy58: yych = *++YYCURSOR; goto yy64; yy59: -#line 406 +#line 438 { goto Document; } yy60: yych = *++YYCURSOR; yy61: -#line 408 +#line 440 { ENSURE_YAML_IEND(lvl, -1); YYPOS(0); return 0; @@ -705,28 +677,26 @@ yy62: yych = *++YYCURSOR; yy63: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy64: switch(yych){ - case ' ': goto yy63; - default: goto yy59; - } +yy64: if(yych == ' ') goto yy63; + goto yy59; yy65: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy66: switch(yych){ - case '\n': goto yy68; - case '\r': goto yy72; - case ' ': goto yy70; - case '+': case '-': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy65; - default: goto yy67; +yy66: if(yych <= ' '){ + if(yych <= '\f'){ + if(yych == '\n') goto yy68; + } else { + if(yych <= '\r') goto yy72; + if(yych >= ' ') goto yy70; + } + } else { + if(yych <= ','){ + if(yych == '+') goto yy65; + } else { + if(yych <= '-') goto yy65; + if(yych <= '/') goto yy67; + if(yych <= '9') goto yy65; + } } yy67: YYCURSOR = YYMARKER; switch(yyaccept){ @@ -735,7 +705,7 @@ yy67: YYCURSOR = YYMARKER; } yy68: yych = *++YYCURSOR; yy69: -#line 395 +#line 427 { if ( is_newline( YYCURSOR - 1 ) ) { YYCURSOR--; @@ -745,83 +715,32 @@ yy69: yy70: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy71: switch(yych){ - case ' ': goto yy70; - default: goto yy69; - } +yy71: if(yych == ' ') goto yy70; + goto yy69; yy72: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy68; - default: goto yy67; - } + if(yych == '\n') goto yy68; + goto yy67; yy73: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy74: switch(yych){ - case '-': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy73; - default: goto yy75; +yy74: if(yych <= '@'){ + if(yych <= '-'){ + if(yych >= '-') goto yy73; + } else { + if(yych <= '/') goto yy75; + if(yych <= '9') goto yy73; + } + } else { + if(yych <= '_'){ + if(yych <= 'Z') goto yy73; + if(yych >= '_') goto yy73; + } else { + if(yych <= '`') goto yy75; + if(yych <= 'z') goto yy73; + } } yy75: -#line 381 +#line 413 { ENSURE_YAML_IOPEN(lvl, doc_level, 1); sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 ); return YAML_ALIAS; @@ -829,71 +748,24 @@ yy75: yy76: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy77: switch(yych){ - case '-': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy76; - default: goto yy78; +yy77: if(yych <= '@'){ + if(yych <= '-'){ + if(yych >= '-') goto yy76; + } else { + if(yych <= '/') goto yy78; + if(yych <= '9') goto yy76; + } + } else { + if(yych <= '_'){ + if(yych <= 'Z') goto yy76; + if(yych >= '_') goto yy76; + } else { + if(yych <= '`') goto yy78; + if(yych <= 'z') goto yy76; + } } yy78: -#line 369 +#line 401 { ENSURE_YAML_IOPEN(lvl, doc_level, 1); sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 ); @@ -907,7 +779,7 @@ yy78: } yy79: yych = *++YYCURSOR; yy80: -#line 355 +#line 387 { ENSURE_YAML_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1); FORCE_NEXT_TOKEN(YAML_IOPEN); if ( is_newline( YYCURSOR ) || is_newline( YYCURSOR - 1 ) ) @@ -924,51 +796,44 @@ yy80: yy81: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy82: switch(yych){ - case ' ': goto yy81; - default: goto yy80; - } +yy82: if(yych == ' ') goto yy81; + goto yy80; yy83: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy79; - default: goto yy67; - } + if(yych == '\n') goto yy79; + goto yy67; yy84: yych = *++YYCURSOR; yy85: -#line 351 +#line 383 { YYPOS(1); return YYTOKEN[0]; } yy86: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy87: switch(yych){ - case ' ': goto yy86; - default: goto yy85; - } +yy87: if(yych == ' ') goto yy86; + goto yy85; yy88: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy84; - default: goto yy67; - } + if(yych == '\n') goto yy84; + goto yy67; yy89: yyaccept = 0; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy90: switch(yych){ - case '\n': case ' ': goto yy89; - case '\r': goto yy91; - default: goto yy38; +yy90: if(yych <= '\f'){ + if(yych == '\n') goto yy89; + goto yy38; + } else { + if(yych <= '\r') goto yy91; + if(yych == ' ') goto yy89; + goto yy38; } yy91: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - switch(yych){ - case '\n': goto yy89; - default: goto yy67; - } + if(yych == '\n') goto yy89; + goto yy67; } -#line 417 +#line 449 } @@ -984,11 +849,13 @@ yy93: ++YYCURSOR; yy92: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy94; - case ' ': goto yy97; - case '%': goto yy95; - default: goto yy99; + if(yych <= ' '){ + if(yych <= '\000') goto yy94; + if(yych <= '\037') goto yy99; + goto yy97; + } else { + if(yych == '%') goto yy95; + goto yy99; } yy94: YYCURSOR = YYMARKER; switch(yyaccept){ @@ -996,348 +863,52 @@ yy94: YYCURSOR = YYMARKER; } yy95: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '.': - case '/': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case ':': - case ';': - case '<': - case '=': - case '>': - case '?': - case '@': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '[': - case '\\': - case ']': - case '^': - case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy102; - default: goto yy96; - } + if(yych <= '-') goto yy96; + if(yych == '`') goto yy96; + if(yych <= 'z') goto yy102; yy96: -#line 430 +#line 462 { YYCURSOR = YYTOKTMP; return YAML_DOCSEP; } yy97: yych = *++YYCURSOR; goto yy101; yy98: -#line 428 +#line 460 { goto Directive; } yy99: yych = *++YYCURSOR; goto yy96; yy100: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy101: switch(yych){ - case ' ': goto yy100; - default: goto yy98; - } +yy101: if(yych == ' ') goto yy100; + goto yy98; yy102: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy103: switch(yych){ - case '.': - case '/': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case ';': - case '<': - case '=': - case '>': - case '?': - case '@': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '[': - case '\\': - case ']': - case '^': - case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy102; - case ':': goto yy104; - default: goto yy94; +yy103: if(yych <= ':'){ + if(yych <= '-') goto yy94; + if(yych <= '9') goto yy102; + } else { + if(yych == '`') goto yy94; + if(yych <= 'z') goto yy102; + goto yy94; } yy104: yych = *++YYCURSOR; - switch(yych){ - case '.': - case '/': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case ':': - case ';': - case '<': - case '=': - case '>': - case '?': - case '@': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '[': - case '\\': - case ']': - case '^': - case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy105; - default: goto yy94; - } + if(yych <= '-') goto yy94; + if(yych == '`') goto yy94; + if(yych >= '{') goto yy94; yy105: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy106: switch(yych){ - case '.': - case '/': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case ':': - case ';': - case '<': - case '=': - case '>': - case '?': - case '@': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case '[': - case '\\': - case ']': - case '^': - case '_': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy105; - default: goto yy107; - } +yy106: if(yych <= '-') goto yy107; + if(yych == '`') goto yy107; + if(yych <= 'z') goto yy105; yy107: -#line 426 +#line 458 { goto Directive; } } -#line 433 +#line 465 } @@ -1367,21 +938,31 @@ yy109: ++YYCURSOR; yy108: if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy120; - case '\n': goto yy110; - case '\r': goto yy112; - case ' ': goto yy118; - case ',': goto yy117; - case ':': goto yy114; - case ']': case '}': goto yy115; - default: goto yy122; + if(yych <= '+'){ + if(yych <= '\f'){ + if(yych <= '\000') goto yy120; + if(yych != '\n') goto yy122; + } else { + if(yych <= '\r') goto yy112; + if(yych == ' ') goto yy118; + goto yy122; + } + } else { + if(yych <= '\\'){ + if(yych <= ',') goto yy117; + if(yych == ':') goto yy114; + goto yy122; + } else { + if(yych <= ']') goto yy115; + if(yych == '}') goto yy115; + goto yy122; + } } yy110: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy136; yy111: -#line 456 +#line 488 { int indt_len, nl_count = 0; SyckLevel *lvl; char *tok = YYTOKTMP; @@ -1414,26 +995,25 @@ yy111: goto Plain2; } yy112: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy135; - default: goto yy113; - } + if(yych == '\n') goto yy135; yy113: -#line 510 +#line 542 { QUOTECATS(qstr, qcapa, qidx, YYTOKTMP, YYCURSOR - YYTOKTMP); goto Plain2; } yy114: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '\n': goto yy130; - case '\r': goto yy134; - case ' ': goto yy132; - default: goto yy113; + if(yych <= '\f'){ + if(yych == '\n') goto yy130; + goto yy113; + } else { + if(yych <= '\r') goto yy134; + if(yych == ' ') goto yy132; + goto yy113; } yy115: yych = *++YYCURSOR; yy116: -#line 490 +#line 522 { if ( plvl->status != syck_lvl_inline ) { if ( *(YYCURSOR - 1) == ' ' || is_newline( YYCURSOR - 1 ) ) @@ -1447,29 +1027,28 @@ yy116: } yy117: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '\n': goto yy125; - case '\r': goto yy128; - case ' ': goto yy126; - default: goto yy113; + if(yych <= '\f'){ + if(yych == '\n') goto yy125; + goto yy113; + } else { + if(yych <= '\r') goto yy128; + if(yych == ' ') goto yy126; + goto yy113; } yy118: yych = *++YYCURSOR; - switch(yych){ - case '#': goto yy123; - default: goto yy119; - } + if(yych == '#') goto yy123; yy119: -#line 508 +#line 540 { goto Plain3; } yy120: yych = *++YYCURSOR; yy121: -#line 506 +#line 538 { RETURN_IMPLICIT(); } yy122: yych = *++YYCURSOR; goto yy113; yy123: yych = *++YYCURSOR; yy124: -#line 502 +#line 534 { eat_comments( parser ); RETURN_IMPLICIT(); } @@ -1478,15 +1057,10 @@ yy125: yych = *++YYCURSOR; yy126: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy127: switch(yych){ - case ' ': goto yy126; - default: goto yy116; - } +yy127: if(yych == ' ') goto yy126; + goto yy116; yy128: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy125; - default: goto yy129; - } + if(yych == '\n') goto yy125; yy129: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy111; @@ -1494,38 +1068,35 @@ yy129: YYCURSOR = YYMARKER; } yy130: yych = *++YYCURSOR; yy131: -#line 488 +#line 520 { RETURN_IMPLICIT(); } yy132: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy133: switch(yych){ - case ' ': goto yy132; - default: goto yy131; - } +yy133: if(yych == ' ') goto yy132; + goto yy131; yy134: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy130; - default: goto yy129; - } + if(yych == '\n') goto yy130; + goto yy129; yy135: yyaccept = 0; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy136: switch(yych){ - case '\n': case ' ': goto yy135; - case '\r': goto yy137; - default: goto yy111; +yy136: if(yych <= '\f'){ + if(yych == '\n') goto yy135; + goto yy111; + } else { + if(yych <= '\r') goto yy137; + if(yych == ' ') goto yy135; + goto yy111; } yy137: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - switch(yych){ - case '\n': goto yy135; - default: goto yy129; - } + if(yych == '\n') goto yy135; + goto yy129; } -#line 514 +#line 546 } @@ -1546,18 +1117,19 @@ yy139: ++YYCURSOR; yy138: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy146; - case '\n': goto yy140; - case '\r': goto yy142; - case '\'': goto yy144; - default: goto yy147; + if(yych <= '\f'){ + if(yych <= '\000') goto yy146; + if(yych != '\n') goto yy147; + } else { + if(yych <= '\r') goto yy142; + if(yych == '\'') goto yy144; + goto yy147; } yy140: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy151; yy141: -#line 528 +#line 560 { int indt_len; int nl_count = 0; SyckLevel *lvl; @@ -1594,22 +1166,16 @@ yy141: goto SingleQuote2; } yy142: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy150; - default: goto yy143; - } + if(yych == '\n') goto yy150; yy143: -#line 583 +#line 615 { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); goto SingleQuote2; } yy144: yych = *++YYCURSOR; - switch(yych){ - case '\'': goto yy148; - default: goto yy145; - } + if(yych == '\'') goto yy148; yy145: -#line 568 +#line 600 { SyckLevel *lvl; SyckNode *n = syck_alloc_str(); lvl = CURRENT_LEVEL(); @@ -1630,7 +1196,7 @@ yy147: yych = *++YYCURSOR; goto yy143; yy148: yych = *++YYCURSOR; yy149: -#line 564 +#line 596 { QUOTECAT(qstr, qcapa, qidx, '\''); goto SingleQuote2; } @@ -1638,24 +1204,24 @@ yy150: yyaccept = 0; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy151: switch(yych){ - case '\n': case ' ': goto yy150; - case '\r': goto yy152; - default: goto yy141; +yy151: if(yych <= '\f'){ + if(yych == '\n') goto yy150; + goto yy141; + } else { + if(yych <= '\r') goto yy152; + if(yych == ' ') goto yy150; + goto yy141; } yy152: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - switch(yych){ - case '\n': goto yy150; - default: goto yy153; - } + if(yych == '\n') goto yy150; yy153: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy141; } } -#line 587 +#line 619 } @@ -1680,19 +1246,29 @@ yy155: ++YYCURSOR; yy154: if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy161; - case '\n': goto yy156; - case '\r': goto yy158; - case '"': goto yy163; - case '\\': goto yy160; - default: goto yy164; + if(yych <= '\r'){ + if(yych <= '\t'){ + if(yych <= '\000') goto yy161; + goto yy164; + } else { + if(yych <= '\n') goto yy156; + if(yych <= '\f') goto yy164; + goto yy158; + } + } else { + if(yych <= '"'){ + if(yych <= '!') goto yy164; + goto yy163; + } else { + if(yych == '\\') goto yy160; + goto yy164; + } } yy156: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy178; yy157: -#line 605 +#line 637 { int indt_len; int nl_count = 0; SyckLevel *lvl; @@ -1733,30 +1309,59 @@ yy157: goto DoubleQuote2; } yy158: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy177; - default: goto yy159; - } + if(yych == '\n') goto yy177; yy159: -#line 690 +#line 722 { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); goto DoubleQuote2; } yy160: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '\n': goto yy168; - case '\r': goto yy170; - case ' ': goto yy165; - case '"': case '\\': case 'a': - case 'b': case 'e': - case 'f': case 'n': case 'r': case 't': case 'v': goto yy172; - case 'x': goto yy171; - default: goto yy159; + if(yych <= 'b'){ + if(yych <= ' '){ + if(yych <= '\f'){ + if(yych == '\n') goto yy168; + goto yy159; + } else { + if(yych <= '\r') goto yy170; + if(yych <= '\037') goto yy159; + goto yy165; + } + } else { + if(yych <= '['){ + if(yych == '"') goto yy172; + goto yy159; + } else { + if(yych <= '\\') goto yy172; + if(yych <= '`') goto yy159; + goto yy172; + } + } + } else { + if(yych <= 'r'){ + if(yych <= 'm'){ + if(yych <= 'd') goto yy159; + if(yych <= 'f') goto yy172; + goto yy159; + } else { + if(yych <= 'n') goto yy172; + if(yych <= 'q') goto yy159; + goto yy172; + } + } else { + if(yych <= 'u'){ + if(yych == 't') goto yy172; + goto yy159; + } else { + if(yych <= 'v') goto yy172; + if(yych == 'x') goto yy171; + goto yy159; + } + } } yy161: yych = *++YYCURSOR; yy162: -#line 675 +#line 707 { SyckLevel *lvl; SyckNode *n = syck_alloc_str(); lvl = CURRENT_LEVEL(); @@ -1778,11 +1383,11 @@ yy164: yych = *++YYCURSOR; yy165: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy166: switch(yych){ - case '\n': goto yy168; - case '\r': goto yy170; - case ' ': goto yy165; - default: goto yy167; +yy166: if(yych <= '\f'){ + if(yych == '\n') goto yy168; + } else { + if(yych <= '\r') goto yy170; + if(yych == ' ') goto yy165; } yy167: YYCURSOR = YYMARKER; switch(yyaccept){ @@ -1791,43 +1396,28 @@ yy167: YYCURSOR = YYMARKER; } yy168: yych = *++YYCURSOR; yy169: -#line 670 +#line 702 { keep_nl = 0; YYCURSOR--; goto DoubleQuote2; } yy170: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy168; - default: goto yy167; - } + if(yych == '\n') goto yy168; + goto yy167; yy171: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': goto yy174; - default: goto yy167; + if(yych <= '@'){ + if(yych <= '/') goto yy167; + if(yych <= '9') goto yy174; + goto yy167; + } else { + if(yych <= 'F') goto yy174; + if(yych <= '`') goto yy167; + if(yych <= 'f') goto yy174; + goto yy167; } yy172: yych = *++YYCURSOR; yy173: -#line 645 +#line 677 { char ch = *( YYCURSOR - 1 ); switch ( ch ) { @@ -1844,32 +1434,17 @@ yy173: goto DoubleQuote2; } yy174: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': goto yy175; - default: goto yy167; + if(yych <= '@'){ + if(yych <= '/') goto yy167; + if(yych >= ':') goto yy167; + } else { + if(yych <= 'F') goto yy175; + if(yych <= '`') goto yy167; + if(yych >= 'g') goto yy167; } yy175: yych = *++YYCURSOR; yy176: -#line 661 +#line 693 { long ch; char *chr_text = syck_strndup( YYTOKTMP, 4 ); chr_text[0] = '0'; @@ -1882,20 +1457,21 @@ yy177: yyaccept = 0; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy178: switch(yych){ - case '\n': case ' ': goto yy177; - case '\r': goto yy179; - default: goto yy157; +yy178: if(yych <= '\f'){ + if(yych == '\n') goto yy177; + goto yy157; + } else { + if(yych <= '\r') goto yy179; + if(yych == ' ') goto yy177; + goto yy157; } yy179: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - switch(yych){ - case '\n': goto yy177; - default: goto yy167; - } + if(yych == '\n') goto yy177; + goto yy167; } -#line 694 +#line 726 } @@ -1916,13 +1492,22 @@ yy181: ++YYCURSOR; yy180: if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy182; - case '\n': goto yy183; - case '\r': goto yy186; - case ' ': goto yy185; - case '\\': goto yy188; - default: goto yy189; + if(yych <= '\r'){ + if(yych <= '\t'){ + if(yych >= '\001') goto yy189; + } else { + if(yych <= '\n') goto yy183; + if(yych <= '\f') goto yy189; + goto yy186; + } + } else { + if(yych <= ' '){ + if(yych <= '\037') goto yy189; + goto yy185; + } else { + if(yych == '\\') goto yy188; + goto yy189; + } } yy182: YYCURSOR = YYMARKER; switch(yyaccept){ @@ -1930,7 +1515,7 @@ yy182: YYCURSOR = YYMARKER; } yy183: yych = *++YYCURSOR; yy184: -#line 708 +#line 740 { SyckLevel *lvl; YYCURSOR = YYTOKTMP; if ( YYCURSOR == YYTOKEN + 1 ) @@ -1983,74 +1568,39 @@ yy184: yy185: yych = *++YYCURSOR; goto yy196; yy186: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy194; - default: goto yy187; - } + if(yych == '\n') goto yy194; yy187: -#line 770 +#line 802 { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); goto TransferMethod2; } yy188: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 'x': goto yy190; - default: goto yy187; - } + if(yych == 'x') goto yy190; + goto yy187; yy189: yych = *++YYCURSOR; goto yy187; yy190: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': goto yy191; - default: goto yy182; + if(yych <= '@'){ + if(yych <= '/') goto yy182; + if(yych >= ':') goto yy182; + } else { + if(yych <= 'F') goto yy191; + if(yych <= '`') goto yy182; + if(yych >= 'g') goto yy182; } yy191: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': goto yy192; - default: goto yy182; + if(yych <= '@'){ + if(yych <= '/') goto yy182; + if(yych >= ':') goto yy182; + } else { + if(yych <= 'F') goto yy192; + if(yych <= '`') goto yy182; + if(yych >= 'g') goto yy182; } yy192: yych = *++YYCURSOR; yy193: -#line 761 +#line 793 { long ch; char *chr_text = syck_strndup( YYTOKTMP, 4 ); chr_text[0] = '0'; @@ -2064,12 +1614,10 @@ yy194: yych = *++YYCURSOR; yy195: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy196: switch(yych){ - case ' ': goto yy195; - default: goto yy184; - } +yy196: if(yych == ' ') goto yy195; + goto yy184; } -#line 775 +#line 807 } @@ -2123,18 +1671,19 @@ yy198: ++YYCURSOR; yy197: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy205; - case '\n': goto yy199; - case '\r': goto yy201; - case '#': goto yy203; - default: goto yy207; + if(yych <= '\f'){ + if(yych <= '\000') goto yy205; + if(yych != '\n') goto yy207; + } else { + if(yych <= '\r') goto yy201; + if(yych == '#') goto yy203; + goto yy207; } yy199: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy209; yy200: -#line 822 +#line 854 { char *pacer; char *tok = YYTOKTMP; int indt_len = 0, nl_count = 0, fold_nl = 0, nl_begin = 0; @@ -2201,18 +1750,15 @@ yy200: goto ScalarBlock2; } yy201: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy208; - default: goto yy202; - } + if(yych == '\n') goto yy208; yy202: -#line 908 +#line 940 { QUOTECAT(qstr, qcapa, qidx, *YYTOKTMP); goto ScalarBlock2; } yy203: yych = *++YYCURSOR; yy204: -#line 889 +#line 921 { lvl = CURRENT_LEVEL(); if ( lvl->status != syck_lvl_block ) { @@ -2227,7 +1773,7 @@ yy204: } yy205: yych = *++YYCURSOR; yy206: -#line 903 +#line 935 { YYCURSOR--; POP_LEVEL(); RETURN_YAML_BLOCK(); @@ -2238,24 +1784,24 @@ yy208: yyaccept = 0; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy209: switch(yych){ - case '\n': case ' ': goto yy208; - case '\r': goto yy210; - default: goto yy200; +yy209: if(yych <= '\f'){ + if(yych == '\n') goto yy208; + goto yy200; + } else { + if(yych <= '\r') goto yy210; + if(yych == ' ') goto yy208; + goto yy200; } yy210: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - switch(yych){ - case '\n': goto yy208; - default: goto yy211; - } + if(yych == '\n') goto yy208; yy211: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy200; } } -#line 913 +#line 945 } @@ -2280,15 +1826,17 @@ yy213: ++YYCURSOR; yy212: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy214; - case '\n': goto yy216; - case '\r': goto yy217; - default: goto yy219; + if(yych <= '\n'){ + if(yych <= '\000') goto yy214; + if(yych <= '\t') goto yy219; + goto yy216; + } else { + if(yych == '\r') goto yy217; + goto yy219; } yy214: yych = *++YYCURSOR; yy215: -#line 931 +#line 963 { YYCURSOR = tok; return; } @@ -2296,12 +1844,9 @@ yy216: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy221; yy217: yych = *++YYCURSOR; - switch(yych){ - case '\n': goto yy220; - default: goto yy218; - } + if(yych == '\n') goto yy220; yy218: -#line 935 +#line 967 { goto Comment; } yy219: yych = *++YYCURSOR; @@ -2310,24 +1855,18 @@ yy220: yyaccept = 0; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy221: switch(yych){ - case '\n': goto yy220; - case '\r': goto yy222; - default: goto yy215; - } +yy221: if(yych == '\n') goto yy220; + if(yych != '\r') goto yy215; yy222: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - switch(yych){ - case '\n': goto yy220; - default: goto yy223; - } + if(yych == '\n') goto yy220; yy223: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy215; } } -#line 938 +#line 970 } |