if (!tk)
tk = tok_copy(token_next(tokens));
next.sym = tk->num;
- parser_trace(trace, &p, next.indents, !next.since_newline,
+ parser_trace(trace, &p, !next.since_newline,
tk, states, non_term, config->known_count);
if (next.sym == TK_in) {
}
if (shift(&p, tk->num, 0, tk->num == TK_newline, tk, states)) {
next.since_newline = !(tk->num == TK_newline);
- next.indents = 0;
tk = NULL;
parser_trace_action(trace, "Shift");
continue;
indents = pop(&p, size, &start_of_line,
do_free);
else {
- indents = next.indents;
+ indents = 0;
start_of_line = 0;
- next.indents = 0;
}
res = memdup(buf, bufsize);
memset(buf, 0, bufsize);
err_tk = tok_copy(*tk);
next.sym = TK_error;
- while (shift(&p, TK_error, next.indents, !next.since_newline,
+ while (shift(&p, TK_error, 0, !next.since_newline,
err_tk, states) == 0
&& p.tos > 0)
// discard this state
fprintf(trace, ") ");
}
- void parser_trace(FILE *trace, struct parser *p, int indents, int start_of_line,
+ void parser_trace(FILE *trace, struct parser *p, int start_of_line,
struct token *tk, const struct state states[],
const char *non_term[], int knowns)
{
fputs(reserved_words[tk->num], trace);
else
text_dump(trace, tk->txt, 20);
- if (indents)
- fprintf(trace, ".%d", indents);
if (start_of_line)
fputs("/", trace);
fputs("]", trace);