I have a grammar file for a new general-purpose programming language I'm trying to build. I'm trying to make the language robust and natural to use (it is heavily inspired by Ruby, among others), and in doing so I have introduced some left-recursive rules.
I've seen some examples that seem to indicate the following left-recursive rule:
rule l_recurse
l_recurse / 'something else'
end
can be made non-left-recursive by changing it to:
rule r_recurse
'something else' / r_recurse
end
To me this looks like it would have the a different problem and would still fail. Am I right, or will this "just work"?
The specific left-recursions I'm trying to (find and) eliminate are found in this grammar file. I'm not sure which rules are affected, but at least some were pointed out to have left-recursion. (By the way I have tried to eliminate the specific range issue he mentioned by tightening up range's rule.)