Restore compatibility with Python 3.9's legacy LL(1) parser #4423
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.
The legacy LL(1) parser cannot handle compound with-statements using grouping parentheses and the
EXPR as TARGET
syntax, because it is not LL(1)-recognizable.This partially reverts commit f151eec.
Fixes #4421.
With this, to the best of my knowledge1, there are no current LL(1) parser failures in the
src
directory of the current (6.131.32) codebase.There are still some such non-parsable expressions left over in the tests. Should I bother with those? There should be no differences compared to running Python 3.9 with the newer PEG-based parser, save for lack of parsing errors.
Footnotes
grep -E '^ *with\b'
↩