|
|
|
|
|
by fjfaase
500 days ago
|
|
It is possible to write a (top-down) parser that can deal with the left recursion without having to rewrite the grammar itself. Simply split the left recursive ones and not. Then first try to accept a non-left recursive rule and if that succeeds, use the result to try to parse any of the left recursive ones. (If I am not mistaken, this also works for mutual recursion of left recursive rules.) I have implemented this several times. |
|
I wrote this post on the connection: https://www.abubalay.com/blog/2021/12/31/lr-control-flow