<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Nov 5, 2013 at 6:45 PM, Martin Nowak <span dir="ltr"><<a href="mailto:code@dawg.eu" target="_blank">code@dawg.eu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 11/03/2013 02:45 AM, Timothee Cour wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
1)<br>
The main issue I see with pegged is PEG grammars don't support left<br>
recursion, so for example will fail on foo[1].bar(2).fun().<br>
Unless there's a plan to accomodate those, I sense a dead end.<br>
One can eliminate left recursion but this has issues.<br>
<br></div><div class="im">
2)<br>
There is some material on extending PEG to support those, eg "Left<br>
Recursion in Parsing Expression Grammars", or code<br>
<a href="https://github.com/orlandohill/peg-left-recursion" target="_blank">https://github.com/<u></u>orlandohill/peg-left-recursion</a> but I don't know how<br>
well they work in practice.<br>
<br>
</div></blockquote>
Scala extended their PEG generator to handle left recursion.<br>
But then there is also a Scala GLL implementation.<br>
<a href="https://github.com/djspiewak/gll-combinators" target="_blank">https://github.com/djspiewak/<u></u>gll-combinators</a></blockquote><div><br></div><div>I didn't know that. My 'programming in Scala' book is a bit dated.</div>
</div>I'll have a look, thanks.</div></div>