8000 bpo-41746: Add type information to asdl_seq objects (GH-22223) · python/cpython@a5634c4 · GitHub
[go: up one dir, main page]

Skip to content

Commit a5634c4

Browse files
authored
bpo-41746: Add type information to asdl_seq objects (GH-22223)
* Add new capability to the PEG parser to type variable assignments. For instance: ``` | a[asdl_stmt_seq*]=';'.small_stmt+ [';'] NEWLINE { a } ``` * Add new sequence types from the asdl definition (automatically generated) * Make `asdl_seq` type a generic aliasing pointer type. * Create a new `asdl_generic_seq` for the generic case using `void*`. * The old `asdl_seq_GET`/`ast_seq_SET` macros now are typed. * New `asdl_seq_GET_UNTYPED`/`ast_seq_SET_UNTYPED` macros for dealing with generic sequences. * Changes all possible `asdl_seq` types to use specific versions everywhere.
1 parent 5c1b46d commit a5634c4

File tree

22 files changed

+1339
-1087
lines changed

22 files changed

+1339
-1087
lines changed

Doc/tools/extensions/peg_highlight.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class PEGLexer(RegexLexer):
4343
(r"'\W+?'", Text),
4444
(r'"\W+?"', Text),
4545
],
46-
"variables": [(_name + _text_ws + "(=)", bygroups(None, None, None),),],
46+
"variables": [(_name + _text_ws + r"(\[.*\])?" + _text_ws + "(=)", bygroups(None, None, None, None, None),),],
4747
"invalids": [
4848
(r"^(\s+\|\s+invalid_\w+\s*\n)", bygroups(None)),
4949
(r"^(\s+\|\s+incorrect_\w+\s*\n)", bygroups(None)),

Grammar/python.gram

Lines changed: 61 additions & 61 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)
0