<div dir="ltr">You need to be very careful hacking around in an ad-hoc parser. It's easy to diverge from the formal (and verified) grammar by accident. Ambiguous grammars with ad-hoc disambiguation rules codified only by your parser's source code are bad business. Voice of experience here.<div><br></div><div>/be</div></div><br><div class="gmail_quote"><div dir="ltr">On Sat, May 21, 2016 at 3:57 PM Isiah Meadows <<a href="mailto:isiahmeadows@gmail.com">isiahmeadows@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">I'm aware it's specified as a cover grammar, which is the easiest way I'm aware of to do it in a traditional declarative grammar. If you're writing a parser, though, you'll probably be using a mixture of lookahead and speculative parsing, or something to that effect, in practice, since it's faster. </p>
<br><div class="gmail_quote"><div dir="ltr">On Thu, May 19, 2016, 16:38 Kevin Smith <<a href="mailto:zenparsing@gmail.com" target="_blank">zenparsing@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">I will note that JavaScript does already require n-token lookahead worst case to disambiguate arrow functions from sequence expressions.</p></blockquote></div></div><div dir="ltr"><div class="gmail_quote"><div><span style="line-height:1.5">The syntax is actually specified in terms of cover grammars, not arbitrary lookahead.</span></div><div><span style="line-height:1.5"><br></span></div></div></div>
</blockquote></div>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</blockquote></div>