* ext/syck/token.c: preserve any indentation passed an explicit

indentation.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
why 2003-05-29 23:51:16 +00:00
parent 5d47fda3f8
commit 5b743d275e
2 changed files with 66 additions and 63 deletions

View File

@ -1,3 +1,8 @@
Fri May 30 00:01:05 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net>
* ext/syck/token.c: preserve any indentation passed an explicit
indentation.
Thu May 29 23:41:34 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net> Thu May 29 23:41:34 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net>
* ext/syck/handler.c, ext/syck/syck.h: removed syck_fold_format(). * ext/syck/handler.c, ext/syck/syck.h: removed syck_fold_format().

View File

@ -1,4 +1,4 @@
/* Generated by re2c 0.5 on Thu May 29 17:33:02 2003 */ /* Generated by re2c 0.5 on Thu May 29 17:58:58 2003 */
#line 1 "token.re" #line 1 "token.re"
/* /*
* token.re * token.re
@ -149,11 +149,6 @@
fc += 1; \ fc += 1; \
n->data.str->len = fc - n->data.str->ptr + 1; \ n->data.str->len = fc - n->data.str->ptr + 1; \
} \ } \
else \
{ \
n->data.str->ptr[n->data.str->len] = '\n'; \
n->data.str->len++; \
} \
} \ } \
yylval->nodeData = n; \ yylval->nodeData = n; \
return BLOCK; \ return BLOCK; \
@ -231,7 +226,7 @@ yylex( YYSTYPE *yylval, SyckParser *parser )
return t; return t;
} }
#line 247 #line 242
if ( YYLINEPTR != YYCURSOR ) if ( YYLINEPTR != YYCURSOR )
@ -265,19 +260,19 @@ yy2: yyaccept = 0;
default: goto yy3; default: goto yy3;
} }
yy3: yy3:
#line 288 #line 283
{ YYPOS(0); { YYPOS(0);
goto Document; goto Document;
} }
yy4: yych = *++YYCURSOR; yy4: yych = *++YYCURSOR;
yy5: yy5:
#line 274 #line 269
{ eat_comments( parser ); { eat_comments( parser );
goto Header; goto Header;
} }
yy6: yych = *++YYCURSOR; yy6: yych = *++YYCURSOR;
yy7: yy7:
#line 278 #line 273
{ SyckLevel *lvl = CURRENT_LEVEL(); { SyckLevel *lvl = CURRENT_LEVEL();
ENSURE_IEND(lvl, -1); ENSURE_IEND(lvl, -1);
return 0; return 0;
@ -285,7 +280,7 @@ yy7:
yy8: yych = *++YYCURSOR; yy8: yych = *++YYCURSOR;
goto yy12; goto yy12;
yy9: yy9:
#line 283 #line 278
{ int indt_len; { int indt_len;
GOBBLE_UP_INDENT( indt_len, YYTOKEN ); GOBBLE_UP_INDENT( indt_len, YYTOKEN );
goto Header; goto Header;
@ -330,7 +325,7 @@ yy19: switch(yych){
default: goto yy20; default: goto yy20;
} }
yy20: yy20:
#line 260 #line 255
{ SyckLevel *lvl = CURRENT_LEVEL(); { SyckLevel *lvl = CURRENT_LEVEL();
if ( lvl->status == syck_lvl_header ) if ( lvl->status == syck_lvl_header )
{ {
@ -352,7 +347,7 @@ yy22: switch(yych){
default: goto yy20; default: goto yy20;
} }
} }
#line 292 #line 287
Document: Document:
@ -393,7 +388,7 @@ yy23:
yy25: yych = *++YYCURSOR; yy25: yych = *++YYCURSOR;
goto yy77; goto yy77;
yy26: yy26:
#line 306 #line 301
{ // Isolate spaces { // Isolate spaces
int indt_len; int indt_len;
GOBBLE_UP_INDENT( indt_len, YYTOKEN ); GOBBLE_UP_INDENT( indt_len, YYTOKEN );
@ -410,7 +405,7 @@ yy26:
} }
yy27: yych = *++YYCURSOR; yy27: yych = *++YYCURSOR;
yy28: yy28:
#line 321 #line 316
{ ENSURE_IOPEN(lvl, 0, 1); { ENSURE_IOPEN(lvl, 0, 1);
lvl = CURRENT_LEVEL(); lvl = CURRENT_LEVEL();
ADD_LEVEL(lvl->spaces + 1, syck_lvl_inline); ADD_LEVEL(lvl->spaces + 1, syck_lvl_inline);
@ -418,7 +413,7 @@ yy28:
} }
yy29: yych = *++YYCURSOR; yy29: yych = *++YYCURSOR;
yy30: yy30:
#line 327 #line 322
{ POP_LEVEL(); { POP_LEVEL();
return YYTOKEN[0]; return YYTOKEN[0];
} }
@ -429,7 +424,7 @@ yy31: yych = *++YYCURSOR;
default: goto yy32; default: goto yy32;
} }
yy32: yy32:
#line 385 #line 380
{ ENSURE_IOPEN(lvl, 0, 1); { ENSURE_IOPEN(lvl, 0, 1);
goto Plain; goto Plain;
} }
@ -569,17 +564,17 @@ yy35: yych = *++YYCURSOR;
} }
yy36: yych = *++YYCURSOR; yy36: yych = *++YYCURSOR;
yy37: yy37:
#line 359 #line 354
{ ENSURE_IOPEN(lvl, 0, 1); { ENSURE_IOPEN(lvl, 0, 1);
goto TransferMethod; } goto TransferMethod; }
yy38: yych = *++YYCURSOR; yy38: yych = *++YYCURSOR;
yy39: yy39:
#line 362 #line 357
{ ENSURE_IOPEN(lvl, 0, 1); { ENSURE_IOPEN(lvl, 0, 1);
goto SingleQuote; } goto SingleQuote; }
yy40: yych = *++YYCURSOR; yy40: yych = *++YYCURSOR;
yy41: yy41:
#line 365 #line 360
{ ENSURE_IOPEN(lvl, 0, 1); { ENSURE_IOPEN(lvl, 0, 1);
goto DoubleQuote; } goto DoubleQuote; }
yy42: yyaccept = 0; yy42: yyaccept = 0;
@ -601,18 +596,18 @@ yy42: yyaccept = 0;
} }
yy43: yych = *++YYCURSOR; yy43: yych = *++YYCURSOR;
yy44: yy44:
#line 375 #line 370
{ eat_comments( parser ); { eat_comments( parser );
goto Document; goto Document;
} }
yy45: yych = *++YYCURSOR; yy45: yych = *++YYCURSOR;
goto yy51; goto yy51;
yy46: yy46:
#line 379 #line 374
{ goto Document; } { goto Document; }
yy47: yych = *++YYCURSOR; yy47: yych = *++YYCURSOR;
yy48: yy48:
#line 381 #line 376
{ ENSURE_IEND(lvl, -1); { ENSURE_IEND(lvl, -1);
return 0; return 0;
} }
@ -655,7 +650,7 @@ yy56: switch(yych){
default: goto yy57; default: goto yy57;
} }
yy57: yy57:
#line 368 #line 363
{ if ( *( YYCURSOR - 1 ) == '\n' ) { if ( *( YYCURSOR - 1 ) == '\n' )
{ {
YYCURSOR--; YYCURSOR--;
@ -736,7 +731,7 @@ yy61: switch(yych){
default: goto yy62; default: goto yy62;
} }
yy62: yy62:
#line 354 #line 349
{ ENSURE_IOPEN(lvl, 0, 1); { ENSURE_IOPEN(lvl, 0, 1);
yylval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 ); yylval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
return ALIAS; return ALIAS;
@ -808,7 +803,7 @@ yy64: switch(yych){
default: goto yy65; default: goto yy65;
} }
yy65: yy65:
#line 349 #line 344
{ ENSURE_IOPEN(lvl, 0, 1); { ENSURE_IOPEN(lvl, 0, 1);
yylval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 ); yylval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
return ANCHOR; return ANCHOR;
@ -821,7 +816,7 @@ yy67: switch(yych){
default: goto yy68; default: goto yy68;
} }
yy68: yy68:
#line 335 #line 330
{ ENSURE_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1); { ENSURE_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1);
FORCE_NEXT_TOKEN(IOPEN); FORCE_NEXT_TOKEN(IOPEN);
if ( *YYCURSOR == '\n' || *( YYCURSOR - 1 ) == '\n' ) if ( *YYCURSOR == '\n' || *( YYCURSOR - 1 ) == '\n' )
@ -850,7 +845,7 @@ yy72: switch(yych){
default: goto yy73; default: goto yy73;
} }
yy73: yy73:
#line 331 #line 326
{ YYPOS(1); { YYPOS(1);
return YYTOKEN[0]; return YYTOKEN[0];
} }
@ -877,7 +872,7 @@ yy79: switch(yych){
default: goto yy26; default: goto yy26;
} }
} }
#line 389 #line 384
} }
@ -969,14 +964,14 @@ yy83: yyaccept = 0;
default: goto yy84; default: goto yy84;
} }
yy84: yy84:
#line 402 #line 397
{ YYCURSOR = YYTOKTMP; { YYCURSOR = YYTOKTMP;
return DOCSEP; return DOCSEP;
} }
yy85: yych = *++YYCURSOR; yy85: yych = *++YYCURSOR;
goto yy89; goto yy89;
yy86: yy86:
#line 400 #line 395
{ goto Directive; } { goto Directive; }
yy87: yych = *++YYCURSOR; yy87: yych = *++YYCURSOR;
goto yy84; goto yy84;
@ -1185,10 +1180,10 @@ yy94: switch(yych){
default: goto yy95; default: goto yy95;
} }
yy95: yy95:
#line 398 #line 393
{ goto Directive; } { goto Directive; }
} }
#line 405 #line 400
} }
@ -1230,7 +1225,7 @@ yy96:
yy98: yych = *++YYCURSOR; yy98: yych = *++YYCURSOR;
goto yy122; goto yy122;
yy99: yy99:
#line 428 #line 423
{ int indt_len, nl_count = 0; { int indt_len, nl_count = 0;
SyckLevel *lvl; SyckLevel *lvl;
char *tok = YYTOKTMP; char *tok = YYTOKTMP;
@ -1269,13 +1264,13 @@ yy100: yych = *++YYCURSOR;
default: goto yy101; default: goto yy101;
} }
yy101: yy101:
#line 479 #line 474
{ QUOTECATS(qstr, qcapa, qidx, YYTOKTMP, YYCURSOR - YYTOKTMP); { QUOTECATS(qstr, qcapa, qidx, YYTOKTMP, YYCURSOR - YYTOKTMP);
goto Plain2; goto Plain2;
} }
yy102: yych = *++YYCURSOR; yy102: yych = *++YYCURSOR;
yy103: yy103:
#line 462 #line 457
{ if ( plvl->status != syck_lvl_inline ) { if ( plvl->status != syck_lvl_inline )
{ {
YYCURSOR--; YYCURSOR--;
@ -1296,17 +1291,17 @@ yy105: yych = *++YYCURSOR;
default: goto yy106; default: goto yy106;
} }
yy106: yy106:
#line 477 #line 472
{ goto Plain3; } { goto Plain3; }
yy107: yych = *++YYCURSOR; yy107: yych = *++YYCURSOR;
yy108: yy108:
#line 475 #line 470
{ RETURN_IMPLICIT(); } { RETURN_IMPLICIT(); }
yy109: yych = *++YYCURSOR; yy109: yych = *++YYCURSOR;
goto yy101; goto yy101;
yy110: yych = *++YYCURSOR; yy110: yych = *++YYCURSOR;
yy111: yy111:
#line 471 #line 466
{ eat_comments( parser ); { eat_comments( parser );
RETURN_IMPLICIT(); RETURN_IMPLICIT();
} }
@ -1332,7 +1327,7 @@ yy117: switch(yych){
default: goto yy118; default: goto yy118;
} }
yy118: yy118:
#line 460 #line 455
{ RETURN_IMPLICIT(); } { RETURN_IMPLICIT(); }
yy119: ++YYCURSOR; yy119: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1); if(YYLIMIT == YYCURSOR) YYFILL(1);
@ -1357,7 +1352,7 @@ yy124: switch(yych){
default: goto yy99; default: goto yy99;
} }
} }
#line 483 #line 478
} }
@ -1387,7 +1382,7 @@ yy125:
yy127: yych = *++YYCURSOR; yy127: yych = *++YYCURSOR;
goto yy137; goto yy137;
yy128: yy128:
#line 497 #line 492
{ int indt_len; { int indt_len;
int nl_count = 0; int nl_count = 0;
SyckLevel *lvl; SyckLevel *lvl;
@ -1429,7 +1424,7 @@ yy129: yych = *++YYCURSOR;
default: goto yy130; default: goto yy130;
} }
yy130: yy130:
#line 537 #line 532
{ SyckLevel *lvl; { SyckLevel *lvl;
SyckNode *n = syck_alloc_str(); SyckNode *n = syck_alloc_str();
lvl = CURRENT_LEVEL(); lvl = CURRENT_LEVEL();
@ -1447,13 +1442,13 @@ yy131: yych = *++YYCURSOR;
goto yy130; goto yy130;
yy132: yych = *++YYCURSOR; yy132: yych = *++YYCURSOR;
yy133: yy133:
#line 551 #line 546
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
goto SingleQuote2; goto SingleQuote2;
} }
yy134: yych = *++YYCURSOR; yy134: yych = *++YYCURSOR;
yy135: yy135:
#line 533 #line 528
{ QUOTECAT(qstr, qcapa, qidx, '\''); { QUOTECAT(qstr, qcapa, qidx, '\'');
goto SingleQuote2; goto SingleQuote2;
} }
@ -1473,7 +1468,7 @@ yy139: switch(yych){
default: goto yy128; default: goto yy128;
} }
} }
#line 555 #line 550
} }
@ -1508,7 +1503,7 @@ yy140:
yy142: yych = *++YYCURSOR; yy142: yych = *++YYCURSOR;
goto yy158; goto yy158;
yy143: yy143:
#line 573 #line 568
{ int indt_len; { int indt_len;
int nl_count = 0; int nl_count = 0;
SyckLevel *lvl; SyckLevel *lvl;
@ -1559,13 +1554,13 @@ yy144: yyaccept = 0;
default: goto yy145; default: goto yy145;
} }
yy145: yy145:
#line 648 #line 643
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1)); { QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
goto DoubleQuote2; goto DoubleQuote2;
} }
yy146: yych = *++YYCURSOR; yy146: yych = *++YYCURSOR;
yy147: yy147:
#line 634 #line 629
{ SyckLevel *lvl; { SyckLevel *lvl;
SyckNode *n = syck_alloc_str(); SyckNode *n = syck_alloc_str();
lvl = CURRENT_LEVEL(); lvl = CURRENT_LEVEL();
@ -1597,14 +1592,14 @@ yy152: YYCURSOR = YYMARKER;
} }
yy153: yych = *++YYCURSOR; yy153: yych = *++YYCURSOR;
yy154: yy154:
#line 629 #line 624
{ keep_nl = 0; { keep_nl = 0;
YYCURSOR--; YYCURSOR--;
goto DoubleQuote2; goto DoubleQuote2;
} }
yy155: yych = *++YYCURSOR; yy155: yych = *++YYCURSOR;
yy156: yy156:
#line 613 #line 608
{ char ch = *( YYCURSOR - 1 ); { char ch = *( YYCURSOR - 1 );
switch ( ch ) switch ( ch )
{ {
@ -1636,7 +1631,7 @@ yy160: switch(yych){
default: goto yy143; default: goto yy143;
} }
} }
#line 652 #line 647
} }
@ -1661,7 +1656,7 @@ yy161:
yy163:yy164: yych = *++YYCURSOR; yy163:yy164: yych = *++YYCURSOR;
goto yy172; goto yy172;
yy165: yy165:
#line 661 #line 656
{ SyckLevel *lvl; { SyckLevel *lvl;
YYCURSOR = YYTOKTMP; YYCURSOR = YYTOKTMP;
if ( YYCURSOR == YYTOKEN + 1 ) if ( YYCURSOR == YYTOKEN + 1 )
@ -1711,7 +1706,7 @@ yy166: yych = *++YYCURSOR;
goto yy170; goto yy170;
yy167: yych = *++YYCURSOR; yy167: yych = *++YYCURSOR;
yy168: yy168:
#line 707 #line 702
{ goto TransferMethod; } { goto TransferMethod; }
yy169: ++YYCURSOR; yy169: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1); if(YYLIMIT == YYCURSOR) YYFILL(1);
@ -1728,7 +1723,7 @@ yy172: switch(yych){
default: goto yy165; default: goto yy165;
} }
} }
#line 709 #line 704
} }
@ -1791,7 +1786,7 @@ yy173:
yy175: yych = *++YYCURSOR; yy175: yych = *++YYCURSOR;
goto yy182; goto yy182;
yy176: yy176:
#line 757 #line 752
{ char *pacer; { char *pacer;
char *tok = YYTOKTMP; char *tok = YYTOKTMP;
int indt_len = 0, nl_count = 0, fold_nl = 0; int indt_len = 0, nl_count = 0, fold_nl = 0;
@ -1800,7 +1795,10 @@ yy176:
if ( indt_len > parentIndent && lvl->status != syck_lvl_block ) if ( indt_len > parentIndent && lvl->status != syck_lvl_block )
{ {
ADD_LEVEL( forceIndent > 0 ? forceIndent : indt_len, syck_lvl_block ); int new_spaces = forceIndent > 0 ? forceIndent : indt_len;
ADD_LEVEL( new_spaces, syck_lvl_block );
lastIndent = indt_len - new_spaces;
YYCURSOR -= lastIndent;
goto ScalarBlock2; goto ScalarBlock2;
} }
@ -1858,14 +1856,14 @@ yy176:
} }
yy177: yych = *++YYCURSOR; yy177: yych = *++YYCURSOR;
yy178: yy178:
#line 823 #line 821
{ YYCURSOR--; { YYCURSOR--;
POP_LEVEL(); POP_LEVEL();
RETURN_BLOCK(); RETURN_BLOCK();
} }
yy179: yych = *++YYCURSOR; yy179: yych = *++YYCURSOR;
yy180: yy180:
#line 828 #line 826
{ QUOTECAT(qstr, qcapa, qidx, *YYTOKTMP); { QUOTECAT(qstr, qcapa, qidx, *YYTOKTMP);
goto ScalarBlock2; goto ScalarBlock2;
} }
@ -1885,7 +1883,7 @@ yy184: switch(yych){
default: goto yy176; default: goto yy176;
} }
} }
#line 833 #line 831
} }
@ -1915,7 +1913,7 @@ yy185:
} }
yy187: yych = *++YYCURSOR; yy187: yych = *++YYCURSOR;
yy188: yy188:
#line 849 #line 847
{ SyckLevel *lvl = CURRENT_LEVEL(); { SyckLevel *lvl = CURRENT_LEVEL();
YYCURSOR = tok; YYCURSOR = tok;
return; return;
@ -1924,7 +1922,7 @@ yy189: yych = *++YYCURSOR;
goto yy193; goto yy193;
yy190: yych = *++YYCURSOR; yy190: yych = *++YYCURSOR;
yy191: yy191:
#line 854 #line 852
{ goto Comment; { goto Comment;
} }
yy192: ++YYCURSOR; yy192: ++YYCURSOR;
@ -1935,7 +1933,7 @@ yy193: switch(yych){
default: goto yy188; default: goto yy188;
} }
} }
#line 857 #line 855
} }