I understand the basics of how left-recursion works, and why some people say it's bad. And I've also ready opinions such as:
...like LL and LR parsing, PEGs are often frustrating to use in practise. This is, principally, because they don't support left recursion.
But this leaves me confused.
I haven't read about an actual real-world use case of why you'd even need left-recursion in the first place, especially if there are techniques to convert left recursion to right recursion. In addition, left-recursion feels less intuitive than right-recursion.
What is a real-world use case or need for a left recursive grammar to help me better understand? By "real world" I'm looking for an example grammar that is more human readable than the typical theoretical examples such as:
$A \to B\alpha \mid C$
$B \to A\beta \mid D$
$filePath \to pathSegment*$
$pathSegment \to pathSegment \mid slash$
$slash \to /$
Part of the reason I ask is b/c left-recursion doesn't seem very intuitive; it seems more intuitive to use right-recursion. And also because I wonder if it's even a practical problem to try to solve.
This makes sense, but seems to be the only major reason:
$E \to E - n \mid n$
$E \to nT*$
$T \to - n$
"10 - 5 - 3" is then parsed:
L-recursive : (((10) - 5) - 3)
R-recusive : (10 (- 5 (- 3)))
Is that all?