Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are there no new features that PEG allowed in the current state? Is this 100% 1:1 with the LL-1 parser?
One thing you might mention is why this work was done in the first place. "It's more flexible" isn't the entire truth. The truth is that Python's actual grammar even pre-3.9 was not really LL-1 anymore and the current parser overstayed its welcome, leading to tricky maintenance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are two Easter eggs; the new parser produces a syntax error if you use
__new_parser__(this is for us so we can ensure a code path is actually using the new parser), and it supportswith (ctxmgr1 as var1, ctxmgr2 as var2, ...): block. But I think neither should be documented (and maybe we should remove the latter during the beta cycle, before people start relying on it).I'd prefer not to go into a long discussion about the "why" here, people can read the PEP. Honestly, it's hardly worth a mention in "what's new" except people need to be aware and we need to advertise the ways to disable it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please no, that was one of the motivators behind me nagging you about this at the core sprint in 2017 and 2018 :-)