<div dir="ltr">If you read through the rest of the messages, you'll see that it seems that we can have parentheses in an LL(1) grammar.<div><br></div><div>Best,</div><div><br></div><div>Neil</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 16, 2015 at 9:14 PM, Stephen J. Turnbull <span dir="ltr"><<a href="mailto:stephen@xemacs.org" target="_blank">stephen@xemacs.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Neil Girdhar writes:<br>
<br>
> I agree with that idea in general, but I do think that a with statement<br>
> having parentheses would not be confusing for users to parse even though it<br>
> would not be LL(1).<br>
<br>
</span>In this case, purity beat practicality, because practicality beats<br>
purity on a higher level.<br>
<br>
On the lower level, sticking to a pure LL(1) grammar rules out some<br>
practical possibilities that some folks think are nice. On the higher<br>
level, in theory we'd like Python to provide concise expressions for<br>
all constructs when human readers can handle the concise expression<br>
fluently, but in practice the LL(1) rule is simple to follow (at least<br>
for Python maintainers who actually hack the parser!)<br>
<br>
Unfortunately (?!) it also prevents a lot of bike-shedding fun.<wink /><br>
<br>
</blockquote></div><br></div>