6
6
import sysconfig
7
7
import tempfile
8
8
import tokenize
9
- from typing import IO , Any , Dict , List , Optional , Set , Tuple
9
+ from typing import IO , Any
10
10
11
11
from pegen .c_generator import CParserGenerator
12
12
from pegen .grammar import Grammar
18
18
19
19
MOD_DIR = pathlib .Path (__file__ ).resolve ().parent
20
20
21
- TokenDefinitions = Tuple [ Dict [int , str ], Dict [str , int ], Set [str ]]
21
+ TokenDefinitions = tuple [ dict [int , str ], dict [str , int ], set [str ]]
22
22
Incomplete = Any # TODO: install `types-setuptools` and remove this alias
23
23
24
24
25
- def get_extra_flags (compiler_flags : str , compiler_py_flags_nodist : str ) -> List [str ]:
25
+ def get_extra_flags (compiler_flags : str , compiler_py_flags_nodist : str ) -> list [str ]:
26
26
flags = sysconfig .get_config_var (compiler_flags )
27
27
py_flags_nodist = sysconfig .get_config_var (compiler_py_flags_nodist )
28
28
if flags is None or py_flags_nodist is None :
@@ -71,11 +71,11 @@ def fixup_build_ext(cmd: Incomplete) -> None:
71
71
72
72
def compile_c_extension (
73
73
generated_source_path : str ,
74
- build_dir : Optional [ str ] = None ,
74
+ build_dir : str | None = None ,
75
75
verbose : bool = False ,
76
76
keep_asserts : bool = True ,
77
77
disable_optimization : bool = False ,
78
- library_dir : Optional [ str ] = None ,
78
+ library_dir : str | None = None ,
79
79
) -> pathlib .Path :
80
80
"""Compile the generated source for a parser generator into an extension module.
81
81
@@ -93,11 +93,10 @@ def compile_c_extension(
93
93
"""
94
94
import setuptools .command .build_ext
95
95
import setuptools .logging
96
-
97
- from setuptools import Extension , Distribution
98
- from setuptools .modified import newer_group
96
+ from setuptools import Distribution , Extension
99
97
from setuptools ._distutils .ccompiler import new_compiler
100
98
from setuptools ._distutils .sysconfig import customize_compiler
99
+ from setuptools .modified import newer_group
101
100
102
101
if verbose :
103
102
setuptools .logging .set_threshold (logging .DEBUG )
@@ -241,7 +240,7 @@ def compile_c_extension(
241
240
242
241
def build_parser (
243
242
grammar_file : str , verbose_tokenizer : bool = False , verbose_parser : bool = False
244
- ) -> Tuple [Grammar , Parser , Tokenizer ]:
243
+ ) -> tuple [Grammar , Parser , Tokenizer ]:
245
244
with open (grammar_file ) as file :
246
245
tokenizer = Tokenizer (tokenize .generate_tokens (file .readline ), verbose = verbose_tokenizer )
247
246
parser = GrammarParser (tokenizer , verbose = verbose_parser )
@@ -292,7 +291,7 @@ def build_c_generator(
292
291
keep_asserts_in_extension : bool = True ,
293
292
skip_actions : bool = False ,
294
293
) -> ParserGenerator :
295
- with open (tokens_file , "r" ) as tok_file :
294
+ with open (tokens_file ) as tok_file :
296
295
all_tokens , exact_tok , non_exact_tok = generate_token_definitions (tok_file )
297
296
with open (output_file , "w" ) as file :
298
297
gen : ParserGenerator = CParserGenerator (
@@ -333,7 +332,7 @@ def build_c_parser_and_generator(
333
332
verbose_c_extension : bool = False ,
334
333
keep_asserts_in_extension : bool = True ,
335
334
skip_actions : bool = False ,
336
- ) -> Tuple [Grammar , Parser , Tokenizer , ParserGenerator ]:
335
+ ) -> tuple [Grammar , Parser , Tokenizer , ParserGenerator ]:
337
336
"""Generate rules, C parser, tokenizer, parser generator for a given grammar
338
337
339
338
Args:
@@ -373,7 +372,7 @@ def build_python_parser_and_generator(
373
372
verbose_tokenizer : bool = False ,
374
373
verbose_parser : bool = False ,
375
374
skip_actions : bool = False ,
376
- ) -> Tuple [Grammar , Parser , Tokenizer , ParserGenerator ]:
375
+ ) -> tuple [Grammar , Parser , Tokenizer , ParserGenerator ]:
377
376
"""Generate rules, python parser, tokenizer, parser generator for a given grammar
378
377
379
378
Args:
0 commit comments