vs = sym_find(g, tk.txt);
if (vs->num == TK_newline)
p.line_like = 1;
+ else if (vs->num == TK_out)
+ p.line_like = 2;
else if (vs->precedence == 0) {
err = "symbol after $$ must have precedence";
goto abort;
}
sn = save_set(g, LA);
LA = set_find(g, sn);
- symset_add(&LAnl, TK_newline, 0);
+ if (symset_find(&LA, TK_newline))
+ symset_add(&LAnl, TK_newline, 0);
snnl = save_set(g, LAnl);
LAnl = set_find(g, snnl);
}
printf(" [%d%s]", s->precedence,
assoc_names[s->assoc]);
}
- if (pr->line_like)
+ if (pr->line_like == 1)
printf(" $$NEWLINE");
+ else if (pr->line_like)
+ printf(" $$OUT");
printf("\n");
}