[antlr-interest] a grammar problem

Hans-Martin Adorf dradorf at googlemail.com
Sun Dec 13 05:20:39 PST 2009


Hi Folks,

here is an excerpt on a SchemeNumber grammar which is part of a Scheme
grammar that I am toying with.

grammar SchemeNumber;
tokens {
    HASH = '#' ;
}
prefix2        : RADIX2 EXACTNESS?
        | EXACTNESS? RADIX2
        ;
RADIX2        : HASH ('b'|'B');
EXACTNESS    : HASH ('i'|'I'|'e'|'E');

The problem is in rule 'prefix2' since token RADIX2 can be matched in two
different ways. Scheme requires that I am able to state the following
prefixes:

"#b", "#e#b" and "#b#e".

The radix description is mandatory whereas the exactness is optional, and
can come before ore after the radix description.

Any idea how to change the grammar above so that ANTLR no longer complains
and disables alternatives?

Thanks.
Hans-Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20091213/1c1835c8/attachment.html 


More information about the antlr-interest mailing list