mirror of
https://github.com/python/cpython.git
synced 2025-11-01 10:45:30 +00:00
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.
This commit is contained in:
parent
5c1b46d897
commit
a5634c4067
22 changed files with 1338 additions and 1086 deletions
|
|
@ -43,7 +43,7 @@ class PEGLexer(RegexLexer):
|
|||
(r"'\W+?'", Text),
|
||||
(r'"\W+?"', Text),
|
||||
],
|
||||
"variables": [(_name + _text_ws + "(=)", bygroups(None, None, None),),],
|
||||
"variables": [(_name + _text_ws + r"(\[.*\])?" + _text_ws + "(=)", bygroups(None, None, None, None, None),),],
|
||||
"invalids": [
|
||||
(r"^(\s+\|\s+invalid_\w+\s*\n)", bygroups(None)),
|
||||
(r"^(\s+\|\s+incorrect_\w+\s*\n)", bygroups(None)),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue