diff options
author | why <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-15 05:04:49 +0000 |
---|---|---|
committer | why <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-15 05:04:49 +0000 |
commit | 3ac79892be7f3473d79ed0868f8413804e279f40 (patch) | |
tree | 05b72c2cfc9f3ce039949d8db3b49c4e310c152a /ext/syck/implicit.c | |
parent | 13d4e3b5cdd1b64913446cc42825db3da4ec424a (diff) | |
download | ruby-3ac79892be7f3473d79ed0868f8413804e279f40.tar.gz |
* lib/yaml.rb (YAML::load_file, YAML::parse_file): added.
* ext/syck/token.c: re2c compiled with bit vectors now.
* ext/syck/implicit.c: ditto.
* ext/syck/bytecode.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/syck/implicit.c')
-rw-r--r-- | ext/syck/implicit.c | 238 |
1 files changed, 159 insertions, 79 deletions
diff --git a/ext/syck/implicit.c b/ext/syck/implicit.c index dee5cce636..c70b9e2205 100644 --- a/ext/syck/implicit.c +++ b/ext/syck/implicit.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.5 on Mon Jan 12 00:56:58 2004 */ +/* Generated by re2c 0.9.3 on Fri Jun 18 18:55:09 2004 */ #line 1 "implicit.re" /* * implicit.re @@ -50,6 +50,8 @@ char *syck_match_implicit( char *str, size_t len ) cursor = str; limit = str + len; + +#line 6 "<stdout>" { YYCTYPE yych; unsigned int yyaccept; @@ -88,11 +90,13 @@ yy0: case '~': goto yy2; default: goto yy23; } -yy2: yych = *++YYCURSOR; - if(yych <= '\000') goto yy6; +yy2: ++YYCURSOR; + if((yych = *YYCURSOR) <= '\000') goto yy6; + goto yy3; yy3: -#line 119 - { return "str"; } +#line 119 "implicit.re" +{ return "str"; } +#line 51 "<stdout>" yy4: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ @@ -108,10 +112,12 @@ yy5: yyaccept = 0; case 'u': goto yy192; default: goto yy3; } -yy6: yych = *++YYCURSOR; +yy6: ++YYCURSOR; + goto yy7; yy7: -#line 83 - { return "null"; } +#line 83 "implicit.re" +{ return "null"; } +#line 72 "<stdout>" yy8: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ @@ -259,18 +265,23 @@ 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: yych = *++YYCURSOR; +yy26: ++YYCURSOR; + goto yy27; yy27: -#line 117 - { return "merge"; } -yy28: yych = *++YYCURSOR; +#line 117 "implicit.re" +{ return "merge"; } +#line 230 "<stdout>" +yy28: ++YYCURSOR; + goto yy29; yy29: -#line 115 - { return "default"; } +#line 115 "implicit.re" +{ return "default"; } +#line 236 "<stdout>" yy30: yych = *++YYCURSOR; switch(yych){ case 'a': goto yy45; @@ -305,10 +316,13 @@ yy35: yych = *++YYCURSOR; } yy36: yych = *++YYCURSOR; if(yych >= '\001') goto yy25; -yy37: yych = *++YYCURSOR; + goto yy37; +yy37: ++YYCURSOR; + goto yy38; yy38: -#line 101 - { return "float#inf"; } +#line 101 "implicit.re" +{ return "float#inf"; } +#line 277 "<stdout>" yy39: yych = *++YYCURSOR; switch(yych){ case 'f': goto yy36; @@ -326,10 +340,13 @@ yy41: yych = *++YYCURSOR; } yy42: yych = *++YYCURSOR; if(yych >= '\001') goto yy25; -yy43: yych = *++YYCURSOR; + goto yy43; +yy43: ++YYCURSOR; + goto yy44; yy44: -#line 105 - { return "float#nan"; } +#line 105 "implicit.re" +{ return "float#nan"; } +#line 301 "<stdout>" yy45: yych = *++YYCURSOR; switch(yych){ case 'n': goto yy42; @@ -352,6 +369,7 @@ yy46: yych = *++YYCURSOR; yy47: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy48; yy48: switch(yych){ case '\000': goto yy51; case ',': case '0': @@ -371,6 +389,7 @@ yy48: switch(yych){ yy49: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy50; yy50: switch(yych){ case '\000': goto yy60; case ',': goto yy58; @@ -388,10 +407,12 @@ yy50: switch(yych){ case 'E': case 'e': goto yy64; default: goto yy25; } -yy51: yych = *++YYCURSOR; +yy51: ++YYCURSOR; + goto yy52; yy52: -#line 95 - { return "int"; } +#line 95 "implicit.re" +{ return "int"; } +#line 369 "<stdout>" yy53: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -434,13 +455,16 @@ yy55: ++YYCURSOR; case ':': goto yy53; default: goto yy25; } -yy56: yych = *++YYCURSOR; +yy56: ++YYCURSOR; + goto yy57; yy57: -#line 93 - { return "int#base60"; } +#line 93 "implicit.re" +{ return "int#base60"; } +#line 420 "<stdout>" yy58: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy59; yy59: switch(yych){ case '\000': goto yy60; case ',': case '0': @@ -455,13 +479,16 @@ yy59: switch(yych){ case '9': goto yy58; default: goto yy25; } -yy60: yych = *++YYCURSOR; +yy60: ++YYCURSOR; + goto yy61; yy61: -#line 97 - { return "float#fix"; } +#line 97 "implicit.re" +{ return "float#fix"; } +#line 445 "<stdout>" yy62: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy63; yy63: switch(yych){ case '.': case '0': case '1': @@ -487,6 +514,7 @@ yy65: yych = *++YYCURSOR; yy66: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy67; yy67: switch(yych){ case '\000': goto yy68; case '0': @@ -501,10 +529,12 @@ yy67: switch(yych){ case '9': goto yy66; default: goto yy25; } -yy68: yych = *++YYCURSOR; +yy68: ++YYCURSOR; + goto yy69; yy69: -#line 99 - { return "float#exp"; } +#line 99 "implicit.re" +{ return "float#exp"; } +#line 497 "<stdout>" yy70: yych = *++YYCURSOR; switch(yych){ case '0': @@ -602,10 +632,12 @@ yy77: yych = *++YYCURSOR; case 't': goto yy81; default: goto yy83; } -yy78: yych = *++YYCURSOR; +yy78: ++YYCURSOR; + goto yy79; yy79: -#line 107 - { return "timestamp#ymd"; } +#line 107 "implicit.re" +{ return "timestamp#ymd"; } +#line 600 "<stdout>" yy80: yych = *++YYCURSOR; switch(yych){ case '0': @@ -637,6 +669,7 @@ yy81: yych = *++YYCURSOR; yy82: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy83; yy83: switch(yych){ case '\t': case ' ': goto yy82; case '0': @@ -740,6 +773,7 @@ yy91: yych = *++YYCURSOR; yy92: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy93; yy93: switch(yych){ case '\t': case ' ': goto yy94; case '0': @@ -757,6 +791,7 @@ yy93: switch(yych){ yy94: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy95; yy95: switch(yych){ case '\t': case ' ': goto yy94; case '+': case '-': goto yy97; @@ -814,10 +849,12 @@ yy100: yych = *++YYCURSOR; case '9': goto yy103; default: goto yy25; } -yy101: yych = *++YYCURSOR; +yy101: ++YYCURSOR; + goto yy102; yy102: -#line 111 - { return "timestamp#spaced"; } +#line 111 "implicit.re" +{ return "timestamp#spaced"; } +#line 820 "<stdout>" yy103: yych = *++YYCURSOR; switch(yych){ case '0': @@ -930,6 +967,7 @@ yy111: yych = *++YYCURSOR; yy112: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy113; yy113: switch(yych){ case '+': case '-': goto yy115; case '0': @@ -996,10 +1034,12 @@ yy118: yych = *++YYCURSOR; case '9': goto yy121; default: goto yy25; } -yy119: yych = *++YYCURSOR; +yy119: ++YYCURSOR; + goto yy120; yy120: -#line 109 - { return "timestamp#iso8601"; } +#line 109 "implicit.re" +{ return "timestamp#iso8601"; } +#line 1006 "<stdout>" yy121: yych = *++YYCURSOR; switch(yych){ case '0': @@ -1113,6 +1153,7 @@ yy129: yych = *++YYCURSOR; yy130: ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; + goto yy131; yy131: switch(yych){ case '+': case '-': goto yy115; case '0': goto yy130; @@ -1130,11 +1171,13 @@ yy131: switch(yych){ } yy132: yych = *++YYCURSOR; if(yych >= '\001') goto yy25; + goto yy133; yy133: yych = *++YYCURSOR; goto yy120; yy134: ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; + goto yy135; yy135: switch(yych){ case '+': case '-': goto yy115; case '0': goto yy130; @@ -1181,6 +1224,7 @@ yy137: yych = *++YYCURSOR; yy138: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy139; yy139: switch(yych){ case '\000': goto yy145; case ',': case '0': @@ -1203,6 +1247,7 @@ yy140: yych = *++YYCURSOR; yy141: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy142; yy142: switch(yych){ case '\000': goto yy143; case ',': case '0': @@ -1227,17 +1272,22 @@ yy142: switch(yych){ case 'f': goto yy141; default: goto yy25; } -yy143: yych = *++YYCURSOR; +yy143: ++YYCURSOR; + goto yy144; yy144: -#line 89 - { return "int#hex"; } -yy145: yych = *++YYCURSOR; +#line 89 "implicit.re" +{ return "int#hex"; } +#line 1248 "<stdout>" +yy145: ++YYCURSOR; + goto yy146; yy146: -#line 91 - { return "int#oct"; } +#line 91 "implicit.re" +{ return "int#oct"; } +#line 1254 "<stdout>" yy147: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy148; yy148: switch(yych){ case ',': case '0': case '1': @@ -1326,10 +1376,13 @@ yy158: yych = *++YYCURSOR; } yy159: yych = *++YYCURSOR; if(yych >= '\001') goto yy25; -yy160: yych = *++YYCURSOR; + goto yy160; +yy160: ++YYCURSOR; + goto yy161; yy161: -#line 103 - { return "float#neginf"; } +#line 103 "implicit.re" +{ return "float#neginf"; } +#line 1354 "<stdout>" yy162: yych = *++YYCURSOR; switch(yych){ case 'f': goto yy159; @@ -1363,10 +1416,13 @@ yy167: yych = *++YYCURSOR; } yy168: yych = *++YYCURSOR; if(yych >= '\001') goto yy25; -yy169: yych = *++YYCURSOR; + goto yy169; +yy169: ++YYCURSOR; + goto yy170; yy170: -#line 87 - { return "bool#no"; } +#line 87 "implicit.re" +{ return "bool#no"; } +#line 1394 "<stdout>" yy171: yych = *++YYCURSOR; switch(yych){ case 'S': goto yy172; @@ -1404,10 +1460,13 @@ yy177: yych = *++YYCURSOR; } yy178: yych = *++YYCURSOR; if(yych >= '\001') goto yy25; -yy179: yych = *++YYCURSOR; + goto yy179; +yy179: ++YYCURSOR; + goto yy180; yy180: -#line 85 - { return "bool#yes"; } +#line 85 "implicit.re" +{ return "bool#yes"; } +#line 1438 "<stdout>" yy181: yych = *++YYCURSOR; switch(yych){ case 'f': goto yy168; @@ -1486,13 +1545,13 @@ yy196: yych = *++YYCURSOR; case 'l': goto yy197; default: goto yy25; } -yy197: yych = *++YYCURSOR; - switch(yych){ +yy197: ++YYCURSOR; + switch((yych = *YYCURSOR)) { case 'l': goto yy194; default: goto yy25; } } -#line 121 +#line 121 "implicit.re" } @@ -1505,6 +1564,8 @@ syck_type_id_to_uri( char *type_id ) cursor = type_id; limit = type_id + strlen( type_id ); + +#line 1525 "<stdout>" { YYCTYPE yych; unsigned int yyaccept; @@ -1650,8 +1711,9 @@ yy201: yyaccept = 0; default: goto yy202; } yy202: -#line 173 - { return syck_taguri( YAML_DOMAIN, type_id, strlen( type_id ) ); } +#line 173 "implicit.re" +{ return syck_taguri( YAML_DOMAIN, type_id, strlen( type_id ) ); } +#line 1673 "<stdout>" yy203: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ @@ -1720,10 +1782,12 @@ yy203: yyaccept = 0; case '-': goto yy232; default: goto yy202; } -yy204: yych = *++YYCURSOR; +yy204: ++YYCURSOR; + goto yy205; yy205: -#line 147 - { return syck_xprivate( type_id + 1, strlen( type_id ) - 1 ); } +#line 147 "implicit.re" +{ return syck_xprivate( type_id + 1, strlen( type_id ) - 1 ); } +#line 1747 "<stdout>" yy206: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ @@ -1798,6 +1862,7 @@ yy207: yych = *++YYCURSOR; yy208: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy209; yy209: switch(yych){ case '-': goto yy208; case '0': @@ -1865,6 +1930,7 @@ yy209: switch(yych){ yy210: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy211; yy211: switch(yych){ case ',': goto yy212; case '-': goto yy208; @@ -2012,10 +2078,11 @@ yy213: ++YYCURSOR; case 'z': goto yy216; default: goto yy200; } -yy214: yych = *++YYCURSOR; +yy214: ++YYCURSOR; + goto yy215; yy215: -#line 149 - { char *domain = S_ALLOC_N( char, ( YYCURSOR - type_id ) + 15 ); +#line 149 "implicit.re" +{ char *domain = S_ALLOC_N( char, ( YYCURSOR - type_id ) + 15 ); char *uri; domain[0] = '\0'; @@ -2027,9 +2094,11 @@ yy215: S_FREE( domain ); return uri; } +#line 2057 "<stdout>" yy216: ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; + goto yy217; yy217: switch(yych){ case ',': goto yy212; case '-': goto yy218; @@ -2100,6 +2169,7 @@ yy217: switch(yych){ yy218: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy219; yy219: switch(yych){ case '-': goto yy218; case '0': @@ -2226,10 +2296,11 @@ yy224: yych = *++YYCURSOR; case '9': goto yy227; default: goto yy200; } -yy225: yych = *++YYCURSOR; +yy225: ++YYCURSOR; + goto yy226; yy226: -#line 162 - { char *domain = S_ALLOC_N( char, YYCURSOR - type_id ); +#line 162 "implicit.re" +{ char *domain = S_ALLOC_N( char, YYCURSOR - type_id ); char *uri; domain[0] = '\0'; @@ -2239,6 +2310,7 @@ yy226: S_FREE( domain ); return uri; } +#line 2275 "<stdout>" yy227: yych = *++YYCURSOR; switch(yych){ case '0': @@ -2353,10 +2425,12 @@ yy239: yych = *++YYCURSOR; case ':': goto yy240; default: goto yy209; } -yy240: yych = *++YYCURSOR; +yy240: ++YYCURSOR; + goto yy241; yy241: -#line 145 - { return type_id; } +#line 145 "implicit.re" +{ return type_id; } +#line 2395 "<stdout>" yy242: yych = *++YYCURSOR; switch(yych){ case ',': goto yy212; @@ -2383,6 +2457,7 @@ yy244: yych = *++YYCURSOR; yy245: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy246; yy246: switch(yych){ case ',': goto yy249; case '-': goto yy247; @@ -2452,6 +2527,7 @@ yy246: switch(yych){ yy247: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy248; yy248: switch(yych){ case '-': goto yy247; case '0': @@ -2599,6 +2675,7 @@ yy250: ++YYCURSOR; yy251: ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; + goto yy252; yy252: switch(yych){ case ',': goto yy249; case '-': goto yy253; @@ -2668,6 +2745,7 @@ yy252: switch(yych){ yy253: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; + goto yy254; yy254: switch(yych){ case '-': goto yy253; case '0': @@ -2794,10 +2872,12 @@ yy259: yych = *++YYCURSOR; case '9': goto yy262; default: goto yy200; } -yy260: yych = *++YYCURSOR; +yy260: ++YYCURSOR; + goto yy261; yy261: -#line 143 - { return type_id; } +#line 143 "implicit.re" +{ return type_id; } +#line 2847 "<stdout>" yy262: yych = *++YYCURSOR; switch(yych){ case '0': @@ -2846,13 +2926,13 @@ yy265: yych = *++YYCURSOR; case '9': goto yy266; default: goto yy200; } -yy266: yych = *++YYCURSOR; - switch(yych){ +yy266: ++YYCURSOR; + switch((yych = *YYCURSOR)) { case ':': goto yy260; default: goto yy200; } } -#line 175 +#line 175 "implicit.re" } |