Skip to content

Commit b522b7f

Browse files
shinhindeyets
authored andcommitted
allow empty lines in block string literals
1 parent cd8e7ab commit b522b7f

File tree

2 files changed

+50
-40
lines changed

2 files changed

+50
-40
lines changed

lib/token.c

Lines changed: 48 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Generated by re2c 0.13.5 on Tue Nov 18 20:30:04 2008 */
1+
/* Generated by re2c 0.13.5 on Sat Jan 16 23:23:24 2010 */
22
/*
33
* token.re
44
*
@@ -203,7 +203,7 @@
203203
syckerror("TAB found in your indentation, please remove"); \
204204
return 0; \
205205
} \
206-
else if ( is_newline( ++indent ) ) \
206+
else if ( is_newline( indent++ ) ) \
207207
{ \
208208
NEWLINE(indent); \
209209
} \
@@ -2437,7 +2437,11 @@ sycklex_yaml_utf8( YYSTYPE *sycklval, SyckParser *parser )
24372437
yy217:
24382438
yyaccept = 0;
24392439
yych = *(YYMARKER = ++YYCURSOR);
2440-
goto yy236;
2440+
switch (yych) {
2441+
case '\n': goto yy235;
2442+
case '\r': goto yy241;
2443+
default: goto yy238;
2444+
}
24412445
yy218:
24422446
{ char *pacer;
24432447
char *tok = YYTOKEN;
@@ -2613,31 +2617,37 @@ sycklex_yaml_utf8( YYSTYPE *sycklval, SyckParser *parser )
26132617
YYMARKER = ++YYCURSOR;
26142618
if (YYLIMIT <= YYCURSOR) YYFILL(1);
26152619
yych = *YYCURSOR;
2616-
yy236:
26172620
switch (yych) {
2618-
case '\t': goto yy235;
2619-
case '\n':
2620-
case ' ': goto yy237;
2621-
case '\r': goto yy239;
2621+
case '\t': goto yy237;
2622+
case '\n': goto yy235;
2623+
case '\r': goto yy241;
2624+
case ' ': goto yy239;
26222625
default: goto yy218;
26232626
}
26242627
yy237:
2625-
yyaccept = 0;
2626-
YYMARKER = ++YYCURSOR;
2628+
++YYCURSOR;
26272629
if (YYLIMIT <= YYCURSOR) YYFILL(1);
26282630
yych = *YYCURSOR;
2631+
yy238:
26292632
switch (yych) {
2630-
case '\n':
2631-
case ' ': goto yy237;
2632-
case '\r': goto yy239;
2633+
case '\t': goto yy237;
2634+
case ' ': goto yy239;
26332635
default: goto yy218;
26342636
}
26352637
yy239:
26362638
++YYCURSOR;
26372639
if (YYLIMIT <= YYCURSOR) YYFILL(1);
26382640
yych = *YYCURSOR;
26392641
switch (yych) {
2640-
case '\n': goto yy237;
2642+
case ' ': goto yy239;
2643+
default: goto yy218;
2644+
}
2645+
yy241:
2646+
++YYCURSOR;
2647+
if (YYLIMIT <= YYCURSOR) YYFILL(1);
2648+
yych = *YYCURSOR;
2649+
switch (yych) {
2650+
case '\n': goto yy235;
26412651
default: goto yy228;
26422652
}
26432653
}
@@ -2661,53 +2671,53 @@ eat_comments( SyckParser *parser )
26612671
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
26622672
yych = *YYCURSOR;
26632673
switch (yych) {
2664-
case 0x00: goto yy242;
2665-
case '\n': goto yy244;
2666-
case '\r': goto yy245;
2667-
default: goto yy247;
2674+
case 0x00: goto yy244;
2675+
case '\n': goto yy246;
2676+
case '\r': goto yy247;
2677+
default: goto yy249;
26682678
}
2669-
yy242:
2679+
yy244:
26702680
++YYCURSOR;
2671-
yy243:
2681+
yy245:
26722682
{ YYCURSOR = YYTOKEN;
26732683
return;
26742684
}
2675-
yy244:
2685+
yy246:
26762686
yych = *(YYMARKER = ++YYCURSOR);
2677-
goto yy249;
2678-
yy245:
2687+
goto yy251;
2688+
yy247:
26792689
++YYCURSOR;
26802690
switch ((yych = *YYCURSOR)) {
2681-
case '\n': goto yy248;
2682-
default: goto yy246;
2691+
case '\n': goto yy250;
2692+
default: goto yy248;
26832693
}
2684-
yy246:
2694+
yy248:
26852695
{ goto Comment;
26862696
}
2687-
yy247:
2697+
yy249:
26882698
yych = *++YYCURSOR;
2689-
goto yy246;
2690-
yy248:
2699+
goto yy248;
2700+
yy250:
26912701
YYMARKER = ++YYCURSOR;
26922702
if (YYLIMIT <= YYCURSOR) YYFILL(1);
26932703
yych = *YYCURSOR;
2694-
yy249:
2704+
yy251:
26952705
switch (yych) {
2696-
case '\n': goto yy248;
2697-
case '\r': goto yy250;
2698-
default: goto yy243;
2706+
case '\n': goto yy250;
2707+
case '\r': goto yy252;
2708+
default: goto yy245;
26992709
}
2700-
yy250:
2710+
yy252:
27012711
++YYCURSOR;
27022712
if (YYLIMIT <= YYCURSOR) YYFILL(1);
27032713
yych = *YYCURSOR;
27042714
switch (yych) {
2705-
case '\n': goto yy248;
2706-
default: goto yy251;
2715+
case '\n': goto yy250;
2716+
default: goto yy253;
27072717
}
2708-
yy251:
2718+
yy253:
27092719
YYCURSOR = YYMARKER;
2710-
goto yy243;
2720+
goto yy245;
27112721
}
27122722

27132723

lib/token.re

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@
202202
syckerror("TAB found in your indentation, please remove"); \
203203
return 0; \
204204
} \
205-
else if ( is_newline( ++indent ) ) \
205+
else if ( is_newline( indent++ ) ) \
206206
{ \
207207
NEWLINE(indent); \
208208
} \
@@ -966,7 +966,7 @@ ScalarBlock2:
966966

967967
/*!re2c
968968
969-
YINDENT { char *pacer;
969+
LF+ TAB* SPC* { char *pacer;
970970
char *tok = YYTOKEN;
971971
int indt_len = 0, nl_count = 0, fold_nl = 0, nl_begin = 0;
972972
GOBBLE_UP_YAML_INDENT( indt_len, tok );

0 commit comments

Comments
 (0)