Charlie Marsh
e206505061
Use proper locations for sub-expressions in constant matches
2023-02-26 23:10:38 -05:00
Charlie Marsh
9423712696
Allow type variable tuple for *args
2023-02-23 08:39:59 -05:00
Jeong YunWon
edf5995a1e
Merge pull request #4552 from charliermarsh/charlie/loc
...
Limit match range to end of last statement
2023-02-23 02:11:42 +09:00
Jeong YunWon
6b2efdc9c3
Merge pull request #4543 from youknowone/flatten-parser
...
Flatten parser interface
2023-02-23 02:09:46 +09:00
Charlie Marsh
57efe6f75d
Limit match range to end of last statement
2023-02-22 11:25:50 -05:00
Charlie Marsh
d570b1731e
Allow trailing commas in MappingPattern
2023-02-22 10:02:41 -05:00
Jeong YunWon
f078f79c90
Flatten rustpython_parser interface
2023-02-22 20:32:31 +09:00
Jeong YunWon
a6f8c53924
Break down rustpython_parser::error module
...
because it doesn't share any common errors but specific error for each sub module
2023-02-22 20:28:01 +09:00
Jim Fasarakis-Hilliard
ddf497623a
Merge pull request #4519 from charliermarsh/charlie/match
...
Add support for match statements to parser
2023-02-21 19:43:28 +02:00
Jeong YunWon
ef873b4b60
Merge pull request #4531 from charliermarsh/charlie/exception-groups
...
Implement except* syntax
2023-02-21 13:20:18 +09:00
Charlie Marsh
da9b2ee6b9
Implement except* syntax
2023-02-21 12:19:54 +09:00
Charlie Marsh
43e3fd9c2c
Allow starred expressions in subscripts
2023-02-20 17:59:35 -05:00
Charlie Marsh
c5db729191
Add support for match statements to parser
2023-02-20 15:03:39 -05:00
Charlie Marsh
65a62b8d32
Use entire range for generators-as-arguments
2023-02-10 10:39:40 -05:00
Jeong YunWon
4f38cb68e4
Merge pull request #4449 from harupy/fix-dict-spread-in-dict
...
Fix AST generated from a dict literal containing dict unpacking
2023-01-22 20:44:26 +09:00
Anders Kaseorg
16c1e214d6
Fix end location for elif blocks
...
Since we parse an `elif:` block as an `If` node, its location should
include its `orelse` node like it would for an `if:` block.
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2023-01-17 22:39:44 -05:00
harupy
82892f3e0e
Remove commented-out code
2023-01-15 16:10:51 +09:00
harupy
e1f41e83d1
Fix dict spreading in dict literal
2023-01-15 13:01:59 +09:00
harupy
d532160333
Include comment text in token
2023-01-06 23:29:20 +09:00
harupy
49b9f490d9
Fix NamedExpr location
2022-12-31 23:32:08 +09:00
Jeong YunWon
cb4bd51489
Merge pull request #4373 from andersk/named
...
Allow named expression in subscript and set comprehension
2022-12-31 10:58:09 +09:00
Jeong YunWon
b7eb46abad
Merge pull request #4384 from harupy/parse-formatted-value
...
Fix the location of `FormattedValue`
2022-12-31 10:52:44 +09:00
harupy
17f7efedc5
Fix FormattedValue location
2022-12-30 21:39:29 +09:00
Nick Liu
c7c9602ea4
use is_none
2022-12-29 22:49:26 +08:00
Nick Liu
0e66e143fd
added check: named arguments must follow bare star
2022-12-29 22:49:26 +08:00
Nick Liu
62fd967cd4
added lex error: DuplicateArguments
2022-12-29 22:49:26 +08:00
Anders Kaseorg
6b12aeef6a
Allow named expression in set comprehension: {a := b for c in d}
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2022-12-28 09:57:32 -08:00
Anders Kaseorg
71a278c086
Allow named expression in subscript: a[b := c]
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2022-12-28 09:57:32 -08:00
Anders Kaseorg
b44a660e4b
Remove duplicate declaration of "from" token
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2022-12-27 18:56:24 -08:00
Jeong YunWon
06a815f8c7
Merge pull request #4358 from harupy/fix-slice-location
...
Fix `Slice` location
2022-12-26 16:03:09 +09:00
Jeong YunWon
647d542d38
Merge pull request #4356 from andersk/with-tuple-named
...
Fix parsing of tuple with named expression as context manager
2022-12-26 16:02:17 +09:00
harupy
d7f7fd2e21
Fix slice location
2022-12-25 09:37:07 +09:00
Anders Kaseorg
c7d03d9cb4
Fix parsing of tuple with named expression as context manager
...
Because the ‘with’ item grammar disallows named expressions, CPython
parses ‘with (a := 0, b := 1):’ as a tuple rather than two ‘with’
items.
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2022-12-24 13:15:53 -08:00
harupy
1589072680
Fix IfExp location
2022-12-25 00:33:02 +09:00
Anders Kaseorg
5c543445c3
Simplify parenthesized context manager parsing with LALRPOP conditions
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2022-12-24 23:13:10 +09:00
harupy
083191db47
Fix the location of BinOp
2022-12-21 22:05:05 +09:00
Jim Fasarakis-Hilliard
c01f014b12
Merge pull request #4340 from harupy/fix-locations-of-parethesized-expressions
...
Fix the start and end locations of `Tuple`
2022-12-18 15:17:40 +02:00
harupy
fdbfe156ca
Fix locations of parethesized expressions
2022-12-18 20:53:30 +09:00
Anders Kaseorg
316c4858e2
Remove unnecessary boxing of ASDL product children
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2022-12-14 02:30:02 -08:00
harupy
7a40d9c876
Refactor
2022-12-12 22:36:34 +09:00
harupy
c906e431be
Format
2022-12-12 22:18:26 +09:00
harupy
fbb409b755
Resolve conflict
2022-12-12 22:16:46 +09:00
harupy
05e1a7a0aa
Address comments
...
Signed-off-by: harupy <hkawamura0130@gmail.com >
2022-12-12 22:14:05 +09:00
Anders Kaseorg
b7f4ff7283
Parse Python 3.9+ parenthesized context managers
...
Since the upstream grammar for this is not LR(1), we abuse LALRPOP
macros and the Into/TryInto traits to build a cover grammar that
converts to either tuples or `with` items after additional validation.
It’s annoying and ugly, but something like this is basically our only
option short of switching to a more powerful parser algorithm.
Fixes #4145 .
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2022-12-12 00:47:33 -08:00
Anders Kaseorg
78ca48cd79
Split and simplify some LALRPOP rules
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2022-12-11 22:02:08 -08:00
harupy
7e315c16c6
Use method chaining
2022-12-12 10:24:00 +09:00
harupy
91f1fc73ab
Fix other compound statements
2022-12-12 01:10:42 +09:00
harupy
9f9ba0286e
Fix end location of nodes containing body
2022-12-11 12:35:28 +09:00
harupy
adec9e94fa
Fix location
2022-12-04 05:45:15 +09:00
Jim Fasarakis-Hilliard
27bf82a225
Merge pull request #4266 from charliermarsh/charlie/comments
...
Implement Tok::Comment
2022-11-07 23:20:15 +02:00