summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwhy <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-15 05:04:49 +0000
committerwhy <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-15 05:04:49 +0000
commit3ac79892be7f3473d79ed0868f8413804e279f40 (patch)
tree05b72c2cfc9f3ce039949d8db3b49c4e310c152a
parent13d4e3b5cdd1b64913446cc42825db3da4ec424a (diff)
* 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
-rw-r--r--ChangeLog8
-rw-r--r--ext/syck/bytecode.c252
-rw-r--r--ext/syck/gram.c22
-rw-r--r--ext/syck/implicit.c238
-rw-r--r--ext/syck/token.c469
-rw-r--r--lib/yaml.rb40
6 files changed, 673 insertions, 356 deletions
diff --git a/ChangeLog b/ChangeLog
index 6c3f2e83d22..2099ea27ba6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/ext/syck/bytecode.c b/ext/syck/bytecode.c
index 322d17dc0e7..9a82f1bb8f2 100644
--- a/ext/syck/bytecode.c
+++ b/ext/syck/bytecode.c
@@ -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"
}
diff --git a/ext/syck/gram.c b/ext/syck/gram.c
index cf97516b27c..dd65ea1deb6 100644
--- a/ext/syck/gram.c
+++ b/ext/syck/gram.c
@@ -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
diff --git a/ext/syck/implicit.c b/ext/syck/implicit.c
index dee5cce636c..c70b9e22050 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"
}
diff --git a/ext/syck/token.c b/ext/syck/token.c
index ff192f24e16..295103fc50e 100644
--- a/ext/syck/token.c
+++ b/ext/syck/token.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.5 on Thu May 13 01:45:26 2004 */
+/* Generated by re2c 0.9.3 on Fri Jun 18 18:55:09 2004 */
#line 1 "token.re"
/*
* token.re
@@ -259,7 +259,7 @@ sycklex_yaml_utf8( YYSTYPE *sycklval, SyckParser *parser )
return t;
}
-#line 278
+#line 278 "token.re"
if ( YYLINEPTR != YYCURSOR )
@@ -271,6 +271,8 @@ Header:
YYTOKEN = YYCURSOR;
+
+#line 7 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept;
@@ -296,55 +298,64 @@ yy2: yyaccept = 0;
default: goto yy3;
}
yy3:
-#line 337
- { YYPOS(0);
+#line 337 "token.re"
+{ YYPOS(0);
goto Document;
}
+#line 37 "<stdout>"
yy4: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
switch(yych){
case '.': goto yy21;
default: goto yy3;
}
-yy5: yych = *++YYCURSOR;
+yy5: ++YYCURSOR;
+ goto yy6;
yy6:
-#line 319
- { eat_comments( parser );
+#line 319 "token.re"
+{ eat_comments( parser );
goto Header;
}
-yy7: yych = *++YYCURSOR;
+#line 51 "<stdout>"
+yy7: ++YYCURSOR;
+ goto yy8;
yy8:
-#line 323
- { SyckLevel *lvl = CURRENT_LEVEL();
+#line 323 "token.re"
+{ SyckLevel *lvl = CURRENT_LEVEL();
ENSURE_YAML_IEND(lvl, -1);
YYPOS(0);
return 0;
}
+#line 61 "<stdout>"
yy9: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
goto yy18;
yy10:
-#line 329
- { GOBBLE_UP_YAML_INDENT( doc_level, YYTOKEN );
+#line 329 "token.re"
+{ GOBBLE_UP_YAML_INDENT( doc_level, YYTOKEN );
goto Header;
}
+#line 70 "<stdout>"
yy11: yych = *++YYCURSOR;
switch(yych){
case '\n': goto yy17;
default: goto yy3;
}
-yy12: yych = *++YYCURSOR;
+yy12: ++YYCURSOR;
+ yych = *YYCURSOR;
goto yy16;
yy13:
-#line 333
- { doc_level = YYCURSOR - YYLINEPTR;
+#line 333 "token.re"
+{ doc_level = YYCURSOR - YYLINEPTR;
goto Header;
}
+#line 83 "<stdout>"
yy14: yych = *++YYCURSOR;
goto yy3;
yy15: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy16;
yy16: switch(yych){
case ' ': goto yy15;
default: goto yy13;
@@ -353,6 +364,7 @@ yy17: yyaccept = 1;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy18;
yy18: switch(yych){
case '\n': case ' ': goto yy17;
case '\r': goto yy19;
@@ -382,10 +394,11 @@ yy22: yych = *++YYCURSOR;
case ' ': goto yy25;
default: goto yy20;
}
-yy23: yych = *++YYCURSOR;
+yy23: ++YYCURSOR;
+ goto yy24;
yy24:
-#line 305
- { SyckLevel *lvl = CURRENT_LEVEL();
+#line 305 "token.re"
+{ SyckLevel *lvl = CURRENT_LEVEL();
if ( lvl->status == syck_lvl_header )
{
goto Header;
@@ -398,9 +411,11 @@ yy24:
}
return 0;
}
+#line 147 "<stdout>"
yy25: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy26;
yy26: switch(yych){
case ' ': goto yy25;
default: goto yy24;
@@ -422,10 +437,11 @@ yy29: yych = *++YYCURSOR;
case ' ': goto yy32;
default: goto yy20;
}
-yy30: yych = *++YYCURSOR;
+yy30: ++YYCURSOR;
+ goto yy31;
yy31:
-#line 291
- { SyckLevel *lvl = CURRENT_LEVEL();
+#line 291 "token.re"
+{ SyckLevel *lvl = CURRENT_LEVEL();
if ( lvl->status == syck_lvl_header )
{
YYPOS(3);
@@ -438,20 +454,22 @@ yy31:
return 0;
}
}
+#line 191 "<stdout>"
yy32: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy33;
yy33: switch(yych){
case ' ': goto yy32;
default: goto yy31;
}
-yy34: yych = *++YYCURSOR;
- switch(yych){
+yy34: ++YYCURSOR;
+ switch((yych = *YYCURSOR)) {
case '\n': goto yy30;
default: goto yy20;
}
}
-#line 341
+#line 341 "token.re"
Document:
@@ -464,6 +482,8 @@ Document:
YYTOKEN = YYCURSOR;
+
+#line 209 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept;
@@ -494,8 +514,8 @@ yy37: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
goto yy90;
yy38:
-#line 355
- { /* Isolate spaces */
+#line 355 "token.re"
+{ /* Isolate spaces */
int indt_len;
GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN );
lvl = CURRENT_LEVEL();
@@ -516,30 +536,36 @@ yy38:
}
return YAML_INDENT;
}
-yy39: yych = *++YYCURSOR;
- switch(yych){
+#line 262 "<stdout>"
+yy39: ++YYCURSOR;
+ switch((yych = *YYCURSOR)) {
case '\n': goto yy89;
default: goto yy40;
}
yy40:
-#line 447
- { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
+#line 447 "token.re"
+{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
goto Plain;
}
-yy41: yych = *++YYCURSOR;
+#line 273 "<stdout>"
+yy41: ++YYCURSOR;
+ goto yy42;
yy42:
-#line 377
- { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
+#line 377 "token.re"
+{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
lvl = CURRENT_LEVEL();
ADD_LEVEL(lvl->spaces + 1, syck_lvl_inline);
return YYTOKEN[0];
}
-yy43: yych = *++YYCURSOR;
+#line 283 "<stdout>"
+yy43: ++YYCURSOR;
+ goto yy44;
yy44:
-#line 383
- { POP_LEVEL();
+#line 383 "token.re"
+{ POP_LEVEL();
return YYTOKEN[0];
}
+#line 291 "<stdout>"
yy45: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
switch(yych){
@@ -684,20 +710,26 @@ yy48: yych = *++YYCURSOR;
case 'z': goto yy73;
default: goto yy40;
}
-yy49: yych = *++YYCURSOR;
+yy49: ++YYCURSOR;
+ goto yy50;
yy50:
-#line 421
- { goto TransferMethod; }
-yy51: yych = *++YYCURSOR;
+#line 421 "token.re"
+{ goto TransferMethod; }
+#line 441 "<stdout>"
+yy51: ++YYCURSOR;
+ goto yy52;
yy52:
-#line 423
- { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
+#line 423 "token.re"
+{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
goto SingleQuote; }
-yy53: yych = *++YYCURSOR;
+#line 448 "<stdout>"
+yy53: ++YYCURSOR;
+ goto yy54;
yy54:
-#line 426
- { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
+#line 426 "token.re"
+{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
goto DoubleQuote; }
+#line 455 "<stdout>"
yy55: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
switch(yych){
@@ -716,29 +748,36 @@ yy55: yyaccept = 1;
case '9': goto yy65;
default: goto yy40;
}
-yy56: yych = *++YYCURSOR;
+yy56: ++YYCURSOR;
+ goto yy57;
yy57:
-#line 436
- { eat_comments( parser );
+#line 436 "token.re"
+{ eat_comments( parser );
goto Document;
}
-yy58: yych = *++YYCURSOR;
+#line 481 "<stdout>"
+yy58: ++YYCURSOR;
+ yych = *YYCURSOR;
goto yy64;
yy59:
-#line 440
- { goto Document; }
-yy60: yych = *++YYCURSOR;
+#line 440 "token.re"
+{ goto Document; }
+#line 487 "<stdout>"
+yy60: ++YYCURSOR;
+ goto yy61;
yy61:
-#line 442
- { ENSURE_YAML_IEND(lvl, -1);
+#line 442 "token.re"
+{ ENSURE_YAML_IEND(lvl, -1);
YYPOS(0);
return 0;
}
+#line 496 "<stdout>"
yy62: yych = *++YYCURSOR;
goto yy40;
yy63: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy64;
yy64: switch(yych){
case ' ': goto yy63;
default: goto yy59;
@@ -746,6 +785,7 @@ yy64: switch(yych){
yy65: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy66;
yy66: switch(yych){
case '\n': goto yy68;
case '\r': goto yy72;
@@ -767,18 +807,21 @@ yy67: YYCURSOR = YYMARKER;
case 0: goto yy38;
case 1: goto yy40;
}
-yy68: yych = *++YYCURSOR;
+yy68: ++YYCURSOR;
+ goto yy69;
yy69:
-#line 429
- { if ( is_newline( YYCURSOR - 1 ) )
+#line 429 "token.re"
+{ if ( is_newline( YYCURSOR - 1 ) )
{
YYCURSOR--;
}
goto ScalarBlock;
}
+#line 544 "<stdout>"
yy70: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy71;
yy71: switch(yych){
case ' ': goto yy70;
default: goto yy69;
@@ -791,6 +834,7 @@ yy72: yych = *++YYCURSOR;
yy73: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy74;
yy74: switch(yych){
case '-': case '0':
case '1':
@@ -855,14 +899,16 @@ yy74: switch(yych){
default: goto yy75;
}
yy75:
-#line 416
- { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
+#line 416 "token.re"
+{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
return YAML_ALIAS;
}
+#line 633 "<stdout>"
yy76: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy77;
yy77: switch(yych){
case '-': case '0':
case '1':
@@ -927,8 +973,8 @@ yy77: switch(yych){
default: goto yy78;
}
yy78:
-#line 405
- { sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
+#line 405 "token.re"
+{ sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
/*
* Remove previous anchors of the same name. Since the parser will likely
@@ -938,10 +984,12 @@ yy78:
syck_hdlr_remove_anchor(parser, sycklval->name);
return YAML_ANCHOR;
}
-yy79: yych = *++YYCURSOR;
+#line 714 "<stdout>"
+yy79: ++YYCURSOR;
+ goto yy80;
yy80:
-#line 391
- { ENSURE_YAML_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1);
+#line 391 "token.re"
+{ ENSURE_YAML_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1);
FORCE_NEXT_TOKEN(YAML_IOPEN);
if ( is_newline( YYCURSOR ) || is_newline( YYCURSOR - 1 ) )
{
@@ -954,9 +1002,11 @@ yy80:
}
return YYTOKEN[0];
}
+#line 732 "<stdout>"
yy81: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy82;
yy82: switch(yych){
case ' ': goto yy81;
default: goto yy80;
@@ -966,15 +1016,18 @@ yy83: yych = *++YYCURSOR;
case '\n': goto yy79;
default: goto yy67;
}
-yy84: yych = *++YYCURSOR;
+yy84: ++YYCURSOR;
+ goto yy85;
yy85:
-#line 387
- { YYPOS(1);
+#line 387 "token.re"
+{ YYPOS(1);
return YYTOKEN[0];
}
+#line 754 "<stdout>"
yy86: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy87;
yy87: switch(yych){
case ' ': goto yy86;
default: goto yy85;
@@ -988,6 +1041,7 @@ yy89: yyaccept = 0;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy90;
yy90: switch(yych){
case '\n': case ' ': goto yy89;
case '\r': goto yy91;
@@ -1001,7 +1055,7 @@ yy91: ++YYCURSOR;
default: goto yy67;
}
}
-#line 451
+#line 451 "token.re"
}
@@ -1009,6 +1063,8 @@ Directive:
{
YYTOKTMP = YYCURSOR;
+
+#line 790 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept;
@@ -1108,20 +1164,24 @@ yy95: yyaccept = 0;
default: goto yy96;
}
yy96:
-#line 464
- { YYCURSOR = YYTOKTMP;
+#line 464 "token.re"
+{ YYCURSOR = YYTOKTMP;
return YAML_DOCSEP;
}
-yy97: yych = *++YYCURSOR;
+#line 894 "<stdout>"
+yy97: ++YYCURSOR;
+ yych = *YYCURSOR;
goto yy101;
yy98:
-#line 462
- { goto Directive; }
+#line 462 "token.re"
+{ goto Directive; }
+#line 900 "<stdout>"
yy99: yych = *++YYCURSOR;
goto yy96;
yy100: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy101;
yy101: switch(yych){
case ' ': goto yy100;
default: goto yy98;
@@ -1129,6 +1189,7 @@ yy101: switch(yych){
yy102: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy103;
yy103: switch(yych){
case '.':
case '/':
@@ -1288,6 +1349,7 @@ yy104: yych = *++YYCURSOR;
yy105: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy106;
yy106: switch(yych){
case '.':
case '/':
@@ -1367,10 +1429,11 @@ yy106: switch(yych){
default: goto yy107;
}
yy107:
-#line 460
- { goto Directive; }
+#line 460 "token.re"
+{ goto Directive; }
+#line 1159 "<stdout>"
}
-#line 467
+#line 467 "token.re"
}
@@ -1392,6 +1455,8 @@ Plain2:
Plain3:
+
+#line 1163 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept;
@@ -1414,8 +1479,8 @@ yy110: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
goto yy136;
yy111:
-#line 490
- { int indt_len, nl_count = 0;
+#line 490 "token.re"
+{ int indt_len, nl_count = 0;
SyckLevel *lvl;
char *tok = YYTOKEN;
GOBBLE_UP_YAML_INDENT( indt_len, tok );
@@ -1446,16 +1511,18 @@ yy111:
goto Plain2;
}
-yy112: yych = *++YYCURSOR;
- switch(yych){
+#line 1218 "<stdout>"
+yy112: ++YYCURSOR;
+ switch((yych = *YYCURSOR)) {
case '\n': goto yy135;
default: goto yy113;
}
yy113:
-#line 544
- { QUOTECATS(qstr, qcapa, qidx, YYTOKEN, YYCURSOR - YYTOKEN);
+#line 544 "token.re"
+{ QUOTECATS(qstr, qcapa, qidx, YYTOKEN, YYCURSOR - YYTOKEN);
goto Plain2;
}
+#line 1229 "<stdout>"
yy114: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
switch(yych){
@@ -1464,10 +1531,11 @@ yy114: yyaccept = 1;
case ' ': goto yy132;
default: goto yy113;
}
-yy115: yych = *++YYCURSOR;
+yy115: ++YYCURSOR;
+ goto yy116;
yy116:
-#line 524
- { if ( plvl->status != syck_lvl_inline )
+#line 524 "token.re"
+{ if ( plvl->status != syck_lvl_inline )
{
if ( *(YYCURSOR - 1) == ' ' || is_newline( YYCURSOR - 1 ) )
{
@@ -1478,6 +1546,7 @@ yy116:
}
RETURN_IMPLICIT();
}
+#line 1253 "<stdout>"
yy117: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
switch(yych){
@@ -1486,31 +1555,37 @@ yy117: yyaccept = 1;
case ' ': goto yy126;
default: goto yy113;
}
-yy118: yych = *++YYCURSOR;
- switch(yych){
+yy118: ++YYCURSOR;
+ switch((yych = *YYCURSOR)) {
case '#': goto yy123;
default: goto yy119;
}
yy119:
-#line 542
- { goto Plain3; }
-yy120: yych = *++YYCURSOR;
+#line 542 "token.re"
+{ goto Plain3; }
+#line 1270 "<stdout>"
+yy120: ++YYCURSOR;
+ goto yy121;
yy121:
-#line 540
- { RETURN_IMPLICIT(); }
+#line 540 "token.re"
+{ RETURN_IMPLICIT(); }
+#line 1276 "<stdout>"
yy122: yych = *++YYCURSOR;
goto yy113;
-yy123: yych = *++YYCURSOR;
+yy123: ++YYCURSOR;
+ goto yy124;
yy124:
-#line 536
- { eat_comments( parser );
+#line 536 "token.re"
+{ eat_comments( parser );
RETURN_IMPLICIT();
}
+#line 1286 "<stdout>"
yy125: yych = *++YYCURSOR;
goto yy116;
yy126: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy127;
yy127: switch(yych){
case ' ': goto yy126;
default: goto yy116;
@@ -1525,13 +1600,16 @@ yy129: YYCURSOR = YYMARKER;
case 0: goto yy111;
case 1: goto yy113;
}
-yy130: yych = *++YYCURSOR;
+yy130: ++YYCURSOR;
+ goto yy131;
yy131:
-#line 522
- { RETURN_IMPLICIT(); }
+#line 522 "token.re"
+{ RETURN_IMPLICIT(); }
+#line 1313 "<stdout>"
yy132: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy133;
yy133: switch(yych){
case ' ': goto yy132;
default: goto yy131;
@@ -1545,6 +1623,7 @@ yy135: yyaccept = 0;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy136;
yy136: switch(yych){
case '\n': case ' ': goto yy135;
case '\r': goto yy137;
@@ -1558,7 +1637,7 @@ yy137: ++YYCURSOR;
default: goto yy129;
}
}
-#line 548
+#line 548 "token.re"
}
@@ -1571,6 +1650,8 @@ SingleQuote:
SingleQuote2:
YYTOKEN = YYCURSOR;
+
+#line 1349 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept;
@@ -1590,8 +1671,8 @@ yy140: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
goto yy151;
yy141:
-#line 562
- { int indt_len;
+#line 562 "token.re"
+{ int indt_len;
int nl_count = 0;
SyckLevel *lvl;
GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN );
@@ -1626,24 +1707,26 @@ yy141:
goto SingleQuote2;
}
-yy142: yych = *++YYCURSOR;
- switch(yych){
+#line 1405 "<stdout>"
+yy142: ++YYCURSOR;
+ switch((yych = *YYCURSOR)) {
case '\n': goto yy150;
default: goto yy143;
}
yy143:
-#line 618
- { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
+#line 618 "token.re"
+{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
goto SingleQuote2;
}
-yy144: yych = *++YYCURSOR;
- switch(yych){
+#line 1416 "<stdout>"
+yy144: ++YYCURSOR;
+ switch((yych = *YYCURSOR)) {
case '\'': goto yy148;
default: goto yy145;
}
yy145:
-#line 602
- { SyckLevel *lvl;
+#line 602 "token.re"
+{ SyckLevel *lvl;
SyckNode *n = syck_alloc_str();
lvl = CURRENT_LEVEL();
@@ -1658,20 +1741,24 @@ yy145:
sycklval->nodeData = n;
return YAML_PLAIN;
}
+#line 1439 "<stdout>"
yy146: yych = *++YYCURSOR;
goto yy145;
yy147: yych = *++YYCURSOR;
goto yy143;
-yy148: yych = *++YYCURSOR;
+yy148: ++YYCURSOR;
+ goto yy149;
yy149:
-#line 598
- { QUOTECAT(qstr, qcapa, qidx, '\'');
+#line 598 "token.re"
+{ QUOTECAT(qstr, qcapa, qidx, '\'');
goto SingleQuote2;
}
+#line 1451 "<stdout>"
yy150: yyaccept = 0;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy151;
yy151: switch(yych){
case '\n': case ' ': goto yy150;
case '\r': goto yy152;
@@ -1689,7 +1776,7 @@ yy153: YYCURSOR = YYMARKER;
case 0: goto yy141;
}
}
-#line 622
+#line 622 "token.re"
}
@@ -1706,6 +1793,8 @@ DoubleQuote2:
YYTOKEN = YYCURSOR;
+
+#line 1477 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept;
@@ -1726,8 +1815,8 @@ yy156: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
goto yy178;
yy157:
-#line 640
- { int indt_len;
+#line 640 "token.re"
+{ int indt_len;
int nl_count = 0;
SyckLevel *lvl;
GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN );
@@ -1766,16 +1855,18 @@ yy157:
keep_nl = 1;
goto DoubleQuote2;
}
-yy158: yych = *++YYCURSOR;
- switch(yych){
+#line 1538 "<stdout>"
+yy158: ++YYCURSOR;
+ switch((yych = *YYCURSOR)) {
case '\n': goto yy177;
default: goto yy159;
}
yy159:
-#line 715
- { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
+#line 715 "token.re"
+{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
goto DoubleQuote2;
}
+#line 1549 "<stdout>"
yy160: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
switch(yych){
@@ -1788,10 +1879,11 @@ yy160: yyaccept = 1;
case 'x': goto yy171;
default: goto yy159;
}
-yy161: yych = *++YYCURSOR;
+yy161: ++YYCURSOR;
+ goto yy162;
yy162:
-#line 699
- { SyckLevel *lvl;
+#line 699 "token.re"
+{ SyckLevel *lvl;
SyckNode *n = syck_alloc_str();
lvl = CURRENT_LEVEL();
@@ -1806,6 +1898,7 @@ yy162:
sycklval->nodeData = n;
return YAML_PLAIN;
}
+#line 1581 "<stdout>"
yy163: yych = *++YYCURSOR;
goto yy162;
yy164: yych = *++YYCURSOR;
@@ -1813,6 +1906,7 @@ yy164: yych = *++YYCURSOR;
yy165: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy166;
yy166: switch(yych){
case '\n': goto yy168;
case '\r': goto yy170;
@@ -1824,13 +1918,15 @@ yy167: YYCURSOR = YYMARKER;
case 0: goto yy157;
case 1: goto yy159;
}
-yy168: yych = *++YYCURSOR;
+yy168: ++YYCURSOR;
+ goto yy169;
yy169:
-#line 694
- { keep_nl = 0;
+#line 694 "token.re"
+{ keep_nl = 0;
YYCURSOR--;
goto DoubleQuote2;
}
+#line 1610 "<stdout>"
yy170: yych = *++YYCURSOR;
switch(yych){
case '\n': goto yy168;
@@ -1860,13 +1956,15 @@ yy171: yych = *++YYCURSOR;
case 'f': goto yy174;
default: goto yy167;
}
-yy172: yych = *++YYCURSOR;
+yy172: ++YYCURSOR;
+ goto yy173;
yy173:
-#line 680
- { char ch = *( YYCURSOR - 1 );
+#line 680 "token.re"
+{ char ch = *( YYCURSOR - 1 );
QUOTECAT(qstr, qcapa, qidx, escape_seq( ch ));
goto DoubleQuote2;
}
+#line 1648 "<stdout>"
yy174: yych = *++YYCURSOR;
switch(yych){
case '0':
@@ -1891,10 +1989,11 @@ yy174: yych = *++YYCURSOR;
case 'f': goto yy175;
default: goto yy167;
}
-yy175: yych = *++YYCURSOR;
+yy175: ++YYCURSOR;
+ goto yy176;
yy176:
-#line 685
- { long ch;
+#line 685 "token.re"
+{ long ch;
char *chr_text = syck_strndup( YYTOKEN, 4 );
chr_text[0] = '0';
ch = strtol( chr_text, NULL, 16 );
@@ -1902,10 +2001,12 @@ yy176:
QUOTECAT(qstr, qcapa, qidx, ch);
goto DoubleQuote2;
}
+#line 1685 "<stdout>"
yy177: yyaccept = 0;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy178;
yy178: switch(yych){
case '\n': case ' ': goto yy177;
case '\r': goto yy179;
@@ -1919,7 +2020,7 @@ yy179: ++YYCURSOR;
default: goto yy167;
}
}
-#line 719
+#line 719 "token.re"
}
@@ -1932,6 +2033,8 @@ TransferMethod:
TransferMethod2:
YYTOKTMP = YYCURSOR;
+
+#line 1707 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept;
@@ -1952,10 +2055,11 @@ yy182: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy187;
}
-yy183: yych = *++YYCURSOR;
+yy183: ++YYCURSOR;
+ goto yy184;
yy184:
-#line 733
- { SyckLevel *lvl;
+#line 733 "token.re"
+{ SyckLevel *lvl;
YYCURSOR = YYTOKTMP;
if ( YYCURSOR == YYTOKEN + 1 )
{
@@ -2004,18 +2108,20 @@ yy184:
return YAML_TRANSFER;
}
+#line 1781 "<stdout>"
yy185: yych = *++YYCURSOR;
goto yy198;
-yy186: yych = *++YYCURSOR;
- switch(yych){
+yy186: ++YYCURSOR;
+ switch((yych = *YYCURSOR)) {
case '\n': goto yy196;
default: goto yy187;
}
yy187:
-#line 800
- { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
+#line 800 "token.re"
+{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
goto TransferMethod2;
}
+#line 1794 "<stdout>"
yy188: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
switch(yych){
@@ -2051,13 +2157,15 @@ yy190: yych = *++YYCURSOR;
case 'f': goto yy193;
default: goto yy182;
}
-yy191: yych = *++YYCURSOR;
+yy191: ++YYCURSOR;
+ goto yy192;
yy192:
-#line 786
- { char ch = *( YYCURSOR - 1 );
+#line 786 "token.re"
+{ char ch = *( YYCURSOR - 1 );
QUOTECAT(qstr, qcapa, qidx, escape_seq( ch ));
goto TransferMethod2;
}
+#line 1838 "<stdout>"
yy193: yych = *++YYCURSOR;
switch(yych){
case '0':
@@ -2082,10 +2190,11 @@ yy193: yych = *++YYCURSOR;
case 'f': goto yy194;
default: goto yy182;
}
-yy194: yych = *++YYCURSOR;
+yy194: ++YYCURSOR;
+ goto yy195;
yy195:
-#line 791
- { long ch;
+#line 791 "token.re"
+{ long ch;
char *chr_text = syck_strndup( YYTOKTMP, 4 );
chr_text[0] = '0';
ch = strtol( chr_text, NULL, 16 );
@@ -2093,17 +2202,19 @@ yy195:
QUOTECAT(qstr, qcapa, qidx, ch);
goto TransferMethod2;
}
+#line 1875 "<stdout>"
yy196: yych = *++YYCURSOR;
goto yy184;
yy197: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy198;
yy198: switch(yych){
case ' ': goto yy197;
default: goto yy184;
}
}
-#line 805
+#line 805 "token.re"
}
@@ -2149,6 +2260,8 @@ ScalarBlock:
ScalarBlock2:
YYTOKEN = YYCURSOR;
+
+#line 1890 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept;
@@ -2169,8 +2282,8 @@ yy201: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
goto yy220;
yy202:
-#line 852
- { char *pacer;
+#line 852 "token.re"
+{ char *pacer;
char *tok = YYTOKEN;
int indt_len = 0, nl_count = 0, fold_nl = 0, nl_begin = 0;
GOBBLE_UP_YAML_INDENT( indt_len, tok );
@@ -2235,20 +2348,23 @@ yy202:
}
goto ScalarBlock2;
}
-yy203: yych = *++YYCURSOR;
- switch(yych){
+#line 1977 "<stdout>"
+yy203: ++YYCURSOR;
+ switch((yych = *YYCURSOR)) {
case '\n': goto yy219;
default: goto yy204;
}
yy204:
-#line 957
- { QUOTECAT(qstr, qcapa, qidx, *YYTOKEN);
+#line 957 "token.re"
+{ QUOTECAT(qstr, qcapa, qidx, *YYTOKEN);
goto ScalarBlock2;
}
-yy205: yych = *++YYCURSOR;
+#line 1988 "<stdout>"
+yy205: ++YYCURSOR;
+ goto yy206;
yy206:
-#line 919
- { lvl = CURRENT_LEVEL();
+#line 919 "token.re"
+{ lvl = CURRENT_LEVEL();
if ( lvl->status != syck_lvl_block )
{
eat_comments( parser );
@@ -2260,13 +2376,16 @@ yy206:
}
goto ScalarBlock2;
}
-yy207: yych = *++YYCURSOR;
+#line 2005 "<stdout>"
+yy207: ++YYCURSOR;
+ goto yy208;
yy208:
-#line 933
- { YYCURSOR--;
+#line 933 "token.re"
+{ YYCURSOR--;
POP_LEVEL();
RETURN_YAML_BLOCK();
}
+#line 2014 "<stdout>"
yy209: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
switch(yych){
@@ -2292,10 +2411,11 @@ yy213: yych = *++YYCURSOR;
case ' ': goto yy216;
default: goto yy212;
}
-yy214: yych = *++YYCURSOR;
+yy214: ++YYCURSOR;
+ goto yy215;
yy215:
-#line 938
- { if ( YYTOKEN == YYLINEPTR )
+#line 938 "token.re"
+{ if ( YYTOKEN == YYLINEPTR )
{
if ( blockType == BLOCK_FOLD && qidx > 0 )
{
@@ -2313,9 +2433,11 @@ yy215:
goto ScalarBlock2;
}
}
+#line 2062 "<stdout>"
yy216: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy217;
yy217: switch(yych){
case ' ': goto yy216;
default: goto yy215;
@@ -2329,6 +2451,7 @@ yy219: yyaccept = 0;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy220;
yy220: switch(yych){
case '\n': case ' ': goto yy219;
case '\r': goto yy221;
@@ -2342,7 +2465,7 @@ yy221: ++YYCURSOR;
default: goto yy212;
}
}
-#line 962
+#line 962 "token.re"
}
@@ -2357,6 +2480,8 @@ Comment:
{
YYTOKEN = YYCURSOR;
+
+#line 2098 "<stdout>"
{
YYCTYPE yych;
unsigned int yyaccept;
@@ -2371,30 +2496,34 @@ yy222:
case '\r': goto yy227;
default: goto yy229;
}
-yy224: yych = *++YYCURSOR;
+yy224: ++YYCURSOR;
+ goto yy225;
yy225:
-#line 978
- { YYCURSOR = YYTOKEN;
+#line 978 "token.re"
+{ YYCURSOR = YYTOKEN;
return;
}
+#line 2120 "<stdout>"
yy226: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
goto yy231;
-yy227: yych = *++YYCURSOR;
- switch(yych){
+yy227: ++YYCURSOR;
+ switch((yych = *YYCURSOR)) {
case '\n': goto yy230;
default: goto yy228;
}
yy228:
-#line 982
- { goto Comment;
+#line 982 "token.re"
+{ goto Comment;
}
+#line 2133 "<stdout>"
yy229: yych = *++YYCURSOR;
goto yy228;
yy230: yyaccept = 0;
YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+ goto yy231;
yy231: switch(yych){
case '\n': goto yy230;
case '\r': goto yy232;
@@ -2412,7 +2541,7 @@ yy233: YYCURSOR = YYMARKER;
case 0: goto yy225;
}
}
-#line 985
+#line 985 "token.re"
}
diff --git a/lib/yaml.rb b/lib/yaml.rb
index 023c4ab84b6..38463404bdf 100644
--- a/lib/yaml.rb
+++ b/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_.