After investigating the problem further, it looks like I have rounded up 
the faulty rules.


In my grammar I have four sets of productions who are mutually 
(indirectly) left-recursive. After removing left-recursion, I have the 
"3 hours parser generation" problem.

If I remove from the grammar any one of these four sets, after removing 
left-recursion the parser generation takes less than 5 minutes, which is 
the expected behavior.


I will try tackling the other problems of the grammar (namely left 
factorisation for start) and I will see later if that changes anything 
when I include back all the four sets of mutually left-recursive rules.


Thanks everybody.


JP



Le 06/01/2010 12:52, Jean-Pierre LAMBERT a écrit :
> I have already started to remove parts of the grammar and the problem is
> still there.
>
>
> Le 06/01/2010 07:42, Gokulakannan Somasundaram a écrit :
>> Hi Jean,
>>            I faced up with a similar issue, when i tried the migration
>> of  a LR parser. But it's definitely because of recursion stuffs. The
>> way i removed is sort of layman stuff, but thought of just informing you.
>>            Try to split the grammar into multiple sections(group of
>> rules) and try to add them one-by-one. You don't need to wait till the
>> errors are emitted. As soon as the parser generation takes more than 3-4
>> mins, just stop the generation. The last section, which resulted in the
>> increase most probably contains the problematic code. Bear with me, if
>> this approach looks very awkward.
>>
>> Thanks,
>> Gokul.
>>
>> On Tue, Jan 5, 2010 at 8:22 PM, Jean-Pierre LAMBERT
>> <[email protected]<mailto:[email protected]>>  wrote:
>>
>>      Hello everybody,
>>
>>      I'm currently rewriting a LR parser to be used for ANTLR. As a result,
>>      ANTLR works literaly for hours before it outputs errors about my
>>      grammar.
>>
>>      My work is not finished; I have removed all left-recursions but I still
>>      have to do left-factorisations. The problem being that since ANTLR works
>>      for hours before I get the errors, it isn't very practical for me to fix
>>      the grammar.
>>
>>      Do you have any suggestions in this case? What could be done so that
>>      ANTLR would take only dozen of minutes? Is there something capital that
>>      I missed about ANTLR and LL grammars? How should be written ANTLR rules
>>      to avoid such a problem?
>>
>>      Thanks in advance, any adice will be welcome.
>>
>>      JP
>>
>>      List: http://www.antlr.org/mailman/listinfo/antlr-interest
>>      Unsubscribe:
>>      http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>>
>>
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: 
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>
>

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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.


Reply via email to