[antlr-interest] Syntactic anti-predicates
Steve Bennett
stevagewp at gmail.com
Wed Feb 13 00:26:36 PST 2008
On 2/12/08, Gerald B. Rosenberg <gbr at newtechlaw.com> wrote:
> table
> @init{ boolean done = false; } :
> LEFT_BRACE PIPE ws? table_format? NL
> ( ( ws? PIPE RIGHT_BRACE )=> ws? PIPE RIGHT_BRACE {
> done=true; } | { !done }? table_line )+
> ;
Ah yes. Didn't think of that.
> Perhaps the cleaner solution would be to disambiguate the PIPE
> combinations in the lexer:
Possible, but probably more complex than the rules you give. I don't
really want to be matching |+ as a table token everywhere. And {| is
only a table start at the beginning of a line, for instance. I've
become a bit wary of using any lexer tokens at all for this stuff -
otherwise you end up having to right special rules whenever they're to
be treated as literal.
Steve
More information about the antlr-interest
mailing list