mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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
This commit is contained in:
parent
13d4e3b5cd
commit
3ac79892be
6 changed files with 673 additions and 356 deletions
|
@ -1,3 +1,11 @@
|
|||
Thu Jul 15 14:12:34 2004 why the lucky stiff <why@topi.cc>
|
||||
|
||||
* 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.
|
||||
|
||||
Thu Jul 15 10:15:04 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
|
||||
|
||||
* ext/tk/, ext/tcltklib/: bug fix
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Generated by re2c 0.5 on Mon Jan 12 11:40:10 2004 */
|
||||
/* Generated by re2c 0.9.3 on Fri Jun 18 18:55:09 2004 */
|
||||
#line 1 "bytecode.re"
|
||||
/*
|
||||
* bytecode.re
|
||||
|
@ -149,7 +149,7 @@ sycklex_bytecode_utf8( YYSTYPE *sycklval, SyckParser *parser )
|
|||
return t;
|
||||
}
|
||||
|
||||
#line 173
|
||||
#line 173 "bytecode.re"
|
||||
|
||||
|
||||
lvl = CURRENT_LEVEL();
|
||||
|
@ -162,6 +162,8 @@ Header:
|
|||
|
||||
YYTOKEN = YYCURSOR;
|
||||
|
||||
|
||||
#line 7 "<stdout>"
|
||||
{
|
||||
YYCTYPE yych;
|
||||
unsigned int yyaccept;
|
||||
|
@ -187,16 +189,18 @@ yy3: yyaccept = 0;
|
|||
default: goto yy4;
|
||||
}
|
||||
yy4:
|
||||
#line 200
|
||||
{ YYPOS(0);
|
||||
#line 200 "bytecode.re"
|
||||
{ YYPOS(0);
|
||||
goto Document;
|
||||
}
|
||||
#line 37 "<stdout>"
|
||||
yy5: yych = *++YYCURSOR;
|
||||
goto yy4;
|
||||
yy6: yych = *++YYCURSOR;
|
||||
yy6: ++YYCURSOR;
|
||||
goto yy7;
|
||||
yy7:
|
||||
#line 187
|
||||
{ if ( lvl->status == syck_lvl_header )
|
||||
#line 187 "bytecode.re"
|
||||
{ if ( lvl->status == syck_lvl_header )
|
||||
{
|
||||
CHK_NL(YYCURSOR);
|
||||
goto Directive;
|
||||
|
@ -208,13 +212,14 @@ yy7:
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
yy8: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
#line 56 "<stdout>"
|
||||
yy8: ++YYCURSOR;
|
||||
switch((yych = *YYCURSOR)) {
|
||||
case '\n': goto yy6;
|
||||
default: goto yy2;
|
||||
}
|
||||
}
|
||||
#line 204
|
||||
#line 204 "bytecode.re"
|
||||
|
||||
|
||||
Document:
|
||||
|
@ -227,6 +232,8 @@ Document:
|
|||
|
||||
YYTOKEN = YYCURSOR;
|
||||
|
||||
|
||||
#line 65 "<stdout>"
|
||||
{
|
||||
YYCTYPE yych;
|
||||
unsigned int yyaccept;
|
||||
|
@ -281,34 +288,41 @@ yy16: yych = *++YYCURSOR;
|
|||
case '\r': goto yy34;
|
||||
default: goto yy11;
|
||||
}
|
||||
yy17: yych = *++YYCURSOR;
|
||||
yy17: ++YYCURSOR;
|
||||
goto yy18;
|
||||
yy18:
|
||||
#line 289
|
||||
{ ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_str);
|
||||
#line 289 "bytecode.re"
|
||||
{ ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_str);
|
||||
goto Scalar;
|
||||
}
|
||||
yy19: yych = *++YYCURSOR;
|
||||
#line 127 "<stdout>"
|
||||
yy19: ++YYCURSOR;
|
||||
goto yy20;
|
||||
yy20:
|
||||
#line 293
|
||||
{ ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_open);
|
||||
#line 293 "bytecode.re"
|
||||
{ ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_open);
|
||||
sycklval->name = get_inline( parser );
|
||||
syck_hdlr_remove_anchor( parser, sycklval->name );
|
||||
CHK_NL(YYCURSOR);
|
||||
return YAML_ANCHOR;
|
||||
}
|
||||
yy21: yych = *++YYCURSOR;
|
||||
#line 138 "<stdout>"
|
||||
yy21: ++YYCURSOR;
|
||||
goto yy22;
|
||||
yy22:
|
||||
#line 300
|
||||
{ ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_str);
|
||||
#line 300 "bytecode.re"
|
||||
{ ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_str);
|
||||
sycklval->name = get_inline( parser );
|
||||
POP_LEVEL();
|
||||
if ( *( YYCURSOR - 1 ) == '\n' ) YYCURSOR--;
|
||||
return YAML_ALIAS;
|
||||
}
|
||||
yy23: yych = *++YYCURSOR;
|
||||
#line 149 "<stdout>"
|
||||
yy23: ++YYCURSOR;
|
||||
goto yy24;
|
||||
yy24:
|
||||
#line 307
|
||||
{ char *qstr;
|
||||
#line 307 "bytecode.re"
|
||||
{ char *qstr;
|
||||
ADD_BYTE_LEVEL(lvl, lvl->spaces + 1, syck_lvl_open);
|
||||
qstr = get_inline( parser );
|
||||
CHK_NL(YYCURSOR);
|
||||
|
@ -367,14 +381,18 @@ yy24:
|
|||
sycklval->name = qstr;
|
||||
return YAML_TAGURI;
|
||||
}
|
||||
yy25: yych = *++YYCURSOR;
|
||||
#line 213 "<stdout>"
|
||||
yy25: ++YYCURSOR;
|
||||
goto yy26;
|
||||
yy26:
|
||||
#line 367
|
||||
{ goto Comment; }
|
||||
yy27: yych = *++YYCURSOR;
|
||||
#line 367 "bytecode.re"
|
||||
{ goto Comment; }
|
||||
#line 219 "<stdout>"
|
||||
yy27: ++YYCURSOR;
|
||||
goto yy28;
|
||||
yy28:
|
||||
#line 369
|
||||
{ CHK_NL(YYCURSOR);
|
||||
#line 369 "bytecode.re"
|
||||
{ CHK_NL(YYCURSOR);
|
||||
if ( lvl->status == syck_lvl_seq )
|
||||
{
|
||||
return YAML_INDENT;
|
||||
|
@ -386,22 +404,26 @@ yy28:
|
|||
}
|
||||
goto Document;
|
||||
}
|
||||
#line 236 "<stdout>"
|
||||
yy29: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy27;
|
||||
default: goto yy11;
|
||||
}
|
||||
yy30: yych = *++YYCURSOR;
|
||||
yy30: ++YYCURSOR;
|
||||
goto yy31;
|
||||
yy31:
|
||||
#line 382
|
||||
{ ENSURE_YAML_IEND(lvl, -1);
|
||||
#line 382 "bytecode.re"
|
||||
{ ENSURE_YAML_IEND(lvl, -1);
|
||||
YYPOS(0);
|
||||
return 0;
|
||||
}
|
||||
yy32: yych = *++YYCURSOR;
|
||||
#line 250 "<stdout>"
|
||||
yy32: ++YYCURSOR;
|
||||
goto yy33;
|
||||
yy33:
|
||||
#line 253
|
||||
{ if ( lvl->status == syck_lvl_seq && lvl->ncount == 0 )
|
||||
#line 253 "bytecode.re"
|
||||
{ if ( lvl->status == syck_lvl_seq && lvl->ncount == 0 )
|
||||
{
|
||||
lvl->ncount++;
|
||||
YYPOS(0);
|
||||
|
@ -436,15 +458,17 @@ yy33:
|
|||
CHK_NL(YYCURSOR);
|
||||
return YAML_IEND;
|
||||
}
|
||||
#line 290 "<stdout>"
|
||||
yy34: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy32;
|
||||
default: goto yy11;
|
||||
}
|
||||
yy35: yych = *++YYCURSOR;
|
||||
yy35: ++YYCURSOR;
|
||||
goto yy36;
|
||||
yy36:
|
||||
#line 238
|
||||
{ int complex = 0;
|
||||
#line 238 "bytecode.re"
|
||||
{ int complex = 0;
|
||||
if ( lvl->ncount % 2 == 0 && ( lvl->status == syck_lvl_map || lvl->status == syck_lvl_seq ) )
|
||||
{
|
||||
complex = 1;
|
||||
|
@ -458,15 +482,17 @@ yy36:
|
|||
}
|
||||
return YAML_IOPEN;
|
||||
}
|
||||
#line 314 "<stdout>"
|
||||
yy37: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy35;
|
||||
default: goto yy11;
|
||||
}
|
||||
yy38: yych = *++YYCURSOR;
|
||||
yy38: ++YYCURSOR;
|
||||
goto yy39;
|
||||
yy39:
|
||||
#line 223
|
||||
{ int complex = 0;
|
||||
#line 223 "bytecode.re"
|
||||
{ int complex = 0;
|
||||
if ( lvl->ncount % 2 == 0 && ( lvl->status == syck_lvl_map || lvl->status == syck_lvl_seq ) )
|
||||
{
|
||||
complex = 1;
|
||||
|
@ -480,30 +506,33 @@ yy39:
|
|||
}
|
||||
return YAML_IOPEN;
|
||||
}
|
||||
#line 338 "<stdout>"
|
||||
yy40: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy38;
|
||||
default: goto yy11;
|
||||
}
|
||||
yy41: yych = *++YYCURSOR;
|
||||
yy41: ++YYCURSOR;
|
||||
goto yy42;
|
||||
yy42:
|
||||
#line 218
|
||||
{ ENSURE_YAML_IEND(lvl, -1);
|
||||
#line 218 "bytecode.re"
|
||||
{ ENSURE_YAML_IEND(lvl, -1);
|
||||
YYPOS(0);
|
||||
return 0;
|
||||
}
|
||||
#line 352 "<stdout>"
|
||||
yy43: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy41;
|
||||
default: goto yy11;
|
||||
}
|
||||
yy44: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
yy44: ++YYCURSOR;
|
||||
switch((yych = *YYCURSOR)) {
|
||||
case '\n': goto yy41;
|
||||
default: goto yy11;
|
||||
}
|
||||
}
|
||||
#line 387
|
||||
#line 387 "bytecode.re"
|
||||
|
||||
|
||||
}
|
||||
|
@ -512,6 +541,8 @@ Directive:
|
|||
{
|
||||
YYTOKEN = YYCURSOR;
|
||||
|
||||
|
||||
#line 366 "<stdout>"
|
||||
{
|
||||
YYCTYPE yych;
|
||||
unsigned int yyaccept;
|
||||
|
@ -610,15 +641,17 @@ yy48: yyaccept = 0;
|
|||
default: goto yy49;
|
||||
}
|
||||
yy49:
|
||||
#line 400
|
||||
{ YYCURSOR = YYTOKEN;
|
||||
#line 400 "bytecode.re"
|
||||
{ YYCURSOR = YYTOKEN;
|
||||
return YAML_DOCSEP;
|
||||
}
|
||||
#line 469 "<stdout>"
|
||||
yy50: yych = *++YYCURSOR;
|
||||
goto yy49;
|
||||
yy51: ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
goto yy52;
|
||||
yy52: switch(yych){
|
||||
case '.':
|
||||
case '/':
|
||||
|
@ -778,6 +811,7 @@ yy53: yych = *++YYCURSOR;
|
|||
yy54: ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
goto yy55;
|
||||
yy55: switch(yych){
|
||||
case '\n': goto yy56;
|
||||
case '\r': goto yy58;
|
||||
|
@ -858,18 +892,20 @@ yy55: switch(yych){
|
|||
case 'z': goto yy54;
|
||||
default: goto yy47;
|
||||
}
|
||||
yy56: yych = *++YYCURSOR;
|
||||
yy56: ++YYCURSOR;
|
||||
goto yy57;
|
||||
yy57:
|
||||
#line 397
|
||||
{ CHK_NL(YYCURSOR);
|
||||
#line 397 "bytecode.re"
|
||||
{ CHK_NL(YYCURSOR);
|
||||
goto Directive; }
|
||||
yy58: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
#line 724 "<stdout>"
|
||||
yy58: ++YYCURSOR;
|
||||
switch((yych = *YYCURSOR)) {
|
||||
case '\n': goto yy56;
|
||||
default: goto yy47;
|
||||
}
|
||||
}
|
||||
#line 403
|
||||
#line 403 "bytecode.re"
|
||||
|
||||
|
||||
}
|
||||
|
@ -878,6 +914,8 @@ Comment:
|
|||
{
|
||||
YYTOKEN = YYCURSOR;
|
||||
|
||||
|
||||
#line 733 "<stdout>"
|
||||
{
|
||||
YYCTYPE yych;
|
||||
unsigned int yyaccept;
|
||||
|
@ -892,25 +930,29 @@ yy59:
|
|||
case '\r': goto yy64;
|
||||
default: goto yy66;
|
||||
}
|
||||
yy61:yy62: yych = *++YYCURSOR;
|
||||
yy61:yy62: ++YYCURSOR;
|
||||
goto yy63;
|
||||
yy63:
|
||||
#line 413
|
||||
{ CHK_NL(YYCURSOR);
|
||||
#line 413 "bytecode.re"
|
||||
{ CHK_NL(YYCURSOR);
|
||||
goto Document; }
|
||||
yy64: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
#line 754 "<stdout>"
|
||||
yy64: ++YYCURSOR;
|
||||
switch((yych = *YYCURSOR)) {
|
||||
case '\n': goto yy67;
|
||||
default: goto yy65;
|
||||
}
|
||||
yy65:
|
||||
#line 416
|
||||
{ goto Comment; }
|
||||
#line 416 "bytecode.re"
|
||||
{ goto Comment; }
|
||||
#line 763 "<stdout>"
|
||||
yy66: yych = *++YYCURSOR;
|
||||
goto yy65;
|
||||
yy67: yych = *++YYCURSOR;
|
||||
yy67: ++YYCURSOR;
|
||||
yych = *YYCURSOR;
|
||||
goto yy63;
|
||||
}
|
||||
#line 418
|
||||
#line 418 "bytecode.re"
|
||||
|
||||
|
||||
}
|
||||
|
@ -927,6 +969,8 @@ Scalar:
|
|||
Scalar2:
|
||||
tok = YYCURSOR;
|
||||
|
||||
|
||||
#line 771 "<stdout>"
|
||||
{
|
||||
YYCTYPE yych;
|
||||
unsigned int yyaccept;
|
||||
|
@ -941,34 +985,38 @@ yy68:
|
|||
case '\r': goto yy72;
|
||||
default: goto yy76;
|
||||
}
|
||||
yy70: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
yy70: ++YYCURSOR;
|
||||
switch((yych = *YYCURSOR)) {
|
||||
case 'C': goto yy78;
|
||||
case 'N': goto yy80;
|
||||
case 'Z': goto yy83;
|
||||
default: goto yy71;
|
||||
}
|
||||
yy71:
|
||||
#line 462
|
||||
{ YYCURSOR = tok;
|
||||
#line 462 "bytecode.re"
|
||||
{ YYCURSOR = tok;
|
||||
goto ScalarEnd;
|
||||
}
|
||||
yy72: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
#line 798 "<stdout>"
|
||||
yy72: ++YYCURSOR;
|
||||
switch((yych = *YYCURSOR)) {
|
||||
case '\n': goto yy77;
|
||||
default: goto yy73;
|
||||
}
|
||||
yy73:
|
||||
#line 470
|
||||
{ CAT(str, cap, idx, tok[0]);
|
||||
#line 470 "bytecode.re"
|
||||
{ CAT(str, cap, idx, tok[0]);
|
||||
goto Scalar2;
|
||||
}
|
||||
yy74: yych = *++YYCURSOR;
|
||||
#line 809 "<stdout>"
|
||||
yy74: ++YYCURSOR;
|
||||
goto yy75;
|
||||
yy75:
|
||||
#line 466
|
||||
{ YYCURSOR = tok;
|
||||
#line 466 "bytecode.re"
|
||||
{ YYCURSOR = tok;
|
||||
goto ScalarEnd;
|
||||
}
|
||||
#line 817 "<stdout>"
|
||||
yy76: yych = *++YYCURSOR;
|
||||
goto yy73;
|
||||
yy77: yych = *++YYCURSOR;
|
||||
|
@ -978,14 +1026,17 @@ yy77: yych = *++YYCURSOR;
|
|||
case 'Z': goto yy83;
|
||||
default: goto yy71;
|
||||
}
|
||||
yy78: yych = *++YYCURSOR;
|
||||
yy78: ++YYCURSOR;
|
||||
goto yy79;
|
||||
yy79:
|
||||
#line 436
|
||||
{ CHK_NL(tok+1);
|
||||
#line 436 "bytecode.re"
|
||||
{ CHK_NL(tok+1);
|
||||
goto Scalar2; }
|
||||
#line 833 "<stdout>"
|
||||
yy80: ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
goto yy81;
|
||||
yy81: switch(yych){
|
||||
case '0':
|
||||
case '1':
|
||||
|
@ -1000,8 +1051,8 @@ yy81: switch(yych){
|
|||
default: goto yy82;
|
||||
}
|
||||
yy82:
|
||||
#line 439
|
||||
{ CHK_NL(tok+1);
|
||||
#line 439 "bytecode.re"
|
||||
{ CHK_NL(tok+1);
|
||||
if ( tok + 2 < YYCURSOR )
|
||||
{
|
||||
char *count = tok + 2;
|
||||
|
@ -1018,15 +1069,18 @@ yy82:
|
|||
}
|
||||
goto Scalar2;
|
||||
}
|
||||
yy83: yych = *++YYCURSOR;
|
||||
#line 871 "<stdout>"
|
||||
yy83: ++YYCURSOR;
|
||||
goto yy84;
|
||||
yy84:
|
||||
#line 457
|
||||
{ CHK_NL(tok+1);
|
||||
#line 457 "bytecode.re"
|
||||
{ CHK_NL(tok+1);
|
||||
CAT(str, cap, idx, '\0');
|
||||
goto Scalar2;
|
||||
}
|
||||
#line 880 "<stdout>"
|
||||
}
|
||||
#line 474
|
||||
#line 474 "bytecode.re"
|
||||
|
||||
|
||||
ScalarEnd:
|
||||
|
@ -1060,6 +1114,8 @@ Inline:
|
|||
{
|
||||
tok = YYCURSOR;
|
||||
|
||||
|
||||
#line 884 "<stdout>"
|
||||
{
|
||||
YYCTYPE yych;
|
||||
unsigned int yyaccept;
|
||||
|
@ -1074,33 +1130,39 @@ yy85:
|
|||
case '\r': goto yy89;
|
||||
default: goto yy93;
|
||||
}
|
||||
yy87: yych = *++YYCURSOR;
|
||||
yy87: ++YYCURSOR;
|
||||
goto yy88;
|
||||
yy88:
|
||||
#line 509
|
||||
{ CHK_NL(YYCURSOR);
|
||||
#line 509 "bytecode.re"
|
||||
{ CHK_NL(YYCURSOR);
|
||||
return str; }
|
||||
yy89: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
#line 905 "<stdout>"
|
||||
yy89: ++YYCURSOR;
|
||||
switch((yych = *YYCURSOR)) {
|
||||
case '\n': goto yy94;
|
||||
default: goto yy90;
|
||||
}
|
||||
yy90:
|
||||
#line 516
|
||||
{ CAT(str, cap, idx, tok[0]);
|
||||
#line 516 "bytecode.re"
|
||||
{ CAT(str, cap, idx, tok[0]);
|
||||
goto Inline;
|
||||
}
|
||||
yy91: yych = *++YYCURSOR;
|
||||
#line 916 "<stdout>"
|
||||
yy91: ++YYCURSOR;
|
||||
goto yy92;
|
||||
yy92:
|
||||
#line 512
|
||||
{ YYCURSOR = tok;
|
||||
#line 512 "bytecode.re"
|
||||
{ YYCURSOR = tok;
|
||||
return str;
|
||||
}
|
||||
#line 924 "<stdout>"
|
||||
yy93: yych = *++YYCURSOR;
|
||||
goto yy90;
|
||||
yy94: yych = *++YYCURSOR;
|
||||
yy94: ++YYCURSOR;
|
||||
yych = *YYCURSOR;
|
||||
goto yy88;
|
||||
}
|
||||
#line 520
|
||||
#line 520 "bytecode.re"
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -351,8 +351,8 @@ static const unsigned short yyrline[] =
|
|||
184, 194, 195, 196, 197, 198, 204, 210, 216, 217,
|
||||
222, 227, 232, 237, 241, 247, 251, 256, 265, 269,
|
||||
275, 279, 286, 287, 293, 298, 305, 310, 315, 320,
|
||||
325, 329, 335, 350, 351, 369, 370, 382, 390, 399,
|
||||
407, 411, 417, 418, 427, 434
|
||||
325, 329, 335, 350, 351, 368, 369, 381, 389, 398,
|
||||
406, 410, 416, 417, 426, 433
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -1476,7 +1476,7 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 66:
|
||||
#line 371 "gram.y"
|
||||
#line 370 "gram.y"
|
||||
{
|
||||
if ( yyvsp[-2].nodeData->shortcut == NULL )
|
||||
{
|
||||
|
@ -1491,7 +1491,7 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 67:
|
||||
#line 383 "gram.y"
|
||||
#line 382 "gram.y"
|
||||
{
|
||||
apply_seq_in_map( (SyckParser *)parser, yyvsp[-2].nodeData );
|
||||
syck_map_update( yyvsp[-2].nodeData, yyvsp[0].nodeData );
|
||||
|
@ -1502,14 +1502,14 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 68:
|
||||
#line 391 "gram.y"
|
||||
#line 390 "gram.y"
|
||||
{
|
||||
yyval.nodeData = yyvsp[-1].nodeData;
|
||||
}
|
||||
break;
|
||||
|
||||
case 69:
|
||||
#line 400 "gram.y"
|
||||
#line 399 "gram.y"
|
||||
{
|
||||
yyval.nodeData = syck_new_map(
|
||||
syck_hdlr_add_node( (SyckParser *)parser, yyvsp[-2].nodeData ),
|
||||
|
@ -1518,21 +1518,21 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 70:
|
||||
#line 408 "gram.y"
|
||||
#line 407 "gram.y"
|
||||
{
|
||||
yyval.nodeData = yyvsp[-1].nodeData;
|
||||
}
|
||||
break;
|
||||
|
||||
case 71:
|
||||
#line 412 "gram.y"
|
||||
#line 411 "gram.y"
|
||||
{
|
||||
yyval.nodeData = syck_alloc_map();
|
||||
}
|
||||
break;
|
||||
|
||||
case 73:
|
||||
#line 419 "gram.y"
|
||||
#line 418 "gram.y"
|
||||
{
|
||||
syck_map_update( yyvsp[-2].nodeData, yyvsp[0].nodeData );
|
||||
syck_free_node( yyvsp[0].nodeData );
|
||||
|
@ -1542,7 +1542,7 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 74:
|
||||
#line 428 "gram.y"
|
||||
#line 427 "gram.y"
|
||||
{
|
||||
NULL_NODE( parser, n );
|
||||
yyval.nodeData = syck_new_map(
|
||||
|
@ -1774,7 +1774,7 @@ yyreturn:
|
|||
}
|
||||
|
||||
|
||||
#line 437 "gram.y"
|
||||
#line 436 "gram.y"
|
||||
|
||||
|
||||
void
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
||||
}
|
||||
|
|
469
ext/syck/token.c
469
ext/syck/token.c
File diff suppressed because it is too large
Load diff
40
lib/yaml.rb
40
lib/yaml.rb
|
@ -105,7 +105,7 @@ module YAML
|
|||
end
|
||||
|
||||
#
|
||||
# Load the first document from the current _io_ stream.
|
||||
# Load a document from the current _io_ stream.
|
||||
#
|
||||
# File.open( 'animals.yaml' ) { |yf| YAML::load( yf ) }
|
||||
# #=> ['badger', 'elephant', 'tiger']
|
||||
|
@ -119,6 +119,18 @@ module YAML
|
|||
yp = @@parser.new.load( io )
|
||||
end
|
||||
|
||||
#
|
||||
# Load a document from the file located at _filepath_.
|
||||
#
|
||||
# YAML.load_file( 'animals.yaml' )
|
||||
# #=> ['badger', 'elephant', 'tiger']
|
||||
#
|
||||
def YAML.load_file( filepath )
|
||||
File.open( filepath ) do |f|
|
||||
load( f )
|
||||
end
|
||||
end
|
||||
|
||||
#
|
||||
# Parse the first document from the current _io_ stream
|
||||
#
|
||||
|
@ -150,6 +162,32 @@ module YAML
|
|||
yp = @@parser.new( :Model => :Generic ).load( io )
|
||||
end
|
||||
|
||||
#
|
||||
# Parse a document from the file located at _filepath_.
|
||||
#
|
||||
# YAML.parse_file( 'animals.yaml' )
|
||||
# #=> #<YAML::Syck::Node:0x82ccce0
|
||||
# @kind=:seq,
|
||||
# @value=
|
||||
# [#<YAML::Syck::Node:0x82ccd94
|
||||
# @kind=:scalar,
|
||||
# @type_id="str",
|
||||
# @value="badger">,
|
||||
# #<YAML::Syck::Node:0x82ccd58
|
||||
# @kind=:scalar,
|
||||
# @type_id="str",
|
||||
# @value="elephant">,
|
||||
# #<YAML::Syck::Node:0x82ccd1c
|
||||
# @kind=:scalar,
|
||||
# @type_id="str",
|
||||
# @value="tiger">]>
|
||||
#
|
||||
def YAML.parse_file( filepath )
|
||||
File.open( filepath ) do |f|
|
||||
parse( f )
|
||||
end
|
||||
end
|
||||
|
||||
#
|
||||
# Calls _block_ with each consecutive document in the YAML
|
||||
# stream contained in _io_.
|
||||
|
|
Loading…
Reference in a new issue