Hi Robert,
Have you tried the release of ANTLR I mentioned in your StackOverflow question? It should handle the indirect left recursion without requiring you to rewrite rules. The feature hasn’t been widely used so I’m a bit curious if it works for your case. :)
Thanks,
Sam
--
You received this message because you are subscribed to the Google Groups "antlr-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
antlr-discussi...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No offense taken. Do keep in mind that several high-profile projects do depend on this work directly or indirectly for a variety of reasons. While it’s not the first option for new ANTLR users, it may turn out to be a practical solution to your situation if it means keeping the grammar in a form that more closely resembles your language specification.
I’m actually in the middle of creating some long-overdue documentation for the features and optimizations unique to this fork… hopefully I can have this in place by the end of the weekend as a good reference.
I’m actually in the middle of creating some long-overdue documentation for the features and optimizations unique to this fork… hopefully I can have this in place by the end of the weekend as a good reference.
Answering this question is a major part of the new documentation:
https://github.com/sharwell/antlr4/pull/26
Sam
From: 'Mike Lischke' via antlr-discussion [mailto:antlr-di...@googlegroups.com]
Sent: Friday, November 25, 2016 3:05 AM
To: antlr-di...@googlegroups.com
Subject: Re: [antlr-discussion] Can I resolve this left-recursive grammar like this (requesting formal linguist help)
I’m actually in the middle of creating some long-overdue documentation for the features and optimizations unique to this fork… hopefully I can have this in place by the end of the weekend as a good reference.
--
The fork stays up-to-date regarding bug fixes. The optimized fork has different long-term goals from the reference release, which affects what most users would consider “regular merges”. Most users of this fork are working on large-scale applications involving ANTLR, where breaking changes between releases cause substantial overhead or can prevent users from upgrading. I’m much more reluctant to make source- or binary-breaking changes in the API or implementation, so each new feature from the reference branch needs to be explicitly evaluated for its impact on existing users of my fork, and sometimes rewritten to provide the same functionality without breaking existing users.
In addition, my fork only includes a Java target, so all the work on other targets is stripped out during merges. I have separate repositories for the original (non-fork) C# and TypeScript targets, each of which is self-contained and built from the optimized Java release.
No, the new optimization doesn’t change any features. It just makes one particular case that used to be very slow go much faster. :)
Sam
From: antlr-di...@googlegroups.com [mailto:antlr-di...@googlegroups.com]
On Behalf Of Robert Baruch
Sent: Friday, November 25, 2016 4:42 PM
To: antlr-discussion <antlr-di...@googlegroups.com>
Subject: Re: [antlr-discussion] Can I resolve this left-recursive grammar like this (requesting formal linguist help)
Ah, that's a non-started for me. My target is Go.