[antlr-interest] Spaces in names
antlr at mirality.co.nz
Tue Aug 7 14:07:52 PDT 2007
At 03:27 8/08/2007, Dave Raskin wrote:
>Everything works well, except that values cannot accept spaces ('
>') in the string. I would like to be able to parse statements
> name=' value value1'
>I am using Antlr version 2.7.5.
This is happening because the WS rule is skipping whitespace
tokens, so they're never making it into the parser. Instead,
you're getting "value" as one NAME token and "value1" as another
NAME token, and your value rule specifies that only one NAME is
permitted between two TICKs. Hence why it'll fail to match.
You could change it so that multiple NAMEs are allowed, but that
will result in collapsing the whitespace and changing the query
string, which is probably not what you want. Instead, you should
change 'value' into a lexer rule so that it can match an entire
quoted string as a single token. See the example grammars
provided with ANTLR -- this sort of thing is fairly common.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the antlr-interest