text is working both ways
This commit is contained in:
parent
98c8f8dfc7
commit
e87f25c9ee
@ -817,28 +817,26 @@ static int scan_day(struct scan *const scan, union date32 date,
|
||||
|
||||
/* fixme: This is a cool way of doing things. Avoid repetition, make
|
||||
all the things this way. */
|
||||
/* Text is only at the end of a line. */
|
||||
<input_text, input_text_multi> * { fail = "text input"; goto catch; }
|
||||
<input_text> ws { fprintf(stderr, "text space\n"); continue; }
|
||||
<input_text> ws { continue; }
|
||||
<input_text> "<<\n" @s0 => input_text_multi { // multi-line
|
||||
line++;
|
||||
input.pair->a = s0;
|
||||
line++;
|
||||
continue;
|
||||
}
|
||||
<input_text> @s0 anylabel @s1 / "\n" /*future*/ { // one line
|
||||
line++;
|
||||
<input_text> @s0 anylabel? @s1 "\n" => line { // one line; last one
|
||||
fprintf(stderr, "text: <<%.*s>>\n", (int)(s1 - s0), s0);
|
||||
input.pair->a = s0, input.pair->b = s1;
|
||||
assert(input.future == yycnewline);
|
||||
condition = input.future;
|
||||
assert(1);
|
||||
if(input.future != yycnewline)
|
||||
{ fail = "use <<text>>"; goto catch; }
|
||||
line++;
|
||||
continue;
|
||||
}
|
||||
<input_text_multi> [^\x00\n] { continue; }
|
||||
<input_text_multi> [\x00]
|
||||
{ fail = "missing closing \">>\""; goto catch; }
|
||||
<input_text_multi> "\n" { line++; continue; }
|
||||
<input_text_multi> @s1 ">>" /*future*/ {
|
||||
<input_text_multi> @s1 ">>" / [^>] /*future*/ {
|
||||
fprintf(stderr, "text: <<\n%.*s>>\n",
|
||||
(int)(s1 - input.pair->a), input.pair->a);
|
||||
input.pair->b = s1;
|
||||
|
Loading…
Reference in New Issue
Block a user