[antlr-interest] OPEN, EOF ambiguity

Cameron Ross cross at kojeware.com
Thu Apr 8 13:05:49 PDT 2010


These rules show the top level of the grammar...

start_rule
: clif_file EOF
;

clif_file
: cltext+
;

cltext
: (OPEN CL_MODULE) => module -> ^(CLTEXT module)
| text -> ^(CLTEXT text)
;
module
: OPEN CL_MODULE interpretablename exclusion_set? cltext CLOSE -> ^(MODULE
^(MODULE_IDENTIFIER interpretablename) exclusion_set? cltext)
;

text
: phrase* -> ^(TEXT phrase*)
;


On Thu, Apr 8, 2010 at 3:33 PM, Cameron Ross <cross at kojeware.com> wrote:

> Hi,
>
> I have a grammar with an ambiguity that I just can't resolve.  When I check
> the grammar using AntlrWorks I get the following: "Decision can match input
> such as "{EOF, OPEN}" using multiple alternatives: 1, 2".  I've attached a
> screen grab of the syntax diagram generated by AntrlWorks.  I don't
> understand why ANLTR is thinking that EOF is ambiguous with OPEN.  I've
> checked the grammar and clif_file is the only rule that is not referenced
> from within the grammar, so I don't think that ANLTR should see module as a
> start rule.  Any help is much appreciated.
>
> Cameron
>



-- 
Kojeware Corporation


More information about the antlr-interest mailing list