@@ -56,7 +56,7 @@ def _combinations(*l):
56
56
Whitespace = r'[ \f\t]*'
57
57
Comment = r'#[^\r\n]*'
58
58
Ignore = Whitespace + any (r'\\\r?\n' + Whitespace ) + maybe (Comment )
59
- Name = r'[a-zA-Z_]\w* '
59
+ Name = r'\w+ '
60
60
61
61
Binnumber = r'0[bB]_?[01]+(?:_[01]+)*'
62
62
Hexnumber = r'0[xX]_?[\da-fA-F]+(?:_[\da-fA-F]+)*[lL]?'
@@ -107,8 +107,8 @@ def _combinations(*l):
107
107
PseudoExtras = group (r'\\\r?\n' , Comment , Triple )
108
108
PseudoToken = Whitespace + group (PseudoExtras , Number , Funny , ContStr , Name )
109
109
110
- tokenprog , pseudoprog , single3prog , double3prog = list ( map (
111
- re .compile , (Token , PseudoToken , Single3 , Double3 )))
110
+ tokenprog , pseudoprog , single3prog , double3prog = map (
111
+ re .compile , (Token , PseudoToken , Single3 , Double3 ))
112
112
113
113
_strprefixes = (
114
114
_combinations ('r' , 'R' , 'f' , 'F' ) |
@@ -349,7 +349,6 @@ def generate_tokens(readline):
349
349
logical line; continuation lines are included.
350
350
"""
351
351
lnum = parenlev = continued = 0
352
- namechars , numchars = string .ascii_letters + '_' , '0123456789'
353
352
contstr , needcont = '' , 0
354
353
contline = None
355
354
indents = [0 ]
@@ -451,7 +450,7 @@ def generate_tokens(readline):
451
450
spos , epos , pos = (lnum , start ), (lnum , end ), end
452
451
token , initial = line [start :end ], line [start ]
453
452
454
- if initial in numchars or \
453
+ if initial in string . digits or \
455
454
(initial == '.' and token != '.' ): # ordinary number
456
455
yield (NUMBER , token , spos , epos , line )
457
456
elif initial in '\r \n ' :
@@ -501,7 +500,7 @@ def generate_tokens(readline):
501
500
yield stashed
502
501
stashed = None
503
502
yield (STRING , token , spos , epos , line )
504
- elif initial in namechars : # ordinary name
503
+ elif initial . isidentifier (): # ordinary name
505
504
if token in ('async' , 'await' ):
506
505
if async_def :
507
506
yield (ASYNC if token == 'async' else AWAIT ,
0 commit comments