More reliable commands.
This commit is contained in:
parent
b8234e5eb7
commit
a1be205862
@ -142,6 +142,8 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
printf(".\n");
|
||||
}
|
||||
printf("Lexing finished: %s on %lu.\n",
|
||||
lex_symbols[lex.symbol], lex.line);
|
||||
char_array_clear(&entry);
|
||||
break; /* fixme */
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ scan:
|
||||
/*!re2c
|
||||
<text> end { printf("end\n");return x->symbol = END, 0; }
|
||||
<image, command, command_args> end { return x->symbol = ERROR, 0; }
|
||||
// fixme: paragraphs.
|
||||
|
||||
<text> newline
|
||||
{ x->line = ++scan.line;
|
||||
x->new_paragraph = prev_line + 2 >= scan.line;
|
||||
@ -139,6 +139,7 @@ scan:
|
||||
return x->symbol = BRACKET, 1; }
|
||||
<text> "" {
|
||||
scan.condition = yyctext;
|
||||
@ -146,16 +147,17 @@ scan:
|
||||
printf("Got a map.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
<command> ws+ { scan.is_ws_expected = 0; goto scan; }
|
||||
<command> "source"
|
||||
{ if(scan.is_ws_expected) return x->symbol = ERROR, 0;
|
||||
return scan.is_ws_expected = 1, x->symbol = SOURCE, 1; }
|
||||
<command> "default"
|
||||
{ if(scan.is_ws_expected) return 0;
|
||||
{ if(scan.is_ws_expected) return x->symbol = ERROR, 0;
|
||||
return scan.is_ws_expected = 1, x->symbol = DEFAULT, 1; }
|
||||
<command> ":" :=> command_args
|
||||
<command, command_args> * { return x->symbol = ERROR, 0; }
|
||||
<command> ":" => command_args { scan.is_ws_expected = 0; goto scan; }
|
||||
<command_args> [^\n\r\]\x00]+ { printf("Command args fixme\n"); goto scan; }
|
||||
<command_args> "]" :=> text
|
||||
<command, command_args> * { return x->symbol = ERROR, 0; }
|
||||
*/
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user