diff options
author | why <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-09-20 06:50:20 +0000 |
---|---|---|
committer | why <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-09-20 06:50:20 +0000 |
commit | d578f9d32e4c13df9ebf51873ae335c5e5a795ce (patch) | |
tree | defcbbf25c171d2ef655ea1e0e2df426491ab91e /ext/syck/implicit.c | |
parent | 34b3f481dc2e92aaf477f4ec49a0b3bf0274bbf1 (diff) |
* ext/syck/emitter.c (syck_scan_scalar): prevent indicators from
appearing alone or at the end of plain scalars. [ruby-core:5826]
* ext/syck/emitter.c (syck_emit_scalar): treat typed scalar nodes
as complex keys.
* lib/syck.h: version 0.60.
* lib/yaml/basenode.rb (YAML::BaseNode#at): transform keys during
key searches.
* ext/syck/rubyext.c: loading of binary-typed nodes. prevent
emission of plain strings that look like symbols, but which aren't.
* ext/syck/emitter.c (syck_emit): passing an int* value to the
long* parameter causes unaligned access on LP64 systems.
[ruby-dev:27161]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/syck/implicit.c')
-rw-r--r-- | ext/syck/implicit.c | 150 |
1 files changed, 75 insertions, 75 deletions
diff --git a/ext/syck/implicit.c b/ext/syck/implicit.c index cce7a9f4e3..d8016986b4 100644 --- a/ext/syck/implicit.c +++ b/ext/syck/implicit.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.9.3 on Wed Mar 30 08:27:25 2005 */ +/* Generated by re2c 0.9.10 on Mon Sep 19 21:46:50 2005 */ #line 1 "implicit.re" /* * implicit.re @@ -52,17 +52,17 @@ char *syck_match_implicit( char *str, size_t len ) limit = str + len; -#line 6 "<stdout>" +#line 55 "<stdout>" { YYCTYPE yych; unsigned int yyaccept; goto yy0; -yy1: ++YYCURSOR; + ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 26) YYFILL(26); yych = *YYCURSOR; switch(yych){ - case '\000': goto yy6; + case 0x00: goto yy6; case '+': goto yy16; case '-': goto yy17; case '.': goto yy20; @@ -92,12 +92,12 @@ yy0: default: goto yy23; } yy2: ++YYCURSOR; - if((yych = *YYCURSOR) <= '\000') goto yy6; + if((yych = *YYCURSOR) <= 0x00) goto yy6; goto yy3; yy3: #line 123 "implicit.re" { return "str"; } -#line 51 "<stdout>" +#line 100 "<stdout>" yy4: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ @@ -118,7 +118,7 @@ yy6: ++YYCURSOR; yy7: #line 85 "implicit.re" { return "null"; } -#line 72 "<stdout>" +#line 121 "<stdout>" yy8: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ @@ -208,7 +208,7 @@ yy17: yyaccept = 0; yy18: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ - case '\000': goto yy52; + case 0x00: goto yy52; case ',': goto yy142; case '.': goto yy50; case '0': @@ -228,7 +228,7 @@ yy18: yyaccept = 0; yy19: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ - case '\000': goto yy52; + case 0x00: goto yy52; case ',': goto yy47; case '.': goto yy50; case '0': @@ -254,7 +254,7 @@ yy20: yyaccept = 0; default: goto yy3; } yy21: yych = *++YYCURSOR; - if(yych <= '\000') goto yy28; + if(yych <= 0x00) goto yy28; goto yy3; yy22: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -265,7 +265,7 @@ yy22: yyaccept = 0; yy23: yych = *++YYCURSOR; goto yy3; yy24: yych = *++YYCURSOR; - if(yych <= '\000') goto yy26; + if(yych <= 0x00) goto yy26; goto yy25; yy25: YYCURSOR = YYMARKER; switch(yyaccept){ @@ -276,13 +276,13 @@ yy26: ++YYCURSOR; yy27: #line 121 "implicit.re" { return "merge"; } -#line 230 "<stdout>" +#line 279 "<stdout>" yy28: ++YYCURSOR; goto yy29; yy29: #line 119 "implicit.re" { return "default"; } -#line 236 "<stdout>" +#line 285 "<stdout>" yy30: yych = *++YYCURSOR; switch(yych){ case 'a': goto yy45; @@ -316,14 +316,14 @@ yy35: yych = *++YYCURSOR; default: goto yy25; } yy36: yych = *++YYCURSOR; - if(yych >= '\001') goto yy25; + if(yych >= 0x01) goto yy25; goto yy37; yy37: ++YYCURSOR; goto yy38; yy38: #line 105 "implicit.re" { return "float#inf"; } -#line 277 "<stdout>" +#line 326 "<stdout>" yy39: yych = *++YYCURSOR; switch(yych){ case 'f': goto yy36; @@ -340,14 +340,14 @@ yy41: yych = *++YYCURSOR; default: goto yy25; } yy42: yych = *++YYCURSOR; - if(yych >= '\001') goto yy25; + if(yych >= 0x01) goto yy25; goto yy43; yy43: ++YYCURSOR; goto yy44; yy44: #line 109 "implicit.re" { return "float#nan"; } -#line 301 "<stdout>" +#line 350 "<stdout>" yy45: yych = *++YYCURSOR; switch(yych){ case 'n': goto yy42; @@ -372,7 +372,7 @@ yy47: ++YYCURSOR; yych = *YYCURSOR; goto yy48; yy48: switch(yych){ - case '\000': goto yy52; + case 0x00: goto yy52; case ',': case '0': case '1': case '2': @@ -404,11 +404,11 @@ yy49: ++YYCURSOR; default: goto yy25; } yy50: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; goto yy51; yy51: switch(yych){ - case '\000': goto yy56; + case 0x00: goto yy56; case ',': goto yy54; case '.': goto yy58; case '0': @@ -429,13 +429,13 @@ yy52: ++YYCURSOR; yy53: #line 97 "implicit.re" { return "int"; } -#line 386 "<stdout>" +#line 432 "<stdout>" yy54: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy55; yy55: switch(yych){ - case '\000': goto yy56; + case 0x00: goto yy56; case ',': case '0': case '1': case '2': @@ -453,9 +453,9 @@ yy56: ++YYCURSOR; yy57: #line 99 "implicit.re" { return "float#fix"; } -#line 411 "<stdout>" +#line 456 "<stdout>" yy58: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; goto yy59; yy59: switch(yych){ @@ -478,14 +478,14 @@ yy60: yych = *++YYCURSOR; default: goto yy25; } yy61: yych = *++YYCURSOR; - if(yych <= '\000') goto yy25; + if(yych <= 0x00) goto yy25; goto yy63; yy62: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy63; yy63: switch(yych){ - case '\000': goto yy64; + case 0x00: goto yy64; case '0': case '1': case '2': @@ -503,12 +503,12 @@ yy64: ++YYCURSOR; yy65: #line 101 "implicit.re" { return "float#exp"; } -#line 463 "<stdout>" +#line 506 "<stdout>" yy66: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ - case '\000': goto yy70; + case 0x00: goto yy70; case '.': goto yy68; case '0': case '1': @@ -527,7 +527,7 @@ yy67: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ - case '\000': goto yy70; + case 0x00: goto yy70; case '.': goto yy68; case ':': goto yy49; default: goto yy25; @@ -537,7 +537,7 @@ yy68: ++YYCURSOR; yych = *YYCURSOR; goto yy69; yy69: switch(yych){ - case '\000': goto yy72; + case 0x00: goto yy72; case ',': case '0': case '1': case '2': @@ -555,13 +555,13 @@ yy70: ++YYCURSOR; yy71: #line 95 "implicit.re" { return "int#base60"; } -#line 518 "<stdout>" +#line 558 "<stdout>" yy72: ++YYCURSOR; goto yy73; yy73: #line 103 "implicit.re" { return "float#base60"; } -#line 524 "<stdout>" +#line 564 "<stdout>" yy74: yych = *++YYCURSOR; switch(yych){ case '0': @@ -644,7 +644,7 @@ yy80: yych = *++YYCURSOR; } yy81: yych = *++YYCURSOR; switch(yych){ - case '\000': goto yy82; + case 0x00: goto yy82; case '0': case '1': case '2': @@ -664,7 +664,7 @@ yy82: ++YYCURSOR; yy83: #line 111 "implicit.re" { return "timestamp#ymd"; } -#line 627 "<stdout>" +#line 667 "<stdout>" yy84: yych = *++YYCURSOR; switch(yych){ case '0': @@ -694,11 +694,11 @@ yy85: yych = *++YYCURSOR; default: goto yy25; } yy86: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; goto yy87; yy87: switch(yych){ - case '\t': case ' ': goto yy86; + case 0x09: case ' ': goto yy86; case '0': case '1': case '2': @@ -793,7 +793,7 @@ yy94: yych = *++YYCURSOR; } yy95: yych = *++YYCURSOR; switch(yych){ - case '\t': case ' ': goto yy98; + case 0x09: case ' ': goto yy98; case '.': goto yy96; default: goto yy25; } @@ -802,7 +802,7 @@ yy96: ++YYCURSOR; yych = *YYCURSOR; goto yy97; yy97: switch(yych){ - case '\t': case ' ': goto yy98; + case 0x09: case ' ': goto yy98; case '0': case '1': case '2': @@ -816,17 +816,17 @@ yy97: switch(yych){ default: goto yy25; } yy98: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; goto yy99; yy99: switch(yych){ - case '\t': case ' ': goto yy98; + case 0x09: case ' ': goto yy98; case '+': case '-': goto yy101; case 'Z': goto yy100; default: goto yy25; } yy100: yych = *++YYCURSOR; - if(yych <= '\000') goto yy105; + if(yych <= 0x00) goto yy105; goto yy25; yy101: yych = *++YYCURSOR; switch(yych){ @@ -858,7 +858,7 @@ yy102: yych = *++YYCURSOR; } yy103: yych = *++YYCURSOR; switch(yych){ - case '\000': goto yy105; + case 0x00: goto yy105; case ':': goto yy104; default: goto yy25; } @@ -881,7 +881,7 @@ yy105: ++YYCURSOR; yy106: #line 115 "implicit.re" { return "timestamp#spaced"; } -#line 847 "<stdout>" +#line 884 "<stdout>" yy107: yych = *++YYCURSOR; switch(yych){ case '0': @@ -992,7 +992,7 @@ yy115: yych = *++YYCURSOR; default: goto yy117; } yy116: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; goto yy117; yy117: switch(yych){ @@ -1011,7 +1011,7 @@ yy117: switch(yych){ default: goto yy25; } yy118: yych = *++YYCURSOR; - if(yych <= '\000') goto yy123; + if(yych <= 0x00) goto yy123; goto yy25; yy119: yych = *++YYCURSOR; switch(yych){ @@ -1043,7 +1043,7 @@ yy120: yych = *++YYCURSOR; } yy121: yych = *++YYCURSOR; switch(yych){ - case '\000': goto yy123; + case 0x00: goto yy123; case ':': goto yy122; default: goto yy25; } @@ -1066,7 +1066,7 @@ yy123: ++YYCURSOR; yy124: #line 113 "implicit.re" { return "timestamp#iso8601"; } -#line 1033 "<stdout>" +#line 1069 "<stdout>" yy125: yych = *++YYCURSOR; switch(yych){ case '0': @@ -1197,7 +1197,7 @@ yy135: switch(yych){ default: goto yy25; } yy136: yych = *++YYCURSOR; - if(yych >= '\001') goto yy25; + if(yych >= 0x01) goto yy25; goto yy137; yy137: yych = *++YYCURSOR; goto yy124; @@ -1253,7 +1253,7 @@ yy142: ++YYCURSOR; yych = *YYCURSOR; goto yy143; yy143: switch(yych){ - case '\000': goto yy149; + case 0x00: goto yy149; case ',': case '0': case '1': case '2': @@ -1269,14 +1269,14 @@ yy143: switch(yych){ default: goto yy25; } yy144: yych = *++YYCURSOR; - if(yych <= '\000') goto yy25; + if(yych <= 0x00) goto yy25; goto yy146; yy145: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy146; yy146: switch(yych){ - case '\000': goto yy147; + case 0x00: goto yy147; case ',': case '0': case '1': case '2': @@ -1304,13 +1304,13 @@ yy147: ++YYCURSOR; yy148: #line 91 "implicit.re" { return "int#hex"; } -#line 1275 "<stdout>" +#line 1307 "<stdout>" yy149: ++YYCURSOR; goto yy150; yy150: #line 93 "implicit.re" { return "int#oct"; } -#line 1281 "<stdout>" +#line 1313 "<stdout>" yy151: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -1376,7 +1376,7 @@ yy157: yych = *++YYCURSOR; } yy158: yych = *++YYCURSOR; switch(yych){ - case '\000': goto yy52; + case 0x00: goto yy52; case 'x': goto yy144; default: goto yy143; } @@ -1402,14 +1402,14 @@ yy162: yych = *++YYCURSOR; default: goto yy25; } yy163: yych = *++YYCURSOR; - if(yych >= '\001') goto yy25; + if(yych >= 0x01) goto yy25; goto yy164; yy164: ++YYCURSOR; goto yy165; yy165: #line 107 "implicit.re" { return "float#neginf"; } -#line 1381 "<stdout>" +#line 1412 "<stdout>" yy166: yych = *++YYCURSOR; switch(yych){ case 'f': goto yy163; @@ -1442,14 +1442,14 @@ yy171: yych = *++YYCURSOR; default: goto yy25; } yy172: yych = *++YYCURSOR; - if(yych >= '\001') goto yy25; + if(yych >= 0x01) goto yy25; goto yy173; yy173: ++YYCURSOR; goto yy174; yy174: #line 89 "implicit.re" { return "bool#no"; } -#line 1421 "<stdout>" +#line 1452 "<stdout>" yy175: yych = *++YYCURSOR; switch(yych){ case 'S': goto yy176; @@ -1486,14 +1486,14 @@ yy181: yych = *++YYCURSOR; default: goto yy25; } yy182: yych = *++YYCURSOR; - if(yych >= '\001') goto yy25; + if(yych >= 0x01) goto yy25; goto yy183; yy183: ++YYCURSOR; goto yy184; yy184: #line 87 "implicit.re" { return "bool#yes"; } -#line 1465 "<stdout>" +#line 1496 "<stdout>" yy185: yych = *++YYCURSOR; switch(yych){ case 'f': goto yy172; @@ -1560,7 +1560,7 @@ yy197: yych = *++YYCURSOR; default: goto yy25; } yy198: yych = *++YYCURSOR; - if(yych <= '\000') goto yy6; + if(yych <= 0x00) goto yy6; goto yy25; yy199: yych = *++YYCURSOR; switch(yych){ @@ -1617,17 +1617,17 @@ syck_type_id_to_uri( char *type_id ) limit = type_id + strlen( type_id ); -#line 1552 "<stdout>" +#line 1620 "<stdout>" { YYCTYPE yych; unsigned int yyaccept; goto yy202; -yy203: ++YYCURSOR; + ++YYCURSOR; yy202: - if((YYLIMIT - YYCURSOR) < 21) YYFILL(21); + if((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; switch(yych){ - case '\000': goto yy204; + case 0x00: goto yy204; case '!': goto yy208; case '0': case '1': @@ -1765,7 +1765,7 @@ yy205: yyaccept = 0; yy206: #line 202 "implicit.re" { return syck_taguri( YAML_DOMAIN, type_id, strlen( type_id ) ); } -#line 1700 "<stdout>" +#line 1768 "<stdout>" yy207: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ @@ -1839,7 +1839,7 @@ yy208: ++YYCURSOR; yy209: #line 176 "implicit.re" { return syck_xprivate( type_id + 1, strlen( type_id ) - 1 ); } -#line 1774 "<stdout>" +#line 1842 "<stdout>" yy210: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ @@ -1980,7 +1980,7 @@ yy213: switch(yych){ default: goto yy204; } yy214: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy215; yy215: switch(yych){ @@ -2146,9 +2146,9 @@ yy219: S_FREE( domain ); return uri; } -#line 2084 "<stdout>" +#line 2149 "<stdout>" yy220: ++YYCURSOR; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + if((YYLIMIT - YYCURSOR) < 12) YYFILL(12); yych = *YYCURSOR; goto yy221; yy221: switch(yych){ @@ -2362,7 +2362,7 @@ yy230: S_FREE( domain ); return uri; } -#line 2302 "<stdout>" +#line 2365 "<stdout>" yy231: yych = *++YYCURSOR; switch(yych){ case '0': @@ -2482,7 +2482,7 @@ yy244: ++YYCURSOR; yy245: #line 174 "implicit.re" { return type_id; } -#line 2422 "<stdout>" +#line 2485 "<stdout>" yy246: yych = *++YYCURSOR; switch(yych){ case ',': goto yy216; @@ -2507,7 +2507,7 @@ yy248: yych = *++YYCURSOR; default: goto yy250; } yy249: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy250; yy250: switch(yych){ @@ -2725,7 +2725,7 @@ yy254: ++YYCURSOR; default: goto yy204; } yy255: ++YYCURSOR; - if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + if((YYLIMIT - YYCURSOR) < 12) YYFILL(12); yych = *YYCURSOR; goto yy256; yy256: switch(yych){ @@ -2929,7 +2929,7 @@ yy264: ++YYCURSOR; yy265: #line 172 "implicit.re" { return type_id; } -#line 2874 "<stdout>" +#line 2932 "<stdout>" yy266: yych = *++YYCURSOR; switch(yych){ case '0': |