GH-98831: Refactor and fix cases generator (#99526)

Also complete cache effects for BINARY_SUBSCR family.
This commit is contained in:
Guido van Rossum 2022-11-17 17:06:07 -08:00 committed by GitHub
parent b629fdd88a
commit 4f5e1cb00a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 403 additions and 306 deletions

View file

@ -115,7 +115,7 @@ newline = r"\n"
matcher = re.compile(choice(id_re, number_re, str_re, char, newline, macro, comment_re, *operators.values()))
letter = re.compile(r'[a-zA-Z_]')
keywords = (
kwds = (
'AUTO', 'BREAK', 'CASE', 'CHAR', 'CONST',
'CONTINUE', 'DEFAULT', 'DO', 'DOUBLE', 'ELSE', 'ENUM', 'EXTERN',
'FLOAT', 'FOR', 'GOTO', 'IF', 'INLINE', 'INT', 'LONG',
@ -124,9 +124,9 @@ keywords = (
'SWITCH', 'TYPEDEF', 'UNION', 'UNSIGNED', 'VOID',
'VOLATILE', 'WHILE'
)
for name in keywords:
for name in kwds:
globals()[name] = name
keywords = { name.lower() : name for name in keywords }
keywords = { name.lower() : name for name in kwds }
def make_syntax_error(