gh-133555: Allow regenerating the parser with Python < 3.14 (#133557)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
This commit is contained in:
Alex Prengère 2025-05-08 03:28:20 +02:00 committed by GitHub
parent 90f476e0f8
commit b48599b801
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 10 additions and 0 deletions

View file

@ -1,3 +1,8 @@
# When adding new tokens, remember to update the PEG generator in
# Tools/peg_generator/pegen/parser_generator.py
# This will ensure that older versions of Python can generate a Python parser
# using "python -m pegen python <GRAMMAR FILE>".
ENDMARKER
NAME
NUMBER

View file

@ -81,6 +81,11 @@ class RuleCheckingVisitor(GrammarVisitor):
self.tokens.add("FSTRING_START")
self.tokens.add("FSTRING_END")
self.tokens.add("FSTRING_MIDDLE")
# If python < 3.14 add the virtual tstring tokens
if sys.version_info < (3, 14, 0, 'beta', 1):
self.tokens.add("TSTRING_START")
self.tokens.add("TSTRING_END")
self.tokens.add("TSTRING_MIDDLE")
def visit_NameLeaf(self, node: NameLeaf) -> None:
if node.value not in self.rules and node.value not in self.tokens: