1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/syck/token.c: correctly compute identation of a block

scalar's parent node. [ruby-talk:150620]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
why 2005-09-20 23:58:18 +00:00
parent 7f249811e1
commit 741179662d
2 changed files with 120 additions and 110 deletions

View file

@ -1,3 +1,8 @@
Wed Sep 21 08:52:25 2005 why the lucky stiff <why@ruby-lang.org>
* ext/syck/token.c: correctly compute identation of a block
scalar's parent node. [ruby-talk:150620]
Wed Sep 21 08:20:24 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> Wed Sep 21 08:20:24 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
* README.EXT, README.EXT.ja: add new features. * README.EXT, README.EXT.ja: add new features.

View file

@ -1,4 +1,4 @@
/* Generated by re2c 0.9.10 on Mon Sep 19 23:23:24 2005 */ /* Generated by re2c 0.9.10 on Tue Sep 20 17:46:17 2005 */
#line 1 "token.re" #line 1 "token.re"
/* /*
* token.re * token.re
@ -218,7 +218,7 @@
{ \ { \
SyckLevel *lvl_deep = CURRENT_LEVEL(); \ SyckLevel *lvl_deep = CURRENT_LEVEL(); \
indt_len = lvl_deep->spaces; \ indt_len = lvl_deep->spaces; \
if ( indt_len == YYTOKEN - YYLINEPTR ) \ if ( lvl_deep->status == syck_lvl_seq || ( indt_len == YYCURSOR - YYLINEPTR && lvl_deep->status != syck_lvl_map ) ) \
{ \ { \
SyckLevel *lvl_over; \ SyckLevel *lvl_over; \
parser->lvl_idx--; \ parser->lvl_idx--; \
@ -582,7 +582,7 @@ yy39: ++YYCURSOR;
default: goto yy40; default: goto yy40;
} }
yy40: yy40:
#line 496 "token.re" #line 497 "token.re"
{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
goto Plain; goto Plain;
} }
@ -762,20 +762,20 @@ yy50: yych = *++YYCURSOR;
yy51: ++YYCURSOR; yy51: ++YYCURSOR;
goto yy52; goto yy52;
yy52: yy52:
#line 470 "token.re" #line 471 "token.re"
{ goto TransferMethod; } { goto TransferMethod; }
#line 767 "<stdout>" #line 767 "<stdout>"
yy53: ++YYCURSOR; yy53: ++YYCURSOR;
goto yy54; goto yy54;
yy54: yy54:
#line 472 "token.re" #line 473 "token.re"
{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
goto SingleQuote; } goto SingleQuote; }
#line 774 "<stdout>" #line 774 "<stdout>"
yy55: ++YYCURSOR; yy55: ++YYCURSOR;
goto yy56; goto yy56;
yy56: yy56:
#line 475 "token.re" #line 476 "token.re"
{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
goto DoubleQuote; } goto DoubleQuote; }
#line 781 "<stdout>" #line 781 "<stdout>"
@ -800,7 +800,7 @@ yy57: yyaccept = 1;
yy58: ++YYCURSOR; yy58: ++YYCURSOR;
goto yy59; goto yy59;
yy59: yy59:
#line 485 "token.re" #line 486 "token.re"
{ eat_comments( parser ); { eat_comments( parser );
goto Document; goto Document;
} }
@ -809,13 +809,13 @@ yy60: ++YYCURSOR;
yych = *YYCURSOR; yych = *YYCURSOR;
goto yy66; goto yy66;
yy61: yy61:
#line 489 "token.re" #line 490 "token.re"
{ goto Document; } { goto Document; }
#line 814 "<stdout>" #line 814 "<stdout>"
yy62: ++YYCURSOR; yy62: ++YYCURSOR;
goto yy63; goto yy63;
yy63: yy63:
#line 491 "token.re" #line 492 "token.re"
{ ENSURE_YAML_IEND(lvl, -1); { ENSURE_YAML_IEND(lvl, -1);
YYPOS(0); YYPOS(0);
return 0; return 0;
@ -859,7 +859,7 @@ yy69: YYCURSOR = YYMARKER;
yy70: ++YYCURSOR; yy70: ++YYCURSOR;
goto yy71; goto yy71;
yy71: yy71:
#line 478 "token.re" #line 479 "token.re"
{ if ( is_newline( YYCURSOR - 1 ) ) { if ( is_newline( YYCURSOR - 1 ) )
{ {
YYCURSOR--; YYCURSOR--;
@ -948,7 +948,7 @@ yy76: switch(yych){
default: goto yy77; default: goto yy77;
} }
yy77: yy77:
#line 465 "token.re" #line 466 "token.re"
{ ENSURE_YAML_IOPEN(lvl, doc_level, 1); { ENSURE_YAML_IOPEN(lvl, doc_level, 1);
sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 ); sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
return YAML_ALIAS; return YAML_ALIAS;
@ -1022,7 +1022,7 @@ yy79: switch(yych){
default: goto yy80; default: goto yy80;
} }
yy80: yy80:
#line 454 "token.re" #line 455 "token.re"
{ sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 ); { sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
/* /*
@ -1037,17 +1037,17 @@ yy80:
yy81: ++YYCURSOR; yy81: ++YYCURSOR;
goto yy82; goto yy82;
yy82: yy82:
#line 440 "token.re" #line 441 "token.re"
{ ENSURE_YAML_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1); { ENSURE_YAML_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1);
FORCE_NEXT_TOKEN(YAML_IOPEN); FORCE_NEXT_TOKEN(YAML_IOPEN);
if ( *YYCURSOR == '#' || is_newline( YYCURSOR ) || is_newline( YYCURSOR - 1 ) ) if ( *YYCURSOR == '#' || is_newline( YYCURSOR ) || is_newline( YYCURSOR - 1 ) )
{ {
YYCURSOR--; YYCURSOR--;
ADD_LEVEL((YYTOKEN + 1) - YYLINEPTR, syck_lvl_doc); ADD_LEVEL((YYTOKEN + 1) - YYLINEPTR, syck_lvl_seq);
} }
else /* spaces followed by content uses the space as indentation */ else /* spaces followed by content uses the space as indentation */
{ {
ADD_LEVEL(YYCURSOR - YYLINEPTR, syck_lvl_doc); ADD_LEVEL(YYCURSOR - YYLINEPTR, syck_lvl_seq);
} }
return YYTOKEN[0]; return YYTOKEN[0];
} }
@ -1069,10 +1069,11 @@ yy86: ++YYCURSOR;
goto yy87; goto yy87;
yy87: yy87:
#line 436 "token.re" #line 436 "token.re"
{ YYPOS(1); { if ( *YYTOKEN == ':' && lvl->status != syck_lvl_imap ) lvl->status = syck_lvl_map;
YYPOS(1);
return YYTOKEN[0]; return YYTOKEN[0];
} }
#line 1075 "<stdout>" #line 1076 "<stdout>"
yy88: ++YYCURSOR; yy88: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1); if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR; yych = *YYCURSOR;
@ -1104,7 +1105,7 @@ yy93: ++YYCURSOR;
default: goto yy69; default: goto yy69;
} }
} }
#line 500 "token.re" #line 501 "token.re"
} }
@ -1113,7 +1114,7 @@ Directive:
YYTOKTMP = YYCURSOR; YYTOKTMP = YYCURSOR;
#line 1116 "<stdout>" #line 1117 "<stdout>"
{ {
YYCTYPE yych; YYCTYPE yych;
unsigned int yyaccept; unsigned int yyaccept;
@ -1213,18 +1214,18 @@ yy97: yyaccept = 0;
default: goto yy98; default: goto yy98;
} }
yy98: yy98:
#line 513 "token.re" #line 514 "token.re"
{ YYCURSOR = YYTOKTMP; { YYCURSOR = YYTOKTMP;
return YAML_DOCSEP; return YAML_DOCSEP;
} }
#line 1220 "<stdout>" #line 1221 "<stdout>"
yy99: ++YYCURSOR; yy99: ++YYCURSOR;
yych = *YYCURSOR; yych = *YYCURSOR;
goto yy103; goto yy103;
yy100: yy100:
#line 511 "token.re" #line 512 "token.re"
{ goto Directive; } { goto Directive; }
#line 1227 "<stdout>" #line 1228 "<stdout>"
yy101: yych = *++YYCURSOR; yy101: yych = *++YYCURSOR;
goto yy98; goto yy98;
yy102: ++YYCURSOR; yy102: ++YYCURSOR;
@ -1478,11 +1479,11 @@ yy108: switch(yych){
default: goto yy109; default: goto yy109;
} }
yy109: yy109:
#line 509 "token.re" #line 510 "token.re"
{ goto Directive; } { goto Directive; }
#line 1483 "<stdout>" #line 1484 "<stdout>"
} }
#line 516 "token.re" #line 517 "token.re"
} }
@ -1505,7 +1506,7 @@ Plain2:
Plain3: Plain3:
#line 1508 "<stdout>" #line 1509 "<stdout>"
{ {
YYCTYPE yych; YYCTYPE yych;
unsigned int yyaccept; unsigned int yyaccept;
@ -1530,7 +1531,7 @@ yy112: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR); yych = *(YYMARKER = ++YYCURSOR);
goto yy142; goto yy142;
yy113: yy113:
#line 539 "token.re" #line 540 "token.re"
{ int indt_len, nl_count = 0; { int indt_len, nl_count = 0;
SyckLevel *lvl; SyckLevel *lvl;
char *tok = YYTOKEN; char *tok = YYTOKEN;
@ -1566,18 +1567,18 @@ yy113:
goto Plain2; goto Plain2;
} }
#line 1569 "<stdout>" #line 1570 "<stdout>"
yy114: ++YYCURSOR; yy114: ++YYCURSOR;
switch((yych = *YYCURSOR)) { switch((yych = *YYCURSOR)) {
case 0x0A: goto yy141; case 0x0A: goto yy141;
default: goto yy115; default: goto yy115;
} }
yy115: yy115:
#line 626 "token.re" #line 627 "token.re"
{ QUOTECATS(qstr, qcapa, qidx, YYTOKEN, YYCURSOR - YYTOKEN); { QUOTECATS(qstr, qcapa, qidx, YYTOKEN, YYCURSOR - YYTOKEN);
goto Plain2; goto Plain2;
} }
#line 1580 "<stdout>" #line 1581 "<stdout>"
yy116: yyaccept = 1; yy116: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR); yych = *(YYMARKER = ++YYCURSOR);
switch(yych){ switch(yych){
@ -1597,7 +1598,7 @@ yy117: yyaccept = 1;
yy118: ++YYCURSOR; yy118: ++YYCURSOR;
goto yy119; goto yy119;
yy119: yy119:
#line 588 "token.re" #line 589 "token.re"
{ if ( plvl->status != syck_lvl_imap ) { if ( plvl->status != syck_lvl_imap )
{ {
PLAIN_NOT_INL(); PLAIN_NOT_INL();
@ -1608,11 +1609,11 @@ yy119:
} }
RETURN_IMPLICIT(); RETURN_IMPLICIT();
} }
#line 1611 "<stdout>" #line 1612 "<stdout>"
yy120: ++YYCURSOR; yy120: ++YYCURSOR;
goto yy121; goto yy121;
yy121: yy121:
#line 599 "token.re" #line 600 "token.re"
{ if ( plvl->status != syck_lvl_iseq ) { if ( plvl->status != syck_lvl_iseq )
{ {
PLAIN_NOT_INL(); PLAIN_NOT_INL();
@ -1623,14 +1624,14 @@ yy121:
} }
RETURN_IMPLICIT(); RETURN_IMPLICIT();
} }
#line 1626 "<stdout>" #line 1627 "<stdout>"
yy122: ++YYCURSOR; yy122: ++YYCURSOR;
switch((yych = *YYCURSOR)) { switch((yych = *YYCURSOR)) {
case '#': goto yy128; case '#': goto yy128;
default: goto yy123; default: goto yy123;
} }
yy123: yy123:
#line 616 "token.re" #line 617 "token.re"
{ if ( qidx == 0 ) { if ( qidx == 0 )
{ {
goto Plain2; goto Plain2;
@ -1640,13 +1641,13 @@ yy123:
goto Plain3; goto Plain3;
} }
} }
#line 1643 "<stdout>" #line 1644 "<stdout>"
yy124: ++YYCURSOR; yy124: ++YYCURSOR;
goto yy125; goto yy125;
yy125: yy125:
#line 614 "token.re" #line 615 "token.re"
{ RETURN_IMPLICIT(); } { RETURN_IMPLICIT(); }
#line 1649 "<stdout>" #line 1650 "<stdout>"
yy126: yych = *++YYCURSOR; yy126: yych = *++YYCURSOR;
goto yy123; goto yy123;
yy127: yych = *++YYCURSOR; yy127: yych = *++YYCURSOR;
@ -1654,15 +1655,15 @@ yy127: yych = *++YYCURSOR;
yy128: ++YYCURSOR; yy128: ++YYCURSOR;
goto yy129; goto yy129;
yy129: yy129:
#line 610 "token.re" #line 611 "token.re"
{ eat_comments( parser ); { eat_comments( parser );
RETURN_IMPLICIT(); RETURN_IMPLICIT();
} }
#line 1661 "<stdout>" #line 1662 "<stdout>"
yy130: ++YYCURSOR; yy130: ++YYCURSOR;
goto yy131; goto yy131;
yy131: yy131:
#line 577 "token.re" #line 578 "token.re"
{ if ( plvl->status != syck_lvl_iseq && plvl->status != syck_lvl_imap ) { if ( plvl->status != syck_lvl_iseq && plvl->status != syck_lvl_imap )
{ {
PLAIN_NOT_INL(); PLAIN_NOT_INL();
@ -1673,7 +1674,7 @@ yy131:
} }
RETURN_IMPLICIT(); RETURN_IMPLICIT();
} }
#line 1676 "<stdout>" #line 1677 "<stdout>"
yy132: ++YYCURSOR; yy132: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1); if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR; yych = *YYCURSOR;
@ -1695,9 +1696,9 @@ yy135: YYCURSOR = YYMARKER;
yy136: ++YYCURSOR; yy136: ++YYCURSOR;
goto yy137; goto yy137;
yy137: yy137:
#line 575 "token.re" #line 576 "token.re"
{ RETURN_IMPLICIT(); } { RETURN_IMPLICIT(); }
#line 1700 "<stdout>" #line 1701 "<stdout>"
yy138: ++YYCURSOR; yy138: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1); if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR; yych = *YYCURSOR;
@ -1729,7 +1730,7 @@ yy143: ++YYCURSOR;
default: goto yy135; default: goto yy135;
} }
} }
#line 630 "token.re" #line 631 "token.re"
} }
@ -1743,7 +1744,7 @@ SingleQuote2:
YYTOKEN = YYCURSOR; YYTOKEN = YYCURSOR;
#line 1746 "<stdout>" #line 1747 "<stdout>"
{ {
YYCTYPE yych; YYCTYPE yych;
unsigned int yyaccept; unsigned int yyaccept;
@ -1763,7 +1764,7 @@ yy146: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR); yych = *(YYMARKER = ++YYCURSOR);
goto yy157; goto yy157;
yy147: yy147:
#line 644 "token.re" #line 645 "token.re"
{ int indt_len; { int indt_len;
int nl_count = 0; int nl_count = 0;
SyckLevel *lvl; SyckLevel *lvl;
@ -1803,25 +1804,25 @@ yy147:
goto SingleQuote2; goto SingleQuote2;
} }
#line 1806 "<stdout>" #line 1807 "<stdout>"
yy148: ++YYCURSOR; yy148: ++YYCURSOR;
switch((yych = *YYCURSOR)) { switch((yych = *YYCURSOR)) {
case 0x0A: goto yy156; case 0x0A: goto yy156;
default: goto yy149; default: goto yy149;
} }
yy149: yy149:
#line 711 "token.re" #line 712 "token.re"
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
goto SingleQuote2; goto SingleQuote2;
} }
#line 1817 "<stdout>" #line 1818 "<stdout>"
yy150: ++YYCURSOR; yy150: ++YYCURSOR;
switch((yych = *YYCURSOR)) { switch((yych = *YYCURSOR)) {
case '\'': goto yy154; case '\'': goto yy154;
default: goto yy151; default: goto yy151;
} }
yy151: yy151:
#line 688 "token.re" #line 689 "token.re"
{ SyckLevel *lvl; { SyckLevel *lvl;
SyckNode *n = syck_alloc_str(); SyckNode *n = syck_alloc_str();
lvl = CURRENT_LEVEL(); lvl = CURRENT_LEVEL();
@ -1844,7 +1845,7 @@ yy151:
sycklval->nodeData = n; sycklval->nodeData = n;
return YAML_PLAIN; return YAML_PLAIN;
} }
#line 1847 "<stdout>" #line 1848 "<stdout>"
yy152: yych = *++YYCURSOR; yy152: yych = *++YYCURSOR;
goto yy151; goto yy151;
yy153: yych = *++YYCURSOR; yy153: yych = *++YYCURSOR;
@ -1852,11 +1853,11 @@ yy153: yych = *++YYCURSOR;
yy154: ++YYCURSOR; yy154: ++YYCURSOR;
goto yy155; goto yy155;
yy155: yy155:
#line 684 "token.re" #line 685 "token.re"
{ QUOTECAT(qstr, qcapa, qidx, '\''); { QUOTECAT(qstr, qcapa, qidx, '\'');
goto SingleQuote2; goto SingleQuote2;
} }
#line 1859 "<stdout>" #line 1860 "<stdout>"
yy156: yyaccept = 0; yy156: yyaccept = 0;
YYMARKER = ++YYCURSOR; YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1); if(YYLIMIT == YYCURSOR) YYFILL(1);
@ -1879,7 +1880,7 @@ yy159: YYCURSOR = YYMARKER;
case 0: goto yy147; case 0: goto yy147;
} }
} }
#line 715 "token.re" #line 716 "token.re"
} }
@ -1897,7 +1898,7 @@ DoubleQuote2:
#line 1900 "<stdout>" #line 1901 "<stdout>"
{ {
YYCTYPE yych; YYCTYPE yych;
unsigned int yyaccept; unsigned int yyaccept;
@ -1918,7 +1919,7 @@ yy162: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR); yych = *(YYMARKER = ++YYCURSOR);
goto yy184; goto yy184;
yy163: yy163:
#line 733 "token.re" #line 734 "token.re"
{ int indt_len; { int indt_len;
int nl_count = 0; int nl_count = 0;
SyckLevel *lvl; SyckLevel *lvl;
@ -1962,18 +1963,18 @@ yy163:
keep_nl = 1; keep_nl = 1;
goto DoubleQuote2; goto DoubleQuote2;
} }
#line 1965 "<stdout>" #line 1966 "<stdout>"
yy164: ++YYCURSOR; yy164: ++YYCURSOR;
switch((yych = *YYCURSOR)) { switch((yych = *YYCURSOR)) {
case 0x0A: goto yy183; case 0x0A: goto yy183;
default: goto yy165; default: goto yy165;
} }
yy165: yy165:
#line 819 "token.re" #line 820 "token.re"
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
goto DoubleQuote2; goto DoubleQuote2;
} }
#line 1976 "<stdout>" #line 1977 "<stdout>"
yy166: yyaccept = 1; yy166: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR); yych = *(YYMARKER = ++YYCURSOR);
switch(yych){ switch(yych){
@ -1989,7 +1990,7 @@ yy166: yyaccept = 1;
yy167: ++YYCURSOR; yy167: ++YYCURSOR;
goto yy168; goto yy168;
yy168: yy168:
#line 796 "token.re" #line 797 "token.re"
{ SyckLevel *lvl; { SyckLevel *lvl;
SyckNode *n = syck_alloc_str(); SyckNode *n = syck_alloc_str();
lvl = CURRENT_LEVEL(); lvl = CURRENT_LEVEL();
@ -2012,7 +2013,7 @@ yy168:
sycklval->nodeData = n; sycklval->nodeData = n;
return YAML_PLAIN; return YAML_PLAIN;
} }
#line 2015 "<stdout>" #line 2016 "<stdout>"
yy169: yych = *++YYCURSOR; yy169: yych = *++YYCURSOR;
goto yy168; goto yy168;
yy170: yych = *++YYCURSOR; yy170: yych = *++YYCURSOR;
@ -2035,12 +2036,12 @@ yy173: YYCURSOR = YYMARKER;
yy174: ++YYCURSOR; yy174: ++YYCURSOR;
goto yy175; goto yy175;
yy175: yy175:
#line 791 "token.re" #line 792 "token.re"
{ keep_nl = 0; { keep_nl = 0;
YYCURSOR--; YYCURSOR--;
goto DoubleQuote2; goto DoubleQuote2;
} }
#line 2043 "<stdout>" #line 2044 "<stdout>"
yy176: yych = *++YYCURSOR; yy176: yych = *++YYCURSOR;
switch(yych){ switch(yych){
case 0x0A: goto yy174; case 0x0A: goto yy174;
@ -2073,12 +2074,12 @@ yy177: yych = *++YYCURSOR;
yy178: ++YYCURSOR; yy178: ++YYCURSOR;
goto yy179; goto yy179;
yy179: yy179:
#line 777 "token.re" #line 778 "token.re"
{ char ch = *( YYCURSOR - 1 ); { char ch = *( YYCURSOR - 1 );
QUOTECAT(qstr, qcapa, qidx, escape_seq( ch )); QUOTECAT(qstr, qcapa, qidx, escape_seq( ch ));
goto DoubleQuote2; goto DoubleQuote2;
} }
#line 2081 "<stdout>" #line 2082 "<stdout>"
yy180: yych = *++YYCURSOR; yy180: yych = *++YYCURSOR;
switch(yych){ switch(yych){
case '0': case '0':
@ -2106,7 +2107,7 @@ yy180: yych = *++YYCURSOR;
yy181: ++YYCURSOR; yy181: ++YYCURSOR;
goto yy182; goto yy182;
yy182: yy182:
#line 782 "token.re" #line 783 "token.re"
{ long ch; { long ch;
char *chr_text = syck_strndup( YYTOKEN, 4 ); char *chr_text = syck_strndup( YYTOKEN, 4 );
chr_text[0] = '0'; chr_text[0] = '0';
@ -2115,7 +2116,7 @@ yy182:
QUOTECAT(qstr, qcapa, qidx, ch); QUOTECAT(qstr, qcapa, qidx, ch);
goto DoubleQuote2; goto DoubleQuote2;
} }
#line 2118 "<stdout>" #line 2119 "<stdout>"
yy183: yyaccept = 0; yy183: yyaccept = 0;
YYMARKER = ++YYCURSOR; YYMARKER = ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1); if(YYLIMIT == YYCURSOR) YYFILL(1);
@ -2134,7 +2135,7 @@ yy185: ++YYCURSOR;
default: goto yy173; default: goto yy173;
} }
} }
#line 823 "token.re" #line 824 "token.re"
} }
@ -2148,7 +2149,7 @@ TransferMethod2:
YYTOKTMP = YYCURSOR; YYTOKTMP = YYCURSOR;
#line 2151 "<stdout>" #line 2152 "<stdout>"
{ {
YYCTYPE yych; YYCTYPE yych;
unsigned int yyaccept; unsigned int yyaccept;
@ -2168,7 +2169,7 @@ yy186:
yy188: ++YYCURSOR; yy188: ++YYCURSOR;
goto yy189; goto yy189;
yy189: yy189:
#line 837 "token.re" #line 838 "token.re"
{ SyckLevel *lvl; { SyckLevel *lvl;
YYCURSOR = YYTOKTMP; YYCURSOR = YYTOKTMP;
if ( YYCURSOR == YYTOKEN + 1 ) if ( YYCURSOR == YYTOKEN + 1 )
@ -2218,7 +2219,7 @@ yy189:
return YAML_TRANSFER; return YAML_TRANSFER;
} }
#line 2221 "<stdout>" #line 2222 "<stdout>"
yy190: yych = *++YYCURSOR; yy190: yych = *++YYCURSOR;
goto yy189; goto yy189;
yy191: yych = *++YYCURSOR; yy191: yych = *++YYCURSOR;
@ -2229,11 +2230,11 @@ yy192: ++YYCURSOR;
default: goto yy193; default: goto yy193;
} }
yy193: yy193:
#line 904 "token.re" #line 905 "token.re"
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
goto TransferMethod2; goto TransferMethod2;
} }
#line 2236 "<stdout>" #line 2237 "<stdout>"
yy194: yyaccept = 0; yy194: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR); yych = *(YYMARKER = ++YYCURSOR);
switch(yych){ switch(yych){
@ -2276,12 +2277,12 @@ yy197: YYCURSOR = YYMARKER;
yy198: ++YYCURSOR; yy198: ++YYCURSOR;
goto yy199; goto yy199;
yy199: yy199:
#line 890 "token.re" #line 891 "token.re"
{ char ch = *( YYCURSOR - 1 ); { char ch = *( YYCURSOR - 1 );
QUOTECAT(qstr, qcapa, qidx, escape_seq( ch )); QUOTECAT(qstr, qcapa, qidx, escape_seq( ch ));
goto TransferMethod2; goto TransferMethod2;
} }
#line 2284 "<stdout>" #line 2285 "<stdout>"
yy200: yych = *++YYCURSOR; yy200: yych = *++YYCURSOR;
switch(yych){ switch(yych){
case '0': case '0':
@ -2309,7 +2310,7 @@ yy200: yych = *++YYCURSOR;
yy201: ++YYCURSOR; yy201: ++YYCURSOR;
goto yy202; goto yy202;
yy202: yy202:
#line 895 "token.re" #line 896 "token.re"
{ long ch; { long ch;
char *chr_text = syck_strndup( YYTOKTMP, 4 ); char *chr_text = syck_strndup( YYTOKTMP, 4 );
chr_text[0] = '0'; chr_text[0] = '0';
@ -2318,7 +2319,7 @@ yy202:
QUOTECAT(qstr, qcapa, qidx, ch); QUOTECAT(qstr, qcapa, qidx, ch);
goto TransferMethod2; goto TransferMethod2;
} }
#line 2321 "<stdout>" #line 2322 "<stdout>"
yy203: ++YYCURSOR; yy203: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1); if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR; yych = *YYCURSOR;
@ -2328,7 +2329,7 @@ yy204: switch(yych){
default: goto yy189; default: goto yy189;
} }
} }
#line 909 "token.re" #line 910 "token.re"
} }
@ -2343,8 +2344,7 @@ ScalarBlock:
int forceIndent = -1; int forceIndent = -1;
char *yyt = YYTOKEN; char *yyt = YYTOKEN;
SyckLevel *lvl = CURRENT_LEVEL(); SyckLevel *lvl = CURRENT_LEVEL();
int parentIndent; int parentIndent = -1;
GET_TRUE_YAML_INDENT(parentIndent);
switch ( *yyt ) switch ( *yyt )
{ {
@ -2364,7 +2364,7 @@ ScalarBlock:
} }
else if ( isdigit( *yyt ) ) else if ( isdigit( *yyt ) )
{ {
forceIndent = strtol( yyt, NULL, 10 ) + parentIndent; forceIndent = strtol( yyt, NULL, 10 );
} }
} }
@ -2403,18 +2403,23 @@ yy208:
GOBBLE_UP_YAML_INDENT( indt_len, tok ); GOBBLE_UP_YAML_INDENT( indt_len, tok );
lvl = CURRENT_LEVEL(); lvl = CURRENT_LEVEL();
if ( indt_len > parentIndent && lvl->status != syck_lvl_block ) if ( lvl->status != syck_lvl_block )
{ {
int new_spaces = forceIndent > 0 ? forceIndent : indt_len; GET_TRUE_YAML_INDENT(parentIndent);
ADD_LEVEL( new_spaces, syck_lvl_block ); if ( forceIndent > 0 ) forceIndent += parentIndent;
lastIndent = indt_len - new_spaces; if ( indt_len > parentIndent )
nl_begin = 1; {
lvl = CURRENT_LEVEL(); int new_spaces = forceIndent > 0 ? forceIndent : indt_len;
} ADD_LEVEL( new_spaces, syck_lvl_block );
else if ( lvl->status != syck_lvl_block ) lastIndent = indt_len - new_spaces;
{ nl_begin = 1;
YYCURSOR = YYTOKEN; lvl = CURRENT_LEVEL();
RETURN_YAML_BLOCK(); }
else
{
YYCURSOR = YYTOKEN;
RETURN_YAML_BLOCK();
}
} }
/* /*
@ -2466,22 +2471,22 @@ yy208:
} }
goto ScalarBlock2; goto ScalarBlock2;
} }
#line 2469 "<stdout>" #line 2474 "<stdout>"
yy209: ++YYCURSOR; yy209: ++YYCURSOR;
switch((yych = *YYCURSOR)) { switch((yych = *YYCURSOR)) {
case 0x0A: goto yy225; case 0x0A: goto yy225;
default: goto yy210; default: goto yy210;
} }
yy210: yy210:
#line 1065 "token.re" #line 1070 "token.re"
{ QUOTECAT(qstr, qcapa, qidx, *YYTOKEN); { QUOTECAT(qstr, qcapa, qidx, *YYTOKEN);
goto ScalarBlock2; goto ScalarBlock2;
} }
#line 2480 "<stdout>" #line 2485 "<stdout>"
yy211: ++YYCURSOR; yy211: ++YYCURSOR;
goto yy212; goto yy212;
yy212: yy212:
#line 1027 "token.re" #line 1032 "token.re"
{ lvl = CURRENT_LEVEL(); { lvl = CURRENT_LEVEL();
if ( lvl->status != syck_lvl_block ) if ( lvl->status != syck_lvl_block )
{ {
@ -2494,16 +2499,16 @@ yy212:
} }
goto ScalarBlock2; goto ScalarBlock2;
} }
#line 2497 "<stdout>" #line 2502 "<stdout>"
yy213: ++YYCURSOR; yy213: ++YYCURSOR;
goto yy214; goto yy214;
yy214: yy214:
#line 1041 "token.re" #line 1046 "token.re"
{ YYCURSOR--; { YYCURSOR--;
POP_LEVEL(); POP_LEVEL();
RETURN_YAML_BLOCK(); RETURN_YAML_BLOCK();
} }
#line 2506 "<stdout>" #line 2511 "<stdout>"
yy215: yyaccept = 1; yy215: yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR); yych = *(YYMARKER = ++YYCURSOR);
switch(yych){ switch(yych){
@ -2532,7 +2537,7 @@ yy219: yych = *++YYCURSOR;
yy220: ++YYCURSOR; yy220: ++YYCURSOR;
goto yy221; goto yy221;
yy221: yy221:
#line 1046 "token.re" #line 1051 "token.re"
{ if ( YYTOKEN == YYLINEPTR ) { if ( YYTOKEN == YYLINEPTR )
{ {
if ( blockType == BLOCK_FOLD && qidx > 0 ) if ( blockType == BLOCK_FOLD && qidx > 0 )
@ -2551,7 +2556,7 @@ yy221:
goto ScalarBlock2; goto ScalarBlock2;
} }
} }
#line 2554 "<stdout>" #line 2559 "<stdout>"
yy222: ++YYCURSOR; yy222: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1); if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR; yych = *YYCURSOR;
@ -2583,7 +2588,7 @@ yy227: ++YYCURSOR;
default: goto yy218; default: goto yy218;
} }
} }
#line 1070 "token.re" #line 1075 "token.re"
} }
@ -2599,7 +2604,7 @@ Comment:
YYTOKEN = YYCURSOR; YYTOKEN = YYCURSOR;
#line 2602 "<stdout>" #line 2607 "<stdout>"
{ {
YYCTYPE yych; YYCTYPE yych;
unsigned int yyaccept; unsigned int yyaccept;
@ -2617,11 +2622,11 @@ yy228:
yy230: ++YYCURSOR; yy230: ++YYCURSOR;
goto yy231; goto yy231;
yy231: yy231:
#line 1086 "token.re" #line 1091 "token.re"
{ YYCURSOR = YYTOKEN; { YYCURSOR = YYTOKEN;
return; return;
} }
#line 2624 "<stdout>" #line 2629 "<stdout>"
yy232: yyaccept = 0; yy232: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR); yych = *(YYMARKER = ++YYCURSOR);
goto yy237; goto yy237;
@ -2631,10 +2636,10 @@ yy233: ++YYCURSOR;
default: goto yy234; default: goto yy234;
} }
yy234: yy234:
#line 1090 "token.re" #line 1095 "token.re"
{ goto Comment; { goto Comment;
} }
#line 2637 "<stdout>" #line 2642 "<stdout>"
yy235: yych = *++YYCURSOR; yy235: yych = *++YYCURSOR;
goto yy234; goto yy234;
yy236: yyaccept = 0; yy236: yyaccept = 0;
@ -2659,7 +2664,7 @@ yy239: YYCURSOR = YYMARKER;
case 0: goto yy231; case 0: goto yy231;
} }
} }
#line 1093 "token.re" #line 1098 "token.re"
} }