From e3619768b1273cd532c87ca5948b85475a147f54 Mon Sep 17 00:00:00 2001 From: why Date: Sat, 7 Aug 2004 15:34:39 +0000 Subject: * lib/implicit.c: added sexagecimal float#base60. * ext/syck/rubyext.c (yaml_org_handler): ditto. * lib/token.c: indentation absolutely ignored when processing flow collections. plain scalars are trimmed if indentation follows in an ambiguous flow collection. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/syck/implicit.c | 3756 ++++++++++++++++----------------------------------- ext/syck/rubyext.c | 25 + ext/syck/syck.h | 2 +- ext/syck/token.c | 536 +++----- 4 files changed, 1375 insertions(+), 2944 deletions(-) (limited to 'ext') diff --git a/ext/syck/implicit.c b/ext/syck/implicit.c index c70b9e2205..67287d53e6 100644 --- a/ext/syck/implicit.c +++ b/ext/syck/implicit.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.9.3 on Fri Jun 18 18:55:09 2004 */ +/* Generated by re2c 0.5 on Fri Aug 6 11:24:51 2004 */ #line 1 "implicit.re" /* * implicit.re @@ -50,1508 +50,886 @@ char *syck_match_implicit( char *str, size_t len ) cursor = str; limit = str + len; - -#line 6 "" { YYCTYPE yych; unsigned int yyaccept; + static unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 8, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 0, 4, 0, + 215, 231, 231, 231, 231, 231, 231, 231, + 167, 167, 0, 0, 0, 0, 0, 0, + 0, 128, 128, 128, 128, 128, 128, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 128, 128, 128, 128, 128, 128, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + }; goto yy0; yy1: ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 26) YYFILL(26); yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy6; - case '+': goto yy16; - case '-': goto yy17; - case '.': goto yy20; - case '0': goto yy18; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy19; - case '<': goto yy22; - case '=': goto yy21; - case 'F': goto yy15; - case 'N': goto yy5; - case 'O': goto yy13; - case 'T': goto yy9; - case 'Y': goto yy11; - case 'f': goto yy14; - case 'n': goto yy4; - case 'o': goto yy12; - case 't': goto yy8; - case 'y': goto yy10; - case '~': goto yy2; - default: goto yy23; - } -yy2: ++YYCURSOR; - if((yych = *YYCURSOR) <= '\000') goto yy6; - goto yy3; + if(yych <= 'N'){ + if(yych <= '0'){ + if(yych <= ','){ + if(yych <= '\000') goto yy6; + if(yych == '+') goto yy16; + goto yy23; + } else { + if(yych <= '-') goto yy17; + if(yych <= '.') goto yy20; + if(yych <= '/') goto yy23; + goto yy18; + } + } else { + if(yych <= '='){ + if(yych <= '9') goto yy19; + if(yych <= ';') goto yy23; + if(yych <= '<') goto yy22; + goto yy21; + } else { + if(yych == 'F') goto yy15; + if(yych <= 'M') goto yy23; + goto yy5; + } + } + } else { + if(yych <= 'm'){ + if(yych <= 'X'){ + if(yych <= 'O') goto yy13; + if(yych == 'T') goto yy11; + goto yy23; + } else { + if(yych <= 'Y') goto yy9; + if(yych == 'f') goto yy14; + goto yy23; + } + } else { + if(yych <= 't'){ + if(yych <= 'n') goto yy4; + if(yych <= 'o') goto yy12; + if(yych <= 's') goto yy23; + goto yy10; + } else { + if(yych <= 'y'){ + if(yych <= 'x') goto yy23; + goto yy8; + } else { + if(yych != '~') goto yy23; + } + } + } + } +yy2: yych = *++YYCURSOR; + if(yych <= '\000') goto yy6; yy3: -#line 119 "implicit.re" -{ return "str"; } -#line 51 "" +#line 122 + { return "str"; } yy4: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 'o': goto yy168; - case 'u': goto yy196; - default: goto yy3; - } + if(yych == 'o') goto yy172; + if(yych == 'u') goto yy200; + goto yy3; yy5: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 'O': case 'o': goto yy168; - case 'U': goto yy191; - case 'u': goto yy192; - default: goto yy3; - } -yy6: ++YYCURSOR; - goto yy7; + if(yych <= 'U'){ + if(yych == 'O') goto yy172; + if(yych <= 'T') goto yy3; + goto yy195; + } else { + if(yych <= 'o'){ + if(yych <= 'n') goto yy3; + goto yy172; + } else { + if(yych == 'u') goto yy196; + goto yy3; + } + } +yy6: yych = *++YYCURSOR; yy7: -#line 83 "implicit.re" -{ return "null"; } -#line 72 "" +#line 84 + { return "null"; } yy8: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 'r': goto yy189; - default: goto yy3; - } + if(yych == 'e') goto yy194; + goto yy3; yy9: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 'R': goto yy185; - case 'r': goto yy186; - default: goto yy3; - } + if(yych == 'E') goto yy192; + if(yych == 'e') goto yy193; + goto yy3; yy10: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 'e': goto yy184; - default: goto yy3; - } + if(yych == 'r') goto yy190; + goto yy3; yy11: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 'E': goto yy182; - case 'e': goto yy183; - default: goto yy3; - } + if(yych == 'R') goto yy186; + if(yych == 'r') goto yy187; + goto yy3; yy12: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 'f': goto yy181; - case 'n': goto yy178; - default: goto yy3; - } + if(yych == 'f') goto yy185; + if(yych == 'n') goto yy182; + goto yy3; yy13: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 'F': goto yy176; - case 'N': case 'n': goto yy178; - case 'f': goto yy177; - default: goto yy3; + if(yych <= 'N'){ + if(yych == 'F') goto yy180; + if(yych <= 'M') goto yy3; + goto yy182; + } else { + if(yych <= 'f'){ + if(yych <= 'e') goto yy3; + goto yy181; + } else { + if(yych == 'n') goto yy182; + goto yy3; + } } yy14: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 'a': goto yy173; - default: goto yy3; - } + if(yych == 'a') goto yy177; + goto yy3; yy15: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 'A': goto yy164; - case 'a': goto yy165; - default: goto yy3; - } + if(yych == 'A') goto yy168; + if(yych == 'a') goto yy169; + goto yy3; yy16: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '.': goto yy163; - case '0': goto yy154; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy47; - default: goto yy3; + if(yych <= '/'){ + if(yych == '.') goto yy167; + goto yy3; + } else { + if(yych <= '0') goto yy158; + if(yych <= '9') goto yy47; + goto yy3; } yy17: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '.': goto yy153; - case '0': goto yy154; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy47; - default: goto yy3; + if(yych <= '/'){ + if(yych == '.') goto yy157; + goto yy3; + } else { + if(yych <= '0') goto yy158; + if(yych <= '9') goto yy47; + goto yy3; } yy18: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '\000': goto yy51; - case ',': goto yy138; - case '.': goto yy49; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': goto yy136; - case '8': - case '9': goto yy137; - case ':': goto yy53; - case 'x': goto yy140; - default: goto yy3; + if(yych <= '/'){ + if(yych <= ','){ + if(yych <= '\000') goto yy52; + if(yych <= '+') goto yy3; + goto yy142; + } else { + if(yych == '.') goto yy50; + goto yy3; + } + } else { + if(yych <= ':'){ + if(yych <= '7') goto yy140; + if(yych <= '9') goto yy141; + goto yy49; + } else { + if(yych == 'x') goto yy144; + goto yy3; + } } yy19: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '\000': goto yy51; - case ',': goto yy47; - case '.': goto yy49; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy46; - case ':': goto yy53; - default: goto yy3; + if(yych <= '-'){ + if(yych <= '\000') goto yy52; + if(yych == ',') goto yy47; + goto yy3; + } else { + if(yych <= '/'){ + if(yych <= '.') goto yy50; + goto yy3; + } else { + if(yych <= '9') goto yy46; + if(yych <= ':') goto yy49; + goto yy3; + } } yy20: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case 'I': goto yy33; - case 'N': goto yy31; - case 'i': goto yy32; - case 'n': goto yy30; - default: goto yy3; + if(yych <= 'N'){ + if(yych == 'I') goto yy33; + if(yych <= 'M') goto yy3; + goto yy31; + } else { + if(yych <= 'i'){ + if(yych <= 'h') goto yy3; + goto yy32; + } else { + if(yych == 'n') goto yy30; + goto yy3; + } } yy21: yych = *++YYCURSOR; if(yych <= '\000') goto yy28; goto yy3; yy22: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case '<': goto yy24; - default: goto yy3; - } + if(yych == '<') goto yy24; + goto yy3; yy23: yych = *++YYCURSOR; goto yy3; yy24: yych = *++YYCURSOR; if(yych <= '\000') goto yy26; - goto yy25; yy25: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } -yy26: ++YYCURSOR; - goto yy27; +yy26: yych = *++YYCURSOR; yy27: -#line 117 "implicit.re" -{ return "merge"; } -#line 230 "" -yy28: ++YYCURSOR; - goto yy29; +#line 120 + { return "merge"; } +yy28: yych = *++YYCURSOR; yy29: -#line 115 "implicit.re" -{ return "default"; } -#line 236 "" +#line 118 + { return "default"; } yy30: yych = *++YYCURSOR; - switch(yych){ - case 'a': goto yy45; - default: goto yy25; - } + if(yych == 'a') goto yy45; + goto yy25; yy31: yych = *++YYCURSOR; - switch(yych){ - case 'A': goto yy40; - case 'a': goto yy41; - default: goto yy25; - } + if(yych == 'A') goto yy40; + if(yych == 'a') goto yy41; + goto yy25; yy32: yych = *++YYCURSOR; - switch(yych){ - case 'n': goto yy39; - default: goto yy25; - } + if(yych == 'n') goto yy39; + goto yy25; yy33: yych = *++YYCURSOR; - switch(yych){ - case 'N': goto yy34; - case 'n': goto yy35; - default: goto yy25; - } + if(yych == 'N') goto yy34; + if(yych == 'n') goto yy35; + goto yy25; yy34: yych = *++YYCURSOR; - switch(yych){ - case 'F': goto yy36; - default: goto yy25; - } + if(yych == 'F') goto yy36; + goto yy25; yy35: yych = *++YYCURSOR; - switch(yych){ - case 'f': goto yy36; - default: goto yy25; - } + if(yych != 'f') goto yy25; yy36: yych = *++YYCURSOR; if(yych >= '\001') goto yy25; - goto yy37; -yy37: ++YYCURSOR; - goto yy38; +yy37: yych = *++YYCURSOR; yy38: -#line 101 "implicit.re" -{ return "float#inf"; } -#line 277 "" +#line 104 + { return "float#inf"; } yy39: yych = *++YYCURSOR; - switch(yych){ - case 'f': goto yy36; - default: goto yy25; - } + if(yych == 'f') goto yy36; + goto yy25; yy40: yych = *++YYCURSOR; - switch(yych){ - case 'N': goto yy42; - default: goto yy25; - } + if(yych == 'N') goto yy42; + goto yy25; yy41: yych = *++YYCURSOR; - switch(yych){ - case 'N': goto yy42; - default: goto yy25; - } + if(yych != 'N') goto yy25; yy42: yych = *++YYCURSOR; if(yych >= '\001') goto yy25; - goto yy43; -yy43: ++YYCURSOR; - goto yy44; +yy43: yych = *++YYCURSOR; yy44: -#line 105 "implicit.re" -{ return "float#nan"; } -#line 301 "" +#line 108 + { return "float#nan"; } yy45: yych = *++YYCURSOR; - switch(yych){ - case 'n': goto yy42; - default: goto yy25; - } + if(yych == 'n') goto yy42; + goto yy25; yy46: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy70; - default: goto yy48; - } + if(yych <= '/') goto yy48; + if(yych <= '9') goto yy74; + goto yy48; yy47: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy48; -yy48: switch(yych){ - case '\000': goto yy51; - case ',': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy47; - case '.': goto yy49; - case ':': goto yy53; - default: goto yy25; +yy48: if(yybm[0+yych] & 1) goto yy47; + if(yych <= '.'){ + if(yych <= '\000') goto yy52; + if(yych <= '-') goto yy25; + goto yy50; + } else { + if(yych <= '/') goto yy25; + if(yych >= ';') goto yy25; } yy49: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy50; -yy50: switch(yych){ - case '\000': goto yy60; - case ',': goto yy58; - case '.': goto yy62; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy49; - case 'E': case 'e': goto yy64; - default: goto yy25; - } -yy51: ++YYCURSOR; - goto yy52; -yy52: -#line 95 "implicit.re" -{ return "int"; } -#line 369 "" -yy53: ++YYCURSOR; + if(yych <= '/') goto yy25; + if(yych <= '5') goto yy66; + if(yych <= '9') goto yy67; + goto yy25; +yy50: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy54; - case '6': - case '7': - case '8': - case '9': goto yy55; - default: goto yy25; - } +yy51: if(yybm[0+yych] & 2) goto yy50; + if(yych <= '.'){ + if(yych <= '+'){ + if(yych <= '\000') goto yy56; + goto yy25; + } else { + if(yych <= ',') goto yy54; + if(yych <= '-') goto yy25; + goto yy58; + } + } else { + if(yych <= 'E'){ + if(yych <= 'D') goto yy25; + goto yy60; + } else { + if(yych == 'e') goto yy60; + goto yy25; + } + } +yy52: yych = *++YYCURSOR; +yy53: +#line 96 + { return "int"; } yy54: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy56; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy55; - case ':': goto yy53; - default: goto yy25; - } -yy55: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy56; - case ':': goto yy53; - default: goto yy25; - } -yy56: ++YYCURSOR; - goto yy57; +yy55: if(yych <= ','){ + if(yych <= '\000') goto yy56; + if(yych <= '+') goto yy25; + goto yy54; + } else { + if(yych <= '/') goto yy25; + if(yych <= '9') goto yy54; + goto yy25; + } +yy56: yych = *++YYCURSOR; yy57: -#line 93 "implicit.re" -{ return "int#base60"; } -#line 420 "" +#line 98 + { return "float#fix"; } yy58: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy59; -yy59: switch(yych){ - case '\000': goto yy60; - case ',': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy58; - default: goto yy25; - } -yy60: ++YYCURSOR; - goto yy61; -yy61: -#line 97 "implicit.re" -{ return "float#fix"; } -#line 445 "" +yy59: if(yybm[0+yych] & 4) goto yy58; + if(yych == 'E') goto yy60; + if(yych != 'e') goto yy25; +yy60: yych = *++YYCURSOR; + if(yych == '+') goto yy61; + if(yych != '-') goto yy25; +yy61: yych = *++YYCURSOR; + if(yych <= '\000') goto yy25; + goto yy63; yy62: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy63; -yy63: switch(yych){ - case '.': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy62; - case 'E': case 'e': goto yy64; - default: goto yy25; - } +yy63: if(yych <= '\000') goto yy64; + if(yych <= '/') goto yy25; + if(yych <= '9') goto yy62; + goto yy25; yy64: yych = *++YYCURSOR; - switch(yych){ - case '+': case '-': goto yy65; - default: goto yy25; - } -yy65: yych = *++YYCURSOR; - if(yych <= '\000') goto yy25; - goto yy67; +yy65: +#line 100 + { return "float#exp"; } yy66: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy67; -yy67: switch(yych){ - case '\000': goto yy68; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy66; - default: goto yy25; + if(yych <= '.'){ + if(yych <= '\000') goto yy70; + if(yych <= '-') goto yy25; + goto yy68; + } else { + if(yych <= '/') goto yy25; + if(yych <= '9') goto yy67; + if(yych <= ':') goto yy49; + goto yy25; + } +yy67: ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if(yych <= '.'){ + if(yych <= '\000') goto yy70; + if(yych <= '-') goto yy25; + } else { + if(yych == ':') goto yy49; + goto yy25; } yy68: ++YYCURSOR; - goto yy69; -yy69: -#line 99 "implicit.re" -{ return "float#exp"; } -#line 497 "" -yy70: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy71; - default: goto yy48; - } -yy71: yych = *++YYCURSOR; - switch(yych){ - case '-': goto yy72; - default: goto yy48; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy69: if(yych <= ','){ + if(yych <= '\000') goto yy72; + if(yych <= '+') goto yy25; + goto yy68; + } else { + if(yych <= '/') goto yy25; + if(yych <= '9') goto yy68; + goto yy25; } +yy70: yych = *++YYCURSOR; +yy71: +#line 94 + { return "int#base60"; } yy72: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy73; - default: goto yy25; - } -yy73: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy74; - default: goto yy25; - } +yy73: +#line 102 + { return "float#base60"; } yy74: yych = *++YYCURSOR; - switch(yych){ - case '-': goto yy75; - default: goto yy25; - } + if(yych <= '/') goto yy48; + if(yych >= ':') goto yy48; yy75: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy76; - default: goto yy25; - } + if(yych != '-') goto yy48; yy76: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy77; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy77: yych = *++YYCURSOR; - switch(yych){ - case '\000': goto yy78; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy25; - case 'T': goto yy80; - case 't': goto yy81; - default: goto yy83; - } -yy78: ++YYCURSOR; - goto yy79; -yy79: -#line 107 "implicit.re" -{ return "timestamp#ymd"; } -#line 600 "" + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; +yy78: yych = *++YYCURSOR; + if(yych != '-') goto yy25; +yy79: yych = *++YYCURSOR; + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy80: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy122; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy81: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy104; - default: goto yy25; - } -yy82: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy83; -yy83: switch(yych){ - case '\t': case ' ': goto yy82; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy84; - default: goto yy25; - } + if(yych <= 'S'){ + if(yych <= '\000') goto yy82; + if(yych <= '/') goto yy87; + if(yych <= '9') goto yy25; + goto yy87; + } else { + if(yych <= 'T') goto yy84; + if(yych == 't') goto yy85; + goto yy87; + } +yy82: yych = *++YYCURSOR; +yy83: +#line 110 + { return "timestamp#ymd"; } yy84: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy85; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych <= '9') goto yy126; + goto yy25; yy85: yych = *++YYCURSOR; - switch(yych){ - case ':': goto yy86; - default: goto yy25; - } -yy86: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy87; - default: goto yy25; - } -yy87: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy88; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych <= '9') goto yy108; + goto yy25; +yy86: ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy87: if(yybm[0+yych] & 8) goto yy86; + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy88: yych = *++YYCURSOR; - switch(yych){ - case ':': goto yy89; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy89: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy90; - default: goto yy25; - } + if(yych != ':') goto yy25; yy90: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy91; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy91: yych = *++YYCURSOR; - switch(yych){ - case '\t': case ' ': goto yy94; - case '.': goto yy92; - default: goto yy25; - } -yy92: ++YYCURSOR; + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; +yy92: yych = *++YYCURSOR; + if(yych != ':') goto yy25; +yy93: yych = *++YYCURSOR; + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; +yy94: yych = *++YYCURSOR; + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; +yy95: yych = *++YYCURSOR; + if(yych <= '\037'){ + if(yych == '\t') goto yy98; + goto yy25; + } else { + if(yych <= ' ') goto yy98; + if(yych != '.') goto yy25; + } +yy96: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy93; -yy93: switch(yych){ - case '\t': case ' ': goto yy94; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy92; - default: goto yy25; - } -yy94: ++YYCURSOR; +yy97: if(yych <= '\037'){ + if(yych != '\t') goto yy25; + } else { + if(yych <= ' ') goto yy98; + if(yych <= '/') goto yy25; + if(yych <= '9') goto yy96; + goto yy25; + } +yy98: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy95; -yy95: switch(yych){ - case '\t': case ' ': goto yy94; - case '+': case '-': goto yy97; - case 'Z': goto yy96; - default: goto yy25; - } -yy96: yych = *++YYCURSOR; - if(yych <= '\000') goto yy101; - goto yy25; -yy97: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy98; - default: goto yy25; - } -yy98: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy99; - default: goto yy25; - } -yy99: yych = *++YYCURSOR; - switch(yych){ - case '\000': goto yy101; - case ':': goto yy100; - default: goto yy25; +yy99: if(yych <= '*'){ + if(yych <= '\t'){ + if(yych <= '\b') goto yy25; + goto yy98; + } else { + if(yych == ' ') goto yy98; + goto yy25; + } + } else { + if(yych <= '-'){ + if(yych == ',') goto yy25; + goto yy101; + } else { + if(yych != 'Z') goto yy25; + } } yy100: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy103; - default: goto yy25; - } -yy101: ++YYCURSOR; - goto yy102; -yy102: -#line 111 "implicit.re" -{ return "timestamp#spaced"; } -#line 820 "" + if(yych <= '\000') goto yy105; + goto yy25; +yy101: yych = *++YYCURSOR; + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; +yy102: yych = *++YYCURSOR; + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy103: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy96; - default: goto yy25; - } + if(yych <= '\000') goto yy105; + if(yych != ':') goto yy25; yy104: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy105; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych <= '9') goto yy107; + goto yy25; yy105: yych = *++YYCURSOR; - switch(yych){ - case ':': goto yy106; - default: goto yy25; - } -yy106: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy107; - default: goto yy25; - } +yy106: +#line 114 + { return "timestamp#spaced"; } yy107: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy108; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych <= '9') goto yy100; + goto yy25; yy108: yych = *++YYCURSOR; - switch(yych){ - case ':': goto yy109; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy109: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy110; - default: goto yy25; - } + if(yych != ':') goto yy25; yy110: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy111; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy111: yych = *++YYCURSOR; - switch(yych){ - case '.': goto yy112; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy25; - default: goto yy113; - } -yy112: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy113; -yy113: switch(yych){ - case '+': case '-': goto yy115; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy112; - case 'Z': goto yy114; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; +yy112: yych = *++YYCURSOR; + if(yych != ':') goto yy25; +yy113: yych = *++YYCURSOR; + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy114: yych = *++YYCURSOR; - if(yych <= '\000') goto yy119; - goto yy25; + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy115: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy116; - default: goto yy25; - } -yy116: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy117; - default: goto yy25; - } -yy117: yych = *++YYCURSOR; - switch(yych){ - case '\000': goto yy119; - case ':': goto yy118; - default: goto yy25; + if(yych == '.') goto yy116; + if(yych <= '/') goto yy117; + if(yych <= '9') goto yy25; + goto yy117; +yy116: ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy117: if(yych <= '-'){ + if(yych == '+') goto yy119; + if(yych <= ',') goto yy25; + goto yy119; + } else { + if(yych <= '9'){ + if(yych <= '/') goto yy25; + goto yy116; + } else { + if(yych != 'Z') goto yy25; + } } yy118: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy121; - default: goto yy25; - } -yy119: ++YYCURSOR; - goto yy120; -yy120: -#line 109 "implicit.re" -{ return "timestamp#iso8601"; } -#line 1006 "" + if(yych <= '\000') goto yy123; + goto yy25; +yy119: yych = *++YYCURSOR; + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; +yy120: yych = *++YYCURSOR; + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy121: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy114; - default: goto yy25; - } + if(yych <= '\000') goto yy123; + if(yych != ':') goto yy25; yy122: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy123; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych <= '9') goto yy125; + goto yy25; yy123: yych = *++YYCURSOR; - switch(yych){ - case ':': goto yy124; - default: goto yy25; - } -yy124: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy125; - default: goto yy25; - } +yy124: +#line 112 + { return "timestamp#iso8601"; } yy125: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy126; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych <= '9') goto yy118; + goto yy25; yy126: yych = *++YYCURSOR; - switch(yych){ - case ':': goto yy127; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy127: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy128; - default: goto yy25; - } + if(yych != ':') goto yy25; yy128: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy129; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy129: yych = *++YYCURSOR; - switch(yych){ - case '.': goto yy130; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy25; - case 'Z': goto yy132; - default: goto yy131; - } -yy130: ++YYCURSOR; - if((YYLIMIT - YYCURSOR) < 7) YYFILL(7); - yych = *YYCURSOR; - goto yy131; -yy131: switch(yych){ - case '+': case '-': goto yy115; - case '0': goto yy130; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case 'Z': goto yy114; - default: goto yy25; - } + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; +yy130: yych = *++YYCURSOR; + if(yych != ':') goto yy25; +yy131: yych = *++YYCURSOR; + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy132: yych = *++YYCURSOR; - if(yych >= '\001') goto yy25; - goto yy133; + if(yych <= '/') goto yy25; + if(yych >= ':') goto yy25; yy133: yych = *++YYCURSOR; - goto yy120; + if(yych <= '/'){ + if(yych != '.') goto yy135; + } else { + if(yych <= '9') goto yy25; + if(yych == 'Z') goto yy136; + goto yy135; + } yy134: ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; - goto yy135; -yy135: switch(yych){ - case '+': case '-': goto yy115; - case '0': goto yy130; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case 'Z': goto yy132; - default: goto yy25; +yy135: if(yybm[0+yych] & 16) goto yy134; + if(yych <= '-'){ + if(yych == '+') goto yy119; + if(yych <= ',') goto yy25; + goto yy119; + } else { + if(yych <= '9'){ + if(yych <= '0') goto yy25; + goto yy138; + } else { + if(yych == 'Z') goto yy118; + goto yy25; + } } yy136: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': goto yy151; - case '8': - case '9': goto yy149; - default: goto yy139; - } + if(yych >= '\001') goto yy25; yy137: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy149; - default: goto yy148; - } + goto yy124; yy138: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; - goto yy139; -yy139: switch(yych){ - case '\000': goto yy145; - case ',': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': goto yy138; - case '.': goto yy49; - case '8': - case '9': goto yy147; - case ':': goto yy53; - default: goto yy25; +yy139: if(yybm[0+yych] & 16) goto yy134; + if(yych <= '-'){ + if(yych == '+') goto yy119; + if(yych <= ',') goto yy25; + goto yy119; + } else { + if(yych <= '9'){ + if(yych <= '0') goto yy25; + goto yy138; + } else { + if(yych == 'Z') goto yy136; + goto yy25; + } } yy140: yych = *++YYCURSOR; - if(yych <= '\000') goto yy25; - goto yy142; -yy141: ++YYCURSOR; + if(yych <= '/') goto yy143; + if(yych <= '7') goto yy155; + if(yych <= '9') goto yy153; + goto yy143; +yy141: yych = *++YYCURSOR; + if(yych <= '/') goto yy152; + if(yych <= '9') goto yy153; + goto yy152; +yy142: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy142; -yy142: switch(yych){ - case '\000': goto yy143; - 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 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': goto yy141; - default: goto yy25; - } -yy143: ++YYCURSOR; - goto yy144; -yy144: -#line 89 "implicit.re" -{ return "int#hex"; } -#line 1248 "" -yy145: ++YYCURSOR; +yy143: if(yybm[0+yych] & 64) goto yy142; + if(yych <= '.'){ + if(yych <= '\000') goto yy149; + if(yych <= '-') goto yy25; + goto yy50; + } else { + if(yych <= '/') goto yy25; + if(yych <= '9') goto yy151; + if(yych <= ':') goto yy49; + goto yy25; + } +yy144: yych = *++YYCURSOR; + if(yych <= '\000') goto yy25; goto yy146; -yy146: -#line 91 "implicit.re" -{ return "int#oct"; } -#line 1254 "" -yy147: ++YYCURSOR; +yy145: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy148; -yy148: switch(yych){ - case ',': case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy147; - case '.': goto yy49; - case ':': goto yy53; - default: goto yy25; - } +yy146: if(yybm[0+yych] & 128) goto yy145; + if(yych >= '\001') goto yy25; +yy147: yych = *++YYCURSOR; +yy148: +#line 90 + { return "int#hex"; } yy149: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy150; - default: goto yy148; - } -yy150: yych = *++YYCURSOR; - switch(yych){ - case '-': goto yy72; - default: goto yy148; - } -yy151: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': goto yy152; - case '8': - case '9': goto yy150; - default: goto yy139; - } -yy152: yych = *++YYCURSOR; - switch(yych){ - case '-': goto yy72; - default: goto yy139; +yy150: +#line 92 + { return "int#oct"; } +yy151: ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy152: if(yych <= '.'){ + if(yych == ',') goto yy151; + if(yych <= '-') goto yy25; + goto yy50; + } else { + if(yych <= '/') goto yy25; + if(yych <= '9') goto yy151; + if(yych <= ':') goto yy49; + goto yy25; } yy153: yych = *++YYCURSOR; - switch(yych){ - case 'I': goto yy156; - case 'i': goto yy155; - default: goto yy25; - } + if(yych <= '/') goto yy152; + if(yych >= ':') goto yy152; yy154: yych = *++YYCURSOR; - switch(yych){ - case '\000': goto yy51; - case 'x': goto yy140; - default: goto yy139; - } + if(yych == '-') goto yy76; + goto yy152; yy155: yych = *++YYCURSOR; - switch(yych){ - case 'n': goto yy162; - default: goto yy25; - } + if(yych <= '/') goto yy143; + if(yych <= '7') goto yy156; + if(yych <= '9') goto yy154; + goto yy143; yy156: yych = *++YYCURSOR; - switch(yych){ - case 'N': goto yy157; - case 'n': goto yy158; - default: goto yy25; - } + if(yych == '-') goto yy76; + goto yy143; yy157: yych = *++YYCURSOR; - switch(yych){ - case 'F': goto yy159; - default: goto yy25; - } + if(yych == 'I') goto yy160; + if(yych == 'i') goto yy159; + goto yy25; yy158: yych = *++YYCURSOR; - switch(yych){ - case 'f': goto yy159; - default: goto yy25; - } + if(yych <= '\000') goto yy52; + if(yych == 'x') goto yy144; + goto yy143; yy159: yych = *++YYCURSOR; - if(yych >= '\001') goto yy25; - goto yy160; -yy160: ++YYCURSOR; - goto yy161; -yy161: -#line 103 "implicit.re" -{ return "float#neginf"; } -#line 1354 "" + if(yych == 'n') goto yy166; + goto yy25; +yy160: yych = *++YYCURSOR; + if(yych == 'N') goto yy161; + if(yych == 'n') goto yy162; + goto yy25; +yy161: yych = *++YYCURSOR; + if(yych == 'F') goto yy163; + goto yy25; yy162: yych = *++YYCURSOR; - switch(yych){ - case 'f': goto yy159; - default: goto yy25; - } + if(yych != 'f') goto yy25; yy163: yych = *++YYCURSOR; - switch(yych){ - case 'I': goto yy33; - case 'i': goto yy32; - default: goto yy25; - } + if(yych >= '\001') goto yy25; yy164: yych = *++YYCURSOR; - switch(yych){ - case 'L': goto yy171; - default: goto yy25; - } -yy165: yych = *++YYCURSOR; - switch(yych){ - case 'l': goto yy166; - default: goto yy25; - } +yy165: +#line 106 + { return "float#neginf"; } yy166: yych = *++YYCURSOR; - switch(yych){ - case 's': goto yy167; - default: goto yy25; - } + if(yych == 'f') goto yy163; + goto yy25; yy167: yych = *++YYCURSOR; - switch(yych){ - case 'e': goto yy168; - default: goto yy25; - } + if(yych == 'I') goto yy33; + if(yych == 'i') goto yy32; + goto yy25; yy168: yych = *++YYCURSOR; - if(yych >= '\001') goto yy25; - goto yy169; -yy169: ++YYCURSOR; - goto yy170; -yy170: -#line 87 "implicit.re" -{ return "bool#no"; } -#line 1394 "" + if(yych == 'L') goto yy175; + goto yy25; +yy169: yych = *++YYCURSOR; + if(yych != 'l') goto yy25; +yy170: yych = *++YYCURSOR; + if(yych != 's') goto yy25; yy171: yych = *++YYCURSOR; - switch(yych){ - case 'S': goto yy172; - default: goto yy25; - } + if(yych != 'e') goto yy25; yy172: yych = *++YYCURSOR; - switch(yych){ - case 'E': goto yy168; - default: goto yy25; - } + if(yych >= '\001') goto yy25; yy173: yych = *++YYCURSOR; - switch(yych){ - case 'l': goto yy174; - default: goto yy25; - } -yy174: yych = *++YYCURSOR; - switch(yych){ - case 's': goto yy175; - default: goto yy25; - } +yy174: +#line 88 + { return "bool#no"; } yy175: yych = *++YYCURSOR; - switch(yych){ - case 'e': goto yy168; - default: goto yy25; - } + if(yych != 'S') goto yy25; yy176: yych = *++YYCURSOR; - switch(yych){ - case 'F': goto yy168; - default: goto yy25; - } + if(yych == 'E') goto yy172; + goto yy25; yy177: yych = *++YYCURSOR; - switch(yych){ - case 'f': goto yy168; - default: goto yy25; - } + if(yych != 'l') goto yy25; yy178: yych = *++YYCURSOR; - if(yych >= '\001') goto yy25; - goto yy179; -yy179: ++YYCURSOR; - goto yy180; -yy180: -#line 85 "implicit.re" -{ return "bool#yes"; } -#line 1438 "" + if(yych != 's') goto yy25; +yy179: yych = *++YYCURSOR; + if(yych == 'e') goto yy172; + goto yy25; +yy180: yych = *++YYCURSOR; + if(yych == 'F') goto yy172; + goto yy25; yy181: yych = *++YYCURSOR; - switch(yych){ - case 'f': goto yy168; - default: goto yy25; - } + if(yych == 'f') goto yy172; + goto yy25; yy182: yych = *++YYCURSOR; - switch(yych){ - case 'S': goto yy178; - default: goto yy25; - } + if(yych >= '\001') goto yy25; yy183: yych = *++YYCURSOR; - switch(yych){ - case 's': goto yy178; - default: goto yy25; - } -yy184: yych = *++YYCURSOR; - switch(yych){ - case 's': goto yy178; - default: goto yy25; - } +yy184: +#line 86 + { return "bool#yes"; } yy185: yych = *++YYCURSOR; - switch(yych){ - case 'U': goto yy188; - default: goto yy25; - } + if(yych == 'f') goto yy172; + goto yy25; yy186: yych = *++YYCURSOR; - switch(yych){ - case 'u': goto yy187; - default: goto yy25; - } + if(yych == 'U') goto yy189; + goto yy25; yy187: yych = *++YYCURSOR; - switch(yych){ - case 'e': goto yy178; - default: goto yy25; - } + if(yych != 'u') goto yy25; yy188: yych = *++YYCURSOR; - switch(yych){ - case 'E': goto yy178; - default: goto yy25; - } + if(yych == 'e') goto yy182; + goto yy25; yy189: yych = *++YYCURSOR; - switch(yych){ - case 'u': goto yy190; - default: goto yy25; - } + if(yych == 'E') goto yy182; + goto yy25; yy190: yych = *++YYCURSOR; - switch(yych){ - case 'e': goto yy178; - default: goto yy25; - } + if(yych != 'u') goto yy25; yy191: yych = *++YYCURSOR; - switch(yych){ - case 'L': goto yy195; - default: goto yy25; - } + if(yych == 'e') goto yy182; + goto yy25; yy192: yych = *++YYCURSOR; - switch(yych){ - case 'l': goto yy193; - default: goto yy25; - } + if(yych == 'S') goto yy182; + goto yy25; yy193: yych = *++YYCURSOR; - switch(yych){ - case 'l': goto yy194; - default: goto yy25; - } + if(yych == 's') goto yy182; + goto yy25; yy194: yych = *++YYCURSOR; - if(yych <= '\000') goto yy6; + if(yych == 's') goto yy182; goto yy25; yy195: yych = *++YYCURSOR; - switch(yych){ - case 'L': goto yy194; - default: goto yy25; - } + if(yych == 'L') goto yy199; + goto yy25; yy196: yych = *++YYCURSOR; - switch(yych){ - case 'l': goto yy197; - default: goto yy25; - } -yy197: ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case 'l': goto yy194; - default: goto yy25; - } + if(yych != 'l') goto yy25; +yy197: yych = *++YYCURSOR; + if(yych != 'l') goto yy25; +yy198: yych = *++YYCURSOR; + if(yych <= '\000') goto yy6; + goto yy25; +yy199: yych = *++YYCURSOR; + if(yych == 'L') goto yy198; + goto yy25; +yy200: yych = *++YYCURSOR; + if(yych != 'l') goto yy25; +yy201: yych = *++YYCURSOR; + if(yych == 'l') goto yy198; + goto yy25; } -#line 121 "implicit.re" +#line 124 } @@ -1564,525 +942,217 @@ syck_type_id_to_uri( char *type_id ) cursor = type_id; limit = type_id + strlen( type_id ); - -#line 1525 "" { YYCTYPE yych; unsigned int yyaccept; - goto yy198; -yy199: ++YYCURSOR; -yy198: + static unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 64, 0, 0, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 0, 0, 0, + 0, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 0, 0, 0, 0, 128, + 0, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + }; + goto yy202; +yy203: ++YYCURSOR; +yy202: if((YYLIMIT - YYCURSOR) < 21) YYFILL(21); yych = *YYCURSOR; - switch(yych){ - case '\000': goto yy200; - case '!': goto yy204; - 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 'u': - case 'v': - case 'w': case 'y': - case 'z': goto yy206; - case 't': goto yy201; - case 'x': goto yy203; - default: goto yy207; - } -yy200: YYCURSOR = YYMARKER; + if(yych <= '^'){ + if(yych <= '/'){ + if(yych <= '\000') goto yy204; + if(yych == '!') goto yy208; + goto yy211; + } else { + if(yych <= '9') goto yy210; + if(yych <= '@') goto yy211; + if(yych <= 'Z') goto yy210; + goto yy211; + } + } else { + if(yych <= 't'){ + if(yych == '`') goto yy211; + if(yych <= 's') goto yy210; + goto yy205; + } else { + if(yych == 'x') goto yy207; + if(yych <= 'z') goto yy210; + goto yy211; + } + } +yy204: YYCURSOR = YYMARKER; switch(yyaccept){ - case 0: goto yy202; + case 0: goto yy206; } -yy201: yyaccept = 0; +yy205: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case ',': goto yy212; - case '-': goto yy208; - case '.': goto yy213; - case '/': goto yy214; - 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 '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 yy210; - case 'a': goto yy242; - default: goto yy202; - } -yy202: -#line 173 "implicit.re" -{ return syck_taguri( YAML_DOMAIN, type_id, strlen( type_id ) ); } -#line 1673 "" -yy203: yyaccept = 0; + if(yybm[0+yych] & 64) goto yy212; + if(yych <= '@'){ + if(yych <= '.'){ + if(yych <= '+') goto yy206; + if(yych <= ',') goto yy216; + goto yy217; + } else { + if(yych <= '/') goto yy218; + if(yych <= '9') goto yy214; + } + } else { + if(yych <= '_'){ + if(yych <= 'Z') goto yy214; + if(yych >= '_') goto yy214; + } else { + if(yych <= '`') goto yy206; + if(yych <= 'a') goto yy246; + if(yych <= 'z') goto yy214; + } + } +yy206: +#line 176 + { return syck_taguri( YAML_DOMAIN, type_id, strlen( type_id ) ); } +yy207: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case ',': case '.': - 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 yy211; - case '-': goto yy232; - default: goto yy202; - } -yy204: ++YYCURSOR; - goto yy205; -yy205: -#line 147 "implicit.re" -{ return syck_xprivate( type_id + 1, strlen( type_id ) - 1 ); } -#line 1747 "" -yy206: yyaccept = 0; + if(yych <= '@'){ + if(yych <= ','){ + if(yych <= '+') goto yy206; + goto yy215; + } else { + if(yych <= '-') goto yy236; + if(yych <= '9') goto yy215; + goto yy206; + } + } else { + if(yych <= '_'){ + if(yych <= 'Z') goto yy215; + if(yych <= '^') goto yy206; + goto yy215; + } else { + if(yych <= '`') goto yy206; + if(yych <= 'z') goto yy215; + goto yy206; + } + } +yy208: yych = *++YYCURSOR; +yy209: +#line 150 + { return syck_xprivate( type_id + 1, strlen( type_id ) - 1 ); } +yy210: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch(yych){ - case ',': goto yy212; - case '-': goto yy208; - case '.': goto yy213; - case '/': goto yy214; - 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 yy210; - default: goto yy202; - } -yy207: yych = *++YYCURSOR; - goto yy202; -yy208: ++YYCURSOR; + if(yybm[0+yych] & 64) goto yy212; + if(yych <= '@'){ + if(yych <= '.'){ + if(yych <= '+') goto yy206; + if(yych <= ',') goto yy216; + goto yy217; + } else { + if(yych <= '/') goto yy218; + if(yych <= '9') goto yy214; + goto yy206; + } + } else { + if(yych <= '_'){ + if(yych <= 'Z') goto yy214; + if(yych <= '^') goto yy206; + goto yy214; + } else { + if(yych <= '`') goto yy206; + if(yych <= 'z') goto yy214; + goto yy206; + } + } +yy211: yych = *++YYCURSOR; + goto yy206; +yy212: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy209; -yy209: switch(yych){ - case '-': goto yy208; - 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 yy210; - default: goto yy200; +yy213: if(yybm[0+yych] & 64) goto yy212; + if(yych <= 'Z'){ + if(yych <= '/') goto yy204; + if(yych <= '9') goto yy214; + if(yych <= '@') goto yy204; + } else { + if(yych <= '_'){ + if(yych <= '^') goto yy204; + } else { + if(yych <= '`') goto yy204; + if(yych >= '{') goto yy204; + } } -yy210: ++YYCURSOR; +yy214: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy211; -yy211: switch(yych){ - case ',': goto yy212; - case '-': goto yy208; - case '.': goto yy213; - case '/': goto yy214; - 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 yy210; - default: goto yy200; - } -yy212: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy220; - default: goto yy200; - } -yy213: ++YYCURSOR; +yy215: if(yybm[0+yych] & 64) goto yy212; + if(yych <= '@'){ + if(yych <= '.'){ + if(yych <= '+') goto yy204; + if(yych >= '-') goto yy217; + } else { + if(yych <= '/') goto yy218; + if(yych <= '9') goto yy214; + goto yy204; + } + } else { + if(yych <= '_'){ + if(yych <= 'Z') goto yy214; + if(yych <= '^') goto yy204; + goto yy214; + } else { + if(yych <= '`') goto yy204; + if(yych <= 'z') goto yy214; + goto yy204; + } + } +yy216: yych = *++YYCURSOR; + if(yych <= '/') goto yy204; + if(yych <= '9') goto yy224; + goto yy204; +yy217: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); 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 '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 yy216; - default: goto yy200; - } -yy214: ++YYCURSOR; - goto yy215; -yy215: -#line 149 "implicit.re" -{ char *domain = S_ALLOC_N( char, ( YYCURSOR - type_id ) + 15 ); + if(yych <= 'Z'){ + if(yych <= '/') goto yy204; + if(yych <= '9') goto yy220; + if(yych <= '@') goto yy204; + goto yy220; + } else { + if(yych <= '_'){ + if(yych <= '^') goto yy204; + goto yy220; + } else { + if(yych <= '`') goto yy204; + if(yych <= 'z') goto yy220; + goto yy204; + } + } +yy218: yych = *++YYCURSOR; +yy219: +#line 152 + { char *domain = S_ALLOC_N( char, ( YYCURSOR - type_id ) + 15 ); char *uri; domain[0] = '\0'; @@ -2094,213 +1164,73 @@ yy215: S_FREE( domain ); return uri; } -#line 2057 "" -yy216: ++YYCURSOR; +yy220: ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - goto yy217; -yy217: switch(yych){ - case ',': goto yy212; - case '-': goto yy218; - case '.': goto yy213; - case '/': goto yy214; - 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 yy216; - default: goto yy200; - } -yy218: ++YYCURSOR; +yy221: if(yych <= '9'){ + if(yych <= '-'){ + if(yych <= '+') goto yy204; + if(yych <= ',') goto yy216; + } else { + if(yych <= '.') goto yy217; + if(yych <= '/') goto yy218; + goto yy220; + } + } else { + if(yych <= '^'){ + if(yych <= '@') goto yy204; + if(yych <= 'Z') goto yy220; + goto yy204; + } else { + if(yych == '`') goto yy204; + if(yych <= 'z') goto yy220; + goto yy204; + } + } +yy222: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy219; -yy219: switch(yych){ - case '-': goto yy218; - 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 yy216; - default: goto yy200; - } -yy220: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy221; - default: goto yy200; - } -yy221: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy222; - default: goto yy200; - } -yy222: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy223; - default: goto yy200; - } -yy223: yych = *++YYCURSOR; - switch(yych){ - case '-': goto yy224; - case '/': goto yy225; - default: goto yy200; +yy223: if(yych <= '@'){ + if(yych <= '-'){ + if(yych <= ',') goto yy204; + goto yy222; + } else { + if(yych <= '/') goto yy204; + if(yych <= '9') goto yy220; + goto yy204; + } + } else { + if(yych <= '_'){ + if(yych <= 'Z') goto yy220; + if(yych <= '^') goto yy204; + goto yy220; + } else { + if(yych <= '`') goto yy204; + if(yych <= 'z') goto yy220; + goto yy204; + } } yy224: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy227; - default: goto yy200; - } -yy225: ++YYCURSOR; - goto yy226; -yy226: -#line 162 "implicit.re" -{ char *domain = S_ALLOC_N( char, YYCURSOR - type_id ); + if(yych <= '/') goto yy204; + if(yych >= ':') goto yy204; +yy225: yych = *++YYCURSOR; + if(yych <= '/') goto yy204; + if(yych >= ':') goto yy204; +yy226: yych = *++YYCURSOR; + if(yych <= '/') goto yy204; + if(yych >= ':') goto yy204; +yy227: yych = *++YYCURSOR; + if(yych == '-') goto yy228; + if(yych == '/') goto yy229; + goto yy204; +yy228: yych = *++YYCURSOR; + if(yych <= '/') goto yy204; + if(yych <= '9') goto yy231; + goto yy204; +yy229: yych = *++YYCURSOR; +yy230: +#line 165 + { char *domain = S_ALLOC_N( char, YYCURSOR - type_id ); char *uri; domain[0] = '\0'; @@ -2310,629 +1240,263 @@ yy226: S_FREE( domain ); return uri; } -#line 2275 "" -yy227: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy228; - default: goto yy200; - } -yy228: yych = *++YYCURSOR; - switch(yych){ - case '-': goto yy229; - case '/': goto yy225; - default: goto yy200; - } -yy229: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy230; - default: goto yy200; - } -yy230: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy231; - default: goto yy200; - } yy231: yych = *++YYCURSOR; - switch(yych){ - case '/': goto yy225; - default: goto yy200; - } + if(yych <= '/') goto yy204; + if(yych >= ':') goto yy204; yy232: yych = *++YYCURSOR; - switch(yych){ - case 'p': goto yy233; - default: goto yy209; - } + if(yych == '-') goto yy233; + if(yych == '/') goto yy229; + goto yy204; yy233: yych = *++YYCURSOR; - switch(yych){ - case ',': goto yy212; - case '.': goto yy213; - case '/': goto yy214; - case 'r': goto yy234; - default: goto yy209; - } + if(yych <= '/') goto yy204; + if(yych >= ':') goto yy204; yy234: yych = *++YYCURSOR; - switch(yych){ - case ',': goto yy212; - case '.': goto yy213; - case '/': goto yy214; - case 'i': goto yy235; - default: goto yy209; - } + if(yych <= '/') goto yy204; + if(yych >= ':') goto yy204; yy235: yych = *++YYCURSOR; - switch(yych){ - case ',': goto yy212; - case '.': goto yy213; - case '/': goto yy214; - case 'v': goto yy236; - default: goto yy209; - } + if(yych == '/') goto yy229; + goto yy204; yy236: yych = *++YYCURSOR; - switch(yych){ - case ',': goto yy212; - case '.': goto yy213; - case '/': goto yy214; - case 'a': goto yy237; - default: goto yy209; - } + if(yych != 'p') goto yy213; yy237: yych = *++YYCURSOR; - switch(yych){ - case ',': goto yy212; - case '.': goto yy213; - case '/': goto yy214; - case 't': goto yy238; - default: goto yy209; + if(yych <= '.'){ + if(yych == ',') goto yy216; + if(yych <= '-') goto yy213; + goto yy217; + } else { + if(yych <= '/') goto yy218; + if(yych != 'r') goto yy213; } yy238: yych = *++YYCURSOR; - switch(yych){ - case ',': goto yy212; - case '.': goto yy213; - case '/': goto yy214; - case 'e': goto yy239; - default: goto yy209; + if(yych <= '.'){ + if(yych == ',') goto yy216; + if(yych <= '-') goto yy213; + goto yy217; + } else { + if(yych <= '/') goto yy218; + if(yych != 'i') goto yy213; } yy239: yych = *++YYCURSOR; - switch(yych){ - case ',': goto yy212; - case '.': goto yy213; - case '/': goto yy214; - case ':': goto yy240; - default: goto yy209; + if(yych <= '.'){ + if(yych == ',') goto yy216; + if(yych <= '-') goto yy213; + goto yy217; + } else { + if(yych <= '/') goto yy218; + if(yych != 'v') goto yy213; + } +yy240: yych = *++YYCURSOR; + if(yych <= '.'){ + if(yych == ',') goto yy216; + if(yych <= '-') goto yy213; + goto yy217; + } else { + if(yych <= '/') goto yy218; + if(yych != 'a') goto yy213; + } +yy241: yych = *++YYCURSOR; + if(yych <= '.'){ + if(yych == ',') goto yy216; + if(yych <= '-') goto yy213; + goto yy217; + } else { + if(yych <= '/') goto yy218; + if(yych != 't') goto yy213; } -yy240: ++YYCURSOR; - goto yy241; -yy241: -#line 145 "implicit.re" -{ return type_id; } -#line 2395 "" yy242: yych = *++YYCURSOR; - switch(yych){ - case ',': goto yy212; - case '.': goto yy213; - case '/': goto yy214; - case 'g': goto yy243; - default: goto yy209; + if(yych <= '.'){ + if(yych == ',') goto yy216; + if(yych <= '-') goto yy213; + goto yy217; + } else { + if(yych <= '/') goto yy218; + if(yych != 'e') goto yy213; } yy243: yych = *++YYCURSOR; - switch(yych){ - case ',': goto yy212; - case '.': goto yy213; - case '/': goto yy214; - case ':': goto yy244; - default: goto yy209; + if(yych <= '.'){ + if(yych == ',') goto yy216; + if(yych <= '-') goto yy213; + goto yy217; + } else { + if(yych <= '/') goto yy218; + if(yych != ':') goto yy213; } yy244: yych = *++YYCURSOR; - switch(yych){ - case ',': - case '-': - case '.': goto yy200; - default: goto yy246; - } -yy245: ++YYCURSOR; +yy245: +#line 148 + { return type_id; } +yy246: yych = *++YYCURSOR; + if(yych <= '.'){ + if(yych == ',') goto yy216; + if(yych <= '-') goto yy213; + goto yy217; + } else { + if(yych <= '/') goto yy218; + if(yych != 'g') goto yy213; + } +yy247: yych = *++YYCURSOR; + if(yych <= '.'){ + if(yych == ',') goto yy216; + if(yych <= '-') goto yy213; + goto yy217; + } else { + if(yych <= '/') goto yy218; + if(yych != ':') goto yy213; + } +yy248: yych = *++YYCURSOR; + if(yych <= '+') goto yy250; + if(yych <= '.') goto yy204; + goto yy250; +yy249: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy246; -yy246: switch(yych){ - case ',': goto yy249; - case '-': goto yy247; - case '.': goto yy250; - 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 yy245; - default: goto yy200; +yy250: if(yych <= '9'){ + if(yych <= '-'){ + if(yych <= '+') goto yy204; + if(yych <= ',') goto yy253; + } else { + if(yych <= '.') goto yy254; + if(yych <= '/') goto yy204; + goto yy249; + } + } else { + if(yych <= '^'){ + if(yych <= '@') goto yy204; + if(yych <= 'Z') goto yy249; + goto yy204; + } else { + if(yych == '`') goto yy204; + if(yych <= 'z') goto yy249; + goto yy204; + } } -yy247: ++YYCURSOR; +yy251: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy248; -yy248: switch(yych){ - case '-': goto yy247; - 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 yy245; - default: goto yy200; - } -yy249: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy255; - default: goto yy200; - } -yy250: ++YYCURSOR; +yy252: if(yych <= '@'){ + if(yych <= '-'){ + if(yych <= ',') goto yy204; + goto yy251; + } else { + if(yych <= '/') goto yy204; + if(yych <= '9') goto yy249; + goto yy204; + } + } else { + if(yych <= '_'){ + if(yych <= 'Z') goto yy249; + if(yych <= '^') goto yy204; + goto yy249; + } else { + if(yych <= '`') goto yy204; + if(yych <= 'z') goto yy249; + goto yy204; + } + } +yy253: yych = *++YYCURSOR; + if(yych <= '/') goto yy204; + if(yych <= '9') goto yy259; + goto yy204; +yy254: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); 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 '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 yy251; - default: goto yy200; - } -yy251: ++YYCURSOR; + if(yych <= 'Z'){ + if(yych <= '/') goto yy204; + if(yych <= '9') goto yy255; + if(yych <= '@') goto yy204; + } else { + if(yych <= '_'){ + if(yych <= '^') goto yy204; + } else { + if(yych <= '`') goto yy204; + if(yych >= '{') goto yy204; + } + } +yy255: ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - goto yy252; -yy252: switch(yych){ - case ',': goto yy249; - case '-': goto yy253; - case '.': goto yy250; - 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 yy251; - default: goto yy200; - } -yy253: ++YYCURSOR; +yy256: if(yych <= '9'){ + if(yych <= '-'){ + if(yych <= '+') goto yy204; + if(yych <= ',') goto yy253; + } else { + if(yych <= '.') goto yy254; + if(yych <= '/') goto yy204; + goto yy255; + } + } else { + if(yych <= '^'){ + if(yych <= '@') goto yy204; + if(yych <= 'Z') goto yy255; + goto yy204; + } else { + if(yych == '`') goto yy204; + if(yych <= 'z') goto yy255; + goto yy204; + } + } +yy257: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy254; -yy254: switch(yych){ - case '-': goto yy253; - 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 yy251; - default: goto yy200; - } -yy255: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy256; - default: goto yy200; - } -yy256: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy257; - default: goto yy200; - } -yy257: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy258; - default: goto yy200; - } -yy258: yych = *++YYCURSOR; - switch(yych){ - case '-': goto yy259; - case ':': goto yy260; - default: goto yy200; +yy258: if(yych <= '@'){ + if(yych <= '-'){ + if(yych <= ',') goto yy204; + goto yy257; + } else { + if(yych <= '/') goto yy204; + if(yych <= '9') goto yy255; + goto yy204; + } + } else { + if(yych <= '_'){ + if(yych <= 'Z') goto yy255; + if(yych <= '^') goto yy204; + goto yy255; + } else { + if(yych <= '`') goto yy204; + if(yych <= 'z') goto yy255; + goto yy204; + } } yy259: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy262; - default: goto yy200; - } -yy260: ++YYCURSOR; - goto yy261; -yy261: -#line 143 "implicit.re" -{ return type_id; } -#line 2847 "" + if(yych <= '/') goto yy204; + if(yych >= ':') goto yy204; +yy260: yych = *++YYCURSOR; + if(yych <= '/') goto yy204; + if(yych >= ':') goto yy204; +yy261: yych = *++YYCURSOR; + if(yych <= '/') goto yy204; + if(yych >= ':') goto yy204; yy262: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy263; - default: goto yy200; - } + if(yych == '-') goto yy263; + if(yych == ':') goto yy264; + goto yy204; yy263: yych = *++YYCURSOR; - switch(yych){ - case '-': goto yy264; - case ':': goto yy260; - default: goto yy200; - } + if(yych <= '/') goto yy204; + if(yych <= '9') goto yy266; + goto yy204; yy264: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy265; - default: goto yy200; - } -yy265: yych = *++YYCURSOR; - switch(yych){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy266; - default: goto yy200; - } -yy266: ++YYCURSOR; - switch((yych = *YYCURSOR)) { - case ':': goto yy260; - default: goto yy200; - } +yy265: +#line 146 + { return type_id; } +yy266: yych = *++YYCURSOR; + if(yych <= '/') goto yy204; + if(yych >= ':') goto yy204; +yy267: yych = *++YYCURSOR; + if(yych == '-') goto yy268; + if(yych == ':') goto yy264; + goto yy204; +yy268: yych = *++YYCURSOR; + if(yych <= '/') goto yy204; + if(yych >= ':') goto yy204; +yy269: yych = *++YYCURSOR; + if(yych <= '/') goto yy204; + if(yych >= ':') goto yy204; +yy270: yych = *++YYCURSOR; + if(yych == ':') goto yy264; + goto yy204; } -#line 175 "implicit.re" +#line 178 } diff --git a/ext/syck/rubyext.c b/ext/syck/rubyext.c index cdf184c432..c54deea618 100644 --- a/ext/syck/rubyext.c +++ b/ext/syck/rubyext.c @@ -482,6 +482,31 @@ yaml_org_handler( n, ref ) syck_str_blow_away_commas( n ); obj = rb_cstr2inum( n->data.str->ptr, 10 ); } + else if ( strcmp( type_id, "float#base60" ) == 0 ) + { + char *ptr, *end; + long sixty = 1; + double total = 0.0; + syck_str_blow_away_commas( n ); + ptr = n->data.str->ptr; + end = n->data.str->ptr + n->data.str->len; + while ( end > ptr ) + { + double bnum = 0; + char *colon = end - 1; + while ( colon >= ptr && *colon != ':' ) + { + colon--; + } + if ( *colon == ':' ) *colon = '\0'; + + bnum = strtod( colon + 1, NULL ); + total += bnum * sixty; + sixty *= 60; + end = colon; + } + obj = rb_float_new( total ); + } else if ( strcmp( type_id, "float#nan" ) == 0 ) { obj = rb_float_new( S_nan() ); diff --git a/ext/syck/syck.h b/ext/syck/syck.h index 51604b4a0c..02dbce9835 100644 --- a/ext/syck/syck.h +++ b/ext/syck/syck.h @@ -13,7 +13,7 @@ #define SYCK_YAML_MAJOR 1 #define SYCK_YAML_MINOR 0 -#define SYCK_VERSION "0.44" +#define SYCK_VERSION "0.45" #define YAML_DOMAIN "yaml.org,2002" #include diff --git a/ext/syck/token.c b/ext/syck/token.c index 703f7fa0a1..1ce5bfb427 100644 --- a/ext/syck/token.c +++ b/ext/syck/token.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.9.3 on Fri Jul 30 13:48:10 2004 */ +/* Generated by re2c 0.5 on Fri Aug 6 11:22:27 2004 */ #line 1 "token.re" /* * token.re @@ -260,7 +260,7 @@ sycklex_yaml_utf8( YYSTYPE *sycklval, SyckParser *parser ) return t; } -#line 279 "token.re" +#line 279 if ( YYLINEPTR != YYCURSOR ) @@ -272,8 +272,6 @@ Header: YYTOKEN = YYCURSOR; - -#line 7 "" { YYCTYPE yych; unsigned int yyaccept; @@ -340,77 +338,64 @@ yy0: yy2: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if(yych == '-') goto yy28; - goto yy3; yy3: -#line 338 "token.re" -{ YYPOS(0); +#line 338 + { YYPOS(0); goto Document; } -#line 80 "" yy4: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if(yych == '.') goto yy21; goto yy3; -yy5: ++YYCURSOR; - goto yy6; +yy5: yych = *++YYCURSOR; yy6: -#line 320 "token.re" -{ eat_comments( parser ); +#line 320 + { eat_comments( parser ); goto Header; } -#line 92 "" -yy7: ++YYCURSOR; - goto yy8; +yy7: yych = *++YYCURSOR; yy8: -#line 324 "token.re" -{ SyckLevel *lvl = CURRENT_LEVEL(); +#line 324 + { SyckLevel *lvl = CURRENT_LEVEL(); ENSURE_YAML_IEND(lvl, -1); YYPOS(0); return 0; } -#line 102 "" yy9: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); goto yy18; yy10: -#line 330 "token.re" -{ GOBBLE_UP_YAML_INDENT( doc_level, YYTOKEN ); +#line 330 + { GOBBLE_UP_YAML_INDENT( doc_level, YYTOKEN ); goto Header; } -#line 111 "" yy11: yych = *++YYCURSOR; if(yych == '\n') goto yy17; goto yy3; -yy12: ++YYCURSOR; - yych = *YYCURSOR; +yy12: yych = *++YYCURSOR; goto yy16; yy13: -#line 334 "token.re" -{ doc_level = YYCURSOR - YYLINEPTR; +#line 334 + { doc_level = YYCURSOR - YYLINEPTR; goto Header; } -#line 122 "" yy14: yych = *++YYCURSOR; goto yy3; yy15: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy16; yy16: if(yybm[0+yych] & 64) goto yy15; goto yy13; yy17: yyaccept = 1; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy18; yy18: if(yybm[0+yych] & 128) goto yy17; if(yych != '\r') goto yy10; - goto yy19; yy19: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych == '\n') goto yy17; - goto yy20; yy20: YYCURSOR = YYMARKER; switch(yyaccept){ case 1: goto yy10; @@ -418,21 +403,18 @@ yy20: YYCURSOR = YYMARKER; } yy21: yych = *++YYCURSOR; if(yych != '.') goto yy20; - goto yy22; yy22: yych = *++YYCURSOR; if(yych <= '\f'){ if(yych != '\n') goto yy20; - goto yy23; } else { if(yych <= '\r') goto yy27; if(yych == ' ') goto yy25; goto yy20; } -yy23: ++YYCURSOR; - goto yy24; +yy23: yych = *++YYCURSOR; yy24: -#line 306 "token.re" -{ SyckLevel *lvl = CURRENT_LEVEL(); +#line 306 + { SyckLevel *lvl = CURRENT_LEVEL(); if ( lvl->status == syck_lvl_header ) { goto Header; @@ -445,11 +427,9 @@ yy24: } return 0; } -#line 180 "" yy25: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy26; yy26: if(yych == ' ') goto yy25; goto yy24; yy27: yych = *++YYCURSOR; @@ -457,21 +437,18 @@ yy27: yych = *++YYCURSOR; goto yy20; yy28: yych = *++YYCURSOR; if(yych != '-') goto yy20; - goto yy29; yy29: yych = *++YYCURSOR; if(yych <= '\f'){ if(yych != '\n') goto yy20; - goto yy30; } else { if(yych <= '\r') goto yy34; if(yych == ' ') goto yy32; goto yy20; } -yy30: ++YYCURSOR; - goto yy31; +yy30: yych = *++YYCURSOR; yy31: -#line 292 "token.re" -{ SyckLevel *lvl = CURRENT_LEVEL(); +#line 292 + { SyckLevel *lvl = CURRENT_LEVEL(); if ( lvl->status == syck_lvl_header ) { YYPOS(3); @@ -484,18 +461,16 @@ yy31: return 0; } } -#line 220 "" yy32: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy33; yy33: if(yych == ' ') goto yy32; goto yy31; -yy34: ++YYCURSOR; - if((yych = *YYCURSOR) == '\n') goto yy30; +yy34: yych = *++YYCURSOR; + if(yych == '\n') goto yy30; goto yy20; } -#line 342 "token.re" +#line 342 Document: @@ -508,8 +483,6 @@ Document: YYTOKEN = YYCURSOR; - -#line 234 "" { YYCTYPE yych; unsigned int yyaccept; @@ -557,7 +530,6 @@ yy35: if(yych <= '\f'){ if(yych <= '\000') goto yy60; if(yych != '\n') goto yy62; - goto yy37; } else { if(yych <= '\r') goto yy39; if(yych <= '\037') goto yy62; @@ -606,8 +578,8 @@ yy37: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy90; yy38: -#line 356 "token.re" -{ /* Isolate spaces */ +#line 356 + { /* Isolate spaces */ int indt_len; GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN ); lvl = CURRENT_LEVEL(); @@ -619,6 +591,12 @@ yy38: goto Document; } + /* Ignore indentation inside inlines */ + if ( lvl->status == syck_lvl_inline ) + { + goto Document; + } + /* Check for open indent */ ENSURE_YAML_IEND(lvl, indt_len); ENSURE_YAML_IOPEN(lvl, indt_len, 0); @@ -628,34 +606,27 @@ yy38: } return YAML_INDENT; } -#line 353 "" -yy39: ++YYCURSOR; - if((yych = *YYCURSOR) == '\n') goto yy89; - goto yy40; +yy39: yych = *++YYCURSOR; + if(yych == '\n') goto yy89; yy40: -#line 448 "token.re" -{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); +#line 454 + { ENSURE_YAML_IOPEN(lvl, doc_level, 1); goto Plain; } -#line 362 "" -yy41: ++YYCURSOR; - goto yy42; +yy41: yych = *++YYCURSOR; yy42: -#line 378 "token.re" -{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); +#line 384 + { ENSURE_YAML_IOPEN(lvl, doc_level, 1); lvl = CURRENT_LEVEL(); ADD_LEVEL(lvl->spaces + 1, syck_lvl_inline); return YYTOKEN[0]; } -#line 372 "" -yy43: ++YYCURSOR; - goto yy44; +yy43: yych = *++YYCURSOR; yy44: -#line 384 "token.re" -{ POP_LEVEL(); +#line 390 + { POP_LEVEL(); return YYTOKEN[0]; } -#line 380 "" yy45: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if(yych <= '\f'){ @@ -700,26 +671,20 @@ yy47: yych = *++YYCURSOR; yy48: yych = *++YYCURSOR; if(yybm[0+yych] & 64) goto yy73; goto yy40; -yy49: ++YYCURSOR; - goto yy50; +yy49: yych = *++YYCURSOR; yy50: -#line 422 "token.re" -{ goto TransferMethod; } -#line 430 "" -yy51: ++YYCURSOR; - goto yy52; +#line 428 + { goto TransferMethod; } +yy51: yych = *++YYCURSOR; yy52: -#line 424 "token.re" -{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); +#line 430 + { ENSURE_YAML_IOPEN(lvl, doc_level, 1); goto SingleQuote; } -#line 437 "" -yy53: ++YYCURSOR; - goto yy54; +yy53: yych = *++YYCURSOR; yy54: -#line 427 "token.re" -{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); +#line 433 + { ENSURE_YAML_IOPEN(lvl, doc_level, 1); goto DoubleQuote; } -#line 444 "" yy55: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if(yybm[0+yych] & 32) goto yy65; @@ -731,71 +696,58 @@ yy55: yyaccept = 1; if(yych == ' ') goto yy70; goto yy40; } -yy56: ++YYCURSOR; - goto yy57; +yy56: yych = *++YYCURSOR; yy57: -#line 437 "token.re" -{ eat_comments( parser ); +#line 443 + { eat_comments( parser ); goto Document; } -#line 463 "" -yy58: ++YYCURSOR; - yych = *YYCURSOR; +yy58: yych = *++YYCURSOR; goto yy64; yy59: -#line 441 "token.re" -{ goto Document; } -#line 469 "" -yy60: ++YYCURSOR; - goto yy61; +#line 447 + { goto Document; } +yy60: yych = *++YYCURSOR; yy61: -#line 443 "token.re" -{ ENSURE_YAML_IEND(lvl, -1); +#line 449 + { ENSURE_YAML_IEND(lvl, -1); YYPOS(0); return 0; } -#line 478 "" yy62: yych = *++YYCURSOR; goto yy40; yy63: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy64; yy64: if(yybm[0+yych] & 16) goto yy63; goto yy59; yy65: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy66; yy66: if(yybm[0+yych] & 32) goto yy65; if(yych <= '\f'){ if(yych == '\n') goto yy68; - goto yy67; } else { if(yych <= '\r') goto yy72; if(yych == ' ') goto yy70; - goto yy67; } yy67: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy38; case 1: goto yy40; } -yy68: ++YYCURSOR; - goto yy69; +yy68: yych = *++YYCURSOR; yy69: -#line 430 "token.re" -{ if ( is_newline( YYCURSOR - 1 ) ) +#line 436 + { if ( is_newline( YYCURSOR - 1 ) ) { YYCURSOR--; } goto ScalarBlock; } -#line 517 "" yy70: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy71; yy71: if(yych == ' ') goto yy70; goto yy69; yy72: yych = *++YYCURSOR; @@ -804,43 +756,35 @@ yy72: yych = *++YYCURSOR; yy73: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy74; yy74: if(yybm[0+yych] & 64) goto yy73; - goto yy75; yy75: -#line 417 "token.re" -{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); +#line 423 + { ENSURE_YAML_IOPEN(lvl, doc_level, 1); sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 ); return YAML_ALIAS; } -#line 541 "" yy76: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy77; yy77: if(yych <= '@'){ if(yych <= '-'){ if(yych >= '-') goto yy76; - goto yy78; } else { if(yych <= '/') goto yy78; if(yych <= '9') goto yy76; - goto yy78; } } else { if(yych <= '_'){ if(yych <= 'Z') goto yy76; if(yych >= '_') goto yy76; - goto yy78; } else { if(yych <= '`') goto yy78; if(yych <= 'z') goto yy76; - goto yy78; } } yy78: -#line 406 "token.re" -{ sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 ); +#line 412 + { sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 ); /* * Remove previous anchors of the same name. Since the parser will likely @@ -850,46 +794,39 @@ yy78: syck_hdlr_remove_anchor(parser, sycklval->name); return YAML_ANCHOR; } -#line 579 "" -yy79: ++YYCURSOR; - goto yy80; +yy79: yych = *++YYCURSOR; yy80: -#line 392 "token.re" -{ ENSURE_YAML_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1); +#line 398 + { ENSURE_YAML_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1); FORCE_NEXT_TOKEN(YAML_IOPEN); - if ( is_newline( YYCURSOR ) || is_newline( YYCURSOR - 1 ) ) + if ( *YYCURSOR == '#' || is_newline( YYCURSOR ) || is_newline( YYCURSOR - 1 ) ) { YYCURSOR--; ADD_LEVEL((YYTOKEN + 1) - YYLINEPTR, syck_lvl_doc); } - else + else /* spaces followed by content uses the space as indentation */ { ADD_LEVEL(YYCURSOR - YYLINEPTR, syck_lvl_doc); } return YYTOKEN[0]; } -#line 597 "" yy81: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy82; yy82: if(yych == ' ') goto yy81; goto yy80; yy83: yych = *++YYCURSOR; if(yych == '\n') goto yy79; goto yy67; -yy84: ++YYCURSOR; - goto yy85; +yy84: yych = *++YYCURSOR; yy85: -#line 388 "token.re" -{ YYPOS(1); +#line 394 + { YYPOS(1); return YYTOKEN[0]; } -#line 615 "" yy86: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy87; yy87: if(yych == ' ') goto yy86; goto yy85; yy88: yych = *++YYCURSOR; @@ -899,17 +836,15 @@ yy89: yyaccept = 0; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy90; yy90: if(yybm[0+yych] & 128) goto yy89; if(yych != '\r') goto yy38; - goto yy91; yy91: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych == '\n') goto yy89; goto yy67; } -#line 452 "token.re" +#line 458 } @@ -917,8 +852,6 @@ Directive: { YYTOKTMP = YYCURSOR; - -#line 643 "" { YYCTYPE yych; unsigned int yyaccept; @@ -978,50 +911,40 @@ yy95: yyaccept = 0; if(yych <= '-') goto yy96; if(yych == '`') goto yy96; if(yych <= 'z') goto yy102; - goto yy96; yy96: -#line 465 "token.re" -{ YYCURSOR = YYTOKTMP; +#line 471 + { YYCURSOR = YYTOKTMP; return YAML_DOCSEP; } -#line 709 "" -yy97: ++YYCURSOR; - yych = *YYCURSOR; +yy97: yych = *++YYCURSOR; goto yy101; yy98: -#line 463 "token.re" -{ goto Directive; } -#line 715 "" +#line 469 + { goto Directive; } yy99: yych = *++YYCURSOR; goto yy96; yy100: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy101; yy101: if(yybm[0+yych] & 32) goto yy100; goto yy98; yy102: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy103; yy103: if(yybm[0+yych] & 64) goto yy102; if(yych != ':') goto yy94; - goto yy104; yy104: yych = *++YYCURSOR; if(yybm[0+yych] & 128) goto yy105; goto yy94; yy105: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy106; yy106: if(yybm[0+yych] & 128) goto yy105; - goto yy107; yy107: -#line 461 "token.re" -{ goto Directive; } -#line 746 "" +#line 467 + { goto Directive; } } -#line 468 "token.re" +#line 474 } @@ -1043,8 +966,6 @@ Plain2: Plain3: - -#line 750 "" { YYCTYPE yych; unsigned int yyaccept; @@ -1091,7 +1012,6 @@ yy108: if(yych <= '\f'){ if(yych <= '\000') goto yy120; if(yych != '\n') goto yy122; - goto yy110; } else { if(yych <= '\r') goto yy112; if(yych == ' ') goto yy118; @@ -1112,8 +1032,8 @@ yy110: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy136; yy111: -#line 491 "token.re" -{ int indt_len, nl_count = 0; +#line 497 + { int indt_len, nl_count = 0; SyckLevel *lvl; char *tok = YYTOKEN; GOBBLE_UP_YAML_INDENT( indt_len, tok ); @@ -1148,16 +1068,13 @@ yy111: goto Plain2; } -#line 854 "" -yy112: ++YYCURSOR; - if((yych = *YYCURSOR) == '\n') goto yy135; - goto yy113; +yy112: yych = *++YYCURSOR; + if(yych == '\n') goto yy135; yy113: -#line 549 "token.re" -{ QUOTECATS(qstr, qcapa, qidx, YYTOKEN, YYCURSOR - YYTOKEN); +#line 566 + { QUOTECATS(qstr, qcapa, qidx, YYTOKEN, YYCURSOR - YYTOKEN); goto Plain2; } -#line 863 "" yy114: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if(yych <= '\f'){ @@ -1168,11 +1085,10 @@ yy114: yyaccept = 1; if(yych == ' ') goto yy132; goto yy113; } -yy115: ++YYCURSOR; - goto yy116; +yy115: yych = *++YYCURSOR; yy116: -#line 529 "token.re" -{ if ( plvl->status != syck_lvl_inline ) +#line 535 + { if ( plvl->status != syck_lvl_inline ) { if ( *(YYCURSOR - 1) == ' ' || is_newline( YYCURSOR - 1 ) ) { @@ -1181,64 +1097,63 @@ yy116: QUOTECATS(qstr, qcapa, qidx, YYTOKEN, YYCURSOR - YYTOKEN); goto Plain2; } + else + { + /* trim spaces off the end in case of indent */ + char *walker = qstr + qidx - 1; + while ( walker > qstr && ( *walker == '\n' || *walker == ' ' ) ) + { + qidx--; + walker[0] = '\0'; + walker--; + } + } RETURN_IMPLICIT(); } -#line 889 "" yy117: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if(yybm[0+yych] & 64) goto yy126; if(yych == '\n') goto yy125; if(yych == '\r') goto yy128; goto yy113; -yy118: ++YYCURSOR; - if((yych = *YYCURSOR) == '#') goto yy123; - goto yy119; +yy118: yych = *++YYCURSOR; + if(yych == '#') goto yy123; yy119: -#line 547 "token.re" -{ goto Plain3; } -#line 902 "" -yy120: ++YYCURSOR; - goto yy121; +#line 564 + { goto Plain3; } +yy120: yych = *++YYCURSOR; yy121: -#line 545 "token.re" -{ RETURN_IMPLICIT(); } -#line 908 "" +#line 562 + { RETURN_IMPLICIT(); } yy122: yych = *++YYCURSOR; goto yy113; -yy123: ++YYCURSOR; - goto yy124; +yy123: yych = *++YYCURSOR; yy124: -#line 541 "token.re" -{ eat_comments( parser ); +#line 558 + { eat_comments( parser ); RETURN_IMPLICIT(); } -#line 918 "" yy125: yych = *++YYCURSOR; goto yy116; yy126: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy127; yy127: if(yybm[0+yych] & 64) goto yy126; goto yy116; yy128: yych = *++YYCURSOR; if(yych == '\n') goto yy125; - goto yy129; yy129: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy111; case 1: goto yy113; } -yy130: ++YYCURSOR; - goto yy131; +yy130: yych = *++YYCURSOR; yy131: -#line 527 "token.re" -{ RETURN_IMPLICIT(); } -#line 941 "" +#line 533 + { RETURN_IMPLICIT(); } yy132: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy133; yy133: if(yych == ' ') goto yy132; goto yy131; yy134: yych = *++YYCURSOR; @@ -1248,17 +1163,15 @@ yy135: yyaccept = 0; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy136; yy136: if(yybm[0+yych] & 128) goto yy135; if(yych != '\r') goto yy111; - goto yy137; yy137: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych == '\n') goto yy135; goto yy129; } -#line 553 "token.re" +#line 570 } @@ -1271,8 +1184,6 @@ SingleQuote: SingleQuote2: YYTOKEN = YYCURSOR; - -#line 969 "" { YYCTYPE yych; unsigned int yyaccept; @@ -1318,7 +1229,6 @@ yy138: if(yych <= '\f'){ if(yych <= '\000') goto yy146; if(yych != '\n') goto yy147; - goto yy140; } else { if(yych <= '\r') goto yy142; if(yych == '\'') goto yy144; @@ -1328,8 +1238,8 @@ yy140: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy151; yy141: -#line 567 "token.re" -{ int indt_len; +#line 584 + { int indt_len; int nl_count = 0; SyckLevel *lvl; GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN ); @@ -1368,22 +1278,18 @@ yy141: goto SingleQuote2; } -#line 1065 "" -yy142: ++YYCURSOR; - if((yych = *YYCURSOR) == '\n') goto yy150; - goto yy143; +yy142: yych = *++YYCURSOR; + if(yych == '\n') goto yy150; yy143: -#line 627 "token.re" -{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); +#line 644 + { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); goto SingleQuote2; } -#line 1074 "" -yy144: ++YYCURSOR; - if((yych = *YYCURSOR) == '\'') goto yy148; - goto yy145; +yy144: yych = *++YYCURSOR; + if(yych == '\'') goto yy148; yy145: -#line 611 "token.re" -{ SyckLevel *lvl; +#line 628 + { SyckLevel *lvl; SyckNode *n = syck_alloc_str(); lvl = CURRENT_LEVEL(); @@ -1398,38 +1304,32 @@ yy145: sycklval->nodeData = n; return YAML_PLAIN; } -#line 1095 "" yy146: yych = *++YYCURSOR; goto yy145; yy147: yych = *++YYCURSOR; goto yy143; -yy148: ++YYCURSOR; - goto yy149; +yy148: yych = *++YYCURSOR; yy149: -#line 607 "token.re" -{ QUOTECAT(qstr, qcapa, qidx, '\''); +#line 624 + { QUOTECAT(qstr, qcapa, qidx, '\''); goto SingleQuote2; } -#line 1107 "" yy150: yyaccept = 0; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy151; yy151: if(yybm[0+yych] & 128) goto yy150; if(yych != '\r') goto yy141; - goto yy152; yy152: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych == '\n') goto yy150; - goto yy153; yy153: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy141; } } -#line 631 "token.re" +#line 648 } @@ -1446,8 +1346,6 @@ DoubleQuote2: YYTOKEN = YYCURSOR; - -#line 1129 "" { YYCTYPE yych; unsigned int yyaccept; @@ -1512,8 +1410,8 @@ yy156: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy178; yy157: -#line 649 "token.re" -{ int indt_len; +#line 666 + { int indt_len; int nl_count = 0; SyckLevel *lvl; GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN ); @@ -1556,16 +1454,13 @@ yy157: keep_nl = 1; goto DoubleQuote2; } -#line 1238 "" -yy158: ++YYCURSOR; - if((yych = *YYCURSOR) == '\n') goto yy177; - goto yy159; +yy158: yych = *++YYCURSOR; + if(yych == '\n') goto yy177; yy159: -#line 728 "token.re" -{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); +#line 745 + { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); goto DoubleQuote2; } -#line 1247 "" yy160: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if(yybm[0+yych] & 64) goto yy165; @@ -1611,11 +1506,10 @@ yy160: yyaccept = 1; } } } -yy161: ++YYCURSOR; - goto yy162; +yy161: yych = *++YYCURSOR; yy162: -#line 712 "token.re" -{ SyckLevel *lvl; +#line 729 + { SyckLevel *lvl; SyckNode *n = syck_alloc_str(); lvl = CURRENT_LEVEL(); @@ -1630,7 +1524,6 @@ yy162: sycklval->nodeData = n; return YAML_PLAIN; } -#line 1312 "" yy163: yych = *++YYCURSOR; goto yy162; yy164: yych = *++YYCURSOR; @@ -1638,25 +1531,21 @@ yy164: yych = *++YYCURSOR; yy165: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy166; yy166: if(yybm[0+yych] & 64) goto yy165; if(yych == '\n') goto yy168; if(yych == '\r') goto yy170; - goto yy167; yy167: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy157; case 1: goto yy159; } -yy168: ++YYCURSOR; - goto yy169; +yy168: yych = *++YYCURSOR; yy169: -#line 707 "token.re" -{ keep_nl = 0; +#line 724 + { keep_nl = 0; YYCURSOR--; goto DoubleQuote2; } -#line 1339 "" yy170: yych = *++YYCURSOR; if(yych == '\n') goto yy168; goto yy167; @@ -1671,31 +1560,26 @@ yy171: yych = *++YYCURSOR; if(yych <= 'f') goto yy174; goto yy167; } -yy172: ++YYCURSOR; - goto yy173; +yy172: yych = *++YYCURSOR; yy173: -#line 693 "token.re" -{ char ch = *( YYCURSOR - 1 ); +#line 710 + { char ch = *( YYCURSOR - 1 ); QUOTECAT(qstr, qcapa, qidx, escape_seq( ch )); goto DoubleQuote2; } -#line 1362 "" yy174: yych = *++YYCURSOR; if(yych <= '@'){ if(yych <= '/') goto yy167; if(yych >= ':') goto yy167; - goto yy175; } else { if(yych <= 'F') goto yy175; if(yych <= '`') goto yy167; if(yych >= 'g') goto yy167; - goto yy175; } -yy175: ++YYCURSOR; - goto yy176; +yy175: yych = *++YYCURSOR; yy176: -#line 698 "token.re" -{ long ch; +#line 715 + { long ch; char *chr_text = syck_strndup( YYTOKEN, 4 ); chr_text[0] = '0'; ch = strtol( chr_text, NULL, 16 ); @@ -1703,22 +1587,19 @@ yy176: QUOTECAT(qstr, qcapa, qidx, ch); goto DoubleQuote2; } -#line 1386 "" yy177: yyaccept = 0; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy178; yy178: if(yybm[0+yych] & 128) goto yy177; if(yych != '\r') goto yy157; - goto yy179; yy179: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych == '\n') goto yy177; goto yy167; } -#line 732 "token.re" +#line 749 } @@ -1731,8 +1612,6 @@ TransferMethod: TransferMethod2: YYTOKTMP = YYCURSOR; - -#line 1404 "" { YYCTYPE yych; unsigned int yyaccept; @@ -1778,7 +1657,6 @@ yy180: if(yych <= '\r'){ if(yych <= '\t'){ if(yych >= '\001') goto yy189; - goto yy182; } else { if(yych <= '\n') goto yy183; if(yych <= '\f') goto yy189; @@ -1797,11 +1675,10 @@ yy182: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy187; } -yy183: ++YYCURSOR; - goto yy184; +yy183: yych = *++YYCURSOR; yy184: -#line 746 "token.re" -{ SyckLevel *lvl; +#line 763 + { SyckLevel *lvl; YYCURSOR = YYTOKTMP; if ( YYCURSOR == YYTOKEN + 1 ) { @@ -1850,18 +1727,15 @@ yy184: return YAML_TRANSFER; } -#line 1522 "" yy185: yych = *++YYCURSOR; goto yy198; -yy186: ++YYCURSOR; - if((yych = *YYCURSOR) == '\n') goto yy196; - goto yy187; +yy186: yych = *++YYCURSOR; + if(yych == '\n') goto yy196; yy187: -#line 813 "token.re" -{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); +#line 830 + { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); goto TransferMethod2; } -#line 1533 "" yy188: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if(yych <= 'f'){ @@ -1915,31 +1789,26 @@ yy190: yych = *++YYCURSOR; if(yych <= 'f') goto yy193; goto yy182; } -yy191: ++YYCURSOR; - goto yy192; +yy191: yych = *++YYCURSOR; yy192: -#line 799 "token.re" -{ char ch = *( YYCURSOR - 1 ); +#line 816 + { char ch = *( YYCURSOR - 1 ); QUOTECAT(qstr, qcapa, qidx, escape_seq( ch )); goto TransferMethod2; } -#line 1595 "" yy193: yych = *++YYCURSOR; if(yych <= '@'){ if(yych <= '/') goto yy182; if(yych >= ':') goto yy182; - goto yy194; } else { if(yych <= 'F') goto yy194; if(yych <= '`') goto yy182; if(yych >= 'g') goto yy182; - goto yy194; } -yy194: ++YYCURSOR; - goto yy195; +yy194: yych = *++YYCURSOR; yy195: -#line 804 "token.re" -{ long ch; +#line 821 + { long ch; char *chr_text = syck_strndup( YYTOKTMP, 4 ); chr_text[0] = '0'; ch = strtol( chr_text, NULL, 16 ); @@ -1947,17 +1816,15 @@ yy195: QUOTECAT(qstr, qcapa, qidx, ch); goto TransferMethod2; } -#line 1619 "" yy196: yych = *++YYCURSOR; goto yy184; yy197: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy198; yy198: if(yybm[0+yych] & 128) goto yy197; goto yy184; } -#line 818 "token.re" +#line 835 } @@ -2003,8 +1870,6 @@ ScalarBlock: ScalarBlock2: YYTOKEN = YYCURSOR; - -#line 1632 "" { YYCTYPE yych; unsigned int yyaccept; @@ -2069,8 +1934,8 @@ yy201: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy220; yy202: -#line 865 "token.re" -{ char *pacer; +#line 882 + { char *pacer; char *tok = YYTOKEN; int indt_len = 0, nl_count = 0, fold_nl = 0, nl_begin = 0; GOBBLE_UP_YAML_INDENT( indt_len, tok ); @@ -2139,21 +2004,17 @@ yy202: } goto ScalarBlock2; } -#line 1767 "" -yy203: ++YYCURSOR; - if((yych = *YYCURSOR) == '\n') goto yy219; - goto yy204; +yy203: yych = *++YYCURSOR; + if(yych == '\n') goto yy219; yy204: -#line 974 "token.re" -{ QUOTECAT(qstr, qcapa, qidx, *YYTOKEN); +#line 991 + { QUOTECAT(qstr, qcapa, qidx, *YYTOKEN); goto ScalarBlock2; } -#line 1776 "" -yy205: ++YYCURSOR; - goto yy206; +yy205: yych = *++YYCURSOR; yy206: -#line 936 "token.re" -{ lvl = CURRENT_LEVEL(); +#line 953 + { lvl = CURRENT_LEVEL(); if ( lvl->status != syck_lvl_block ) { eat_comments( parser ); @@ -2165,16 +2026,13 @@ yy206: } goto ScalarBlock2; } -#line 1793 "" -yy207: ++YYCURSOR; - goto yy208; +yy207: yych = *++YYCURSOR; yy208: -#line 950 "token.re" -{ YYCURSOR--; +#line 967 + { YYCURSOR--; POP_LEVEL(); RETURN_YAML_BLOCK(); } -#line 1802 "" yy209: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if(yych == '-') goto yy211; @@ -2183,7 +2041,6 @@ yy210: yych = *++YYCURSOR; goto yy204; yy211: yych = *++YYCURSOR; if(yych == '-') goto yy213; - goto yy212; yy212: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy202; @@ -2194,11 +2051,10 @@ yy213: yych = *++YYCURSOR; if(yych == '\n') goto yy214; if(yych == '\r') goto yy218; goto yy212; -yy214: ++YYCURSOR; - goto yy215; +yy214: yych = *++YYCURSOR; yy215: -#line 955 "token.re" -{ if ( YYTOKEN == YYLINEPTR ) +#line 972 + { if ( YYTOKEN == YYLINEPTR ) { if ( blockType == BLOCK_FOLD && qidx > 0 ) { @@ -2216,11 +2072,9 @@ yy215: goto ScalarBlock2; } } -#line 1844 "" yy216: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy217; yy217: if(yybm[0+yych] & 64) goto yy216; goto yy215; yy218: yych = *++YYCURSOR; @@ -2230,17 +2084,15 @@ yy219: yyaccept = 0; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy220; yy220: if(yybm[0+yych] & 128) goto yy219; if(yych != '\r') goto yy202; - goto yy221; yy221: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych == '\n') goto yy219; goto yy212; } -#line 979 "token.re" +#line 996 } @@ -2255,8 +2107,6 @@ Comment: { YYTOKEN = YYCURSOR; - -#line 1872 "" { YYCTYPE yych; unsigned int yyaccept; @@ -2307,47 +2157,39 @@ yy222: if(yych == '\r') goto yy227; goto yy229; } -yy224: ++YYCURSOR; - goto yy225; +yy224: yych = *++YYCURSOR; yy225: -#line 995 "token.re" -{ YYCURSOR = YYTOKEN; +#line 1012 + { YYCURSOR = YYTOKEN; return; } -#line 1930 "" yy226: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy231; -yy227: ++YYCURSOR; - if(yybm[0+(yych = *YYCURSOR)] & 128) yych = *YYCURSOR; - goto yy230; - goto yy228; +yy227: yych = *++YYCURSOR; + if(yybm[0+yych] & 128) goto yy230; yy228: -#line 999 "token.re" -{ goto Comment; +#line 1016 + { goto Comment; } -#line 1941 "" yy229: yych = *++YYCURSOR; goto yy228; yy230: yyaccept = 0; YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy231; yy231: if(yybm[0+yych] & 128) goto yy230; if(yych != '\r') goto yy225; - goto yy232; yy232: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yybm[0+yych] & 128) goto yy230; - goto yy233; yy233: YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy225; } } -#line 1002 "token.re" +#line 1019 } -- cgit v1.2.3