Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit14b0b83

Browse files
committed
gh-125588: Allow to regenerate the parser with Python < 3.12
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
1 parent7b8bd3b commit14b0b83

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

‎Tools/peg_generator/pegen/parser.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ def string(self) -> Optional[tokenize.TokenInfo]:
207207

208208
@memoize
209209
deffstring_start(self)->Optional[tokenize.TokenInfo]:
210-
FSTRING_START=getattr(token,"FSTRING_START")
210+
FSTRING_START=getattr(token,"FSTRING_START",None)
211211
ifnotFSTRING_START:
212212
returnNone
213213
tok=self._tokenizer.peek()
@@ -217,7 +217,7 @@ def fstring_start(self) -> Optional[tokenize.TokenInfo]:
217217

218218
@memoize
219219
deffstring_middle(self)->Optional[tokenize.TokenInfo]:
220-
FSTRING_MIDDLE=getattr(token,"FSTRING_MIDDLE")
220+
FSTRING_MIDDLE=getattr(token,"FSTRING_MIDDLE",None)
221221
ifnotFSTRING_MIDDLE:
222222
returnNone
223223
tok=self._tokenizer.peek()
@@ -227,7 +227,7 @@ def fstring_middle(self) -> Optional[tokenize.TokenInfo]:
227227

228228
@memoize
229229
deffstring_end(self)->Optional[tokenize.TokenInfo]:
230-
FSTRING_END=getattr(token,"FSTRING_END")
230+
FSTRING_END=getattr(token,"FSTRING_END",None)
231231
ifnotFSTRING_END:
232232
returnNone
233233
tok=self._tokenizer.peek()

‎Tools/peg_generator/pegen/parser_generator.py‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
importsys
12
importast
23
importcontextlib
34
importre
@@ -75,6 +76,11 @@ class RuleCheckingVisitor(GrammarVisitor):
7576
def__init__(self,rules:Dict[str,Rule],tokens:Set[str]):
7677
self.rules=rules
7778
self.tokens=tokens
79+
# If python < 3.12 add the virtual fstring tokens
80+
ifsys.version_info< (3,12):
81+
self.tokens.add("FSTRING_START")
82+
self.tokens.add("FSTRING_END")
83+
self.tokens.add("FSTRING_MIDDLE")
7884

7985
defvisit_NameLeaf(self,node:NameLeaf)->None:
8086
ifnode.valuenotinself.rulesandnode.valuenotinself.tokens:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp