summaryrefslogtreecommitdiff
path: root/ext/syck/implicit.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/syck/implicit.c')
-rw-r--r--ext/syck/implicit.c64
1 files changed, 37 insertions, 27 deletions
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
}