Hi all,

I have this simple grammar 


grammar test;
options {
  language = Java;
  output = AST;
}

a
        :
                a*B  ->^(B a*)
                | A
        ;

B       :
                '.B'
        ;

A       :
                'A'
        ;
 



and I get the following output when I try to generate the parser in ANTRLWorks 

[13:48:53] error(210):  The following sets of rules are mutually left-recursive 
[a]

I read on the Web that there are solutions to solve this, however they will 
mess up the associativity, which I need to keep instead.
So, for instance, for the input 

A.B.B

the AST tree should be

^(B ^(B A))

Is there any way to change the grammar in order to eliminate the left recursion 
and obtain the above tree. I am afraid I do not get how to do it by just 
looking at what is there online about left recursive grammars.

Thanks a lot for your help,

Luigi

List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

-- 
You received this message because you are subscribed to the Google Groups 
"il-antlr-interest" group.
To post to this group, send email to il-antlr-inter...@googlegroups.com.
To unsubscribe from this group, send email to 
il-antlr-interest+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.

Reply via email to