From e44e2ef2e84012bd842228c8b86de776a9a334d6 Mon Sep 17 00:00:00 2001 From: why Date: Sun, 11 May 2003 06:32:13 +0000 Subject: * ext/syck/implicit.c, ext/syck/rubyext.c: transfer methods applied to native loading * ext/syck/token.c: fix for transfer methods on same indentation as nested mapping * lib/yaml/rubytypes.rb: all type names in lowercase git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/syck/implicit.c | 64 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 27 deletions(-) (limited to 'ext/syck/implicit.c') diff --git a/ext/syck/implicit.c b/ext/syck/implicit.c index 413568ec03..c61a776cfb 100644 --- a/ext/syck/implicit.c +++ b/ext/syck/implicit.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.5 on Sat May 10 12:56:19 2003 */ +/* Generated by re2c 0.5 on Sat May 10 19:43:22 2003 */ #line 1 "implicit.re" // // implicit.re @@ -21,10 +21,20 @@ void try_tag_implicit( SyckNode *n, int taguri ) { char *tid; - if ( n->kind != syck_str_kind ) - return; + switch ( n->kind ) + { + case syck_str_kind: + tid = syck_match_implicit( n->data.str->ptr, n->data.str->len ); + break; + + case syck_seq_kind: + tid = "seq"; + break; - tid = syck_match_implicit( n->data.str->ptr, n->data.str->len ); + case syck_map_kind: + tid = "map"; + break; + } if ( taguri == 1 ) { n->type_id = syck_taguri( YAML_DOMAIN, tid, strlen( tid ) ); @@ -136,7 +146,7 @@ yy2: YYCURSOR = YYMARKER; yy3: yych = *++YYCURSOR; if(yych <= '\000') goto yy185; yy4: -#line 102 +#line 112 { return "str"; } yy5: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -298,7 +308,7 @@ yy27: yych = *++YYCURSOR; if(yych >= '\001') goto yy2; yy28: yych = *++YYCURSOR; yy29: -#line 88 +#line 98 { return "float#inf"; } yy30: yych = *++YYCURSOR; if(yych == 'f') goto yy27; @@ -312,7 +322,7 @@ yy33: yych = *++YYCURSOR; if(yych >= '\001') goto yy2; yy34: yych = *++YYCURSOR; yy35: -#line 92 +#line 102 { return "float#nan"; } yy36: yych = *++YYCURSOR; if(yych == 'n') goto yy33; @@ -351,7 +361,7 @@ yy41: if(yybm[0+yych] & 2) goto yy40; } yy42: yych = *++YYCURSOR; yy43: -#line 82 +#line 92 { return "int"; } yy44: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -367,7 +377,7 @@ yy45: if(yych <= ','){ } yy46: yych = *++YYCURSOR; yy47: -#line 84 +#line 94 { return "float#fix"; } yy48: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -390,7 +400,7 @@ yy53: if(yych <= '\000') goto yy54; goto yy2; yy54: yych = *++YYCURSOR; yy55: -#line 86 +#line 96 { return "float#exp"; } yy56: yych = *++YYCURSOR; if(yych <= '/') goto yy39; @@ -424,7 +434,7 @@ yy63: yych = *++YYCURSOR; } yy64: yych = *++YYCURSOR; yy65: -#line 94 +#line 104 { return "timestamp#ymd"; } yy66: yych = *++YYCURSOR; if(yych <= '/') goto yy2; @@ -511,7 +521,7 @@ yy86: yych = *++YYCURSOR; goto yy2; yy87: yych = *++YYCURSOR; yy88: -#line 98 +#line 108 { return "timestamp#spaced"; } yy89: yych = *++YYCURSOR; if(yych <= '/') goto yy2; @@ -584,7 +594,7 @@ yy106: yych = *++YYCURSOR; goto yy2; yy107: yych = *++YYCURSOR; yy108: -#line 96 +#line 106 { return "timestamp#iso8601"; } yy109: yych = *++YYCURSOR; if(yych <= '/') goto yy2; @@ -702,11 +712,11 @@ yy132: if(yybm[0+yych] & 128) goto yy131; if(yych >= '\001') goto yy2; yy133: yych = *++YYCURSOR; yy134: -#line 78 +#line 88 { return "int#hex"; } yy135: yych = *++YYCURSOR; yy136: -#line 80 +#line 90 { return "int#oct"; } yy137: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); @@ -758,7 +768,7 @@ yy149: yych = *++YYCURSOR; if(yych >= '\001') goto yy2; yy150: yych = *++YYCURSOR; yy151: -#line 90 +#line 100 { return "float#neginf"; } yy152: yych = *++YYCURSOR; if(yych == 'f') goto yy149; @@ -780,7 +790,7 @@ yy158: yych = *++YYCURSOR; if(yych >= '\001') goto yy2; yy159: yych = *++YYCURSOR; yy160: -#line 76 +#line 86 { return "bool#no"; } yy161: yych = *++YYCURSOR; if(yych != 'S') goto yy2; @@ -804,7 +814,7 @@ yy168: yych = *++YYCURSOR; if(yych >= '\001') goto yy2; yy169: yych = *++YYCURSOR; yy170: -#line 74 +#line 84 { return "bool#yes"; } yy171: yych = *++YYCURSOR; if(yych == 'f') goto yy158; @@ -845,7 +855,7 @@ yy184: yych = *++YYCURSOR; if(yych >= '\001') goto yy2; yy185: yych = *++YYCURSOR; yy186: -#line 72 +#line 82 { return "null"; } yy187: yych = *++YYCURSOR; if(yych == 'L') goto yy184; @@ -856,7 +866,7 @@ yy189: yych = *++YYCURSOR; if(yych == 'l') goto yy184; goto yy2; } -#line 104 +#line 114 } @@ -960,7 +970,7 @@ yy193: yyaccept = 0; } } yy194: -#line 156 +#line 166 { return syck_taguri( YAML_DOMAIN, type_id, strlen( type_id ) ); } yy195: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -988,7 +998,7 @@ yy195: yyaccept = 0; } yy196: yych = *++YYCURSOR; yy197: -#line 130 +#line 140 { return syck_xprivate( type_id + 1, strlen( type_id ) - 1 ); } yy198: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -1080,7 +1090,7 @@ yy205: ++YYCURSOR; } yy206: yych = *++YYCURSOR; yy207: -#line 132 +#line 142 { char *domain = S_ALLOC_N( char, ( YYCURSOR - type_id ) + 15 ); char *uri; @@ -1158,7 +1168,7 @@ yy216: yych = *++YYCURSOR; goto yy192; yy217: yych = *++YYCURSOR; yy218: -#line 145 +#line 155 { char *domain = S_ALLOC_N( char, YYCURSOR - type_id ); char *uri; @@ -1250,7 +1260,7 @@ yy230: yych = *++YYCURSOR; } yy231: yych = *++YYCURSOR; yy232: -#line 128 +#line 138 { return type_id; } yy233: yych = *++YYCURSOR; if(yych <= '.'){ @@ -1431,7 +1441,7 @@ yy253: yych = *++YYCURSOR; goto yy192; yy254: yych = *++YYCURSOR; yy255: -#line 126 +#line 136 { return type_id; } yy256: yych = *++YYCURSOR; if(yych <= '/') goto yy192; @@ -1450,7 +1460,7 @@ yy260: yych = *++YYCURSOR; if(yych == ':') goto yy254; goto yy192; } -#line 158 +#line 168 } -- cgit v1.2.3