Commit graph

477 commits

Author SHA1 Message Date
Anders Kaseorg
56da6c91b7 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
6fc0d42d4a Fix IfExp location 2022-12-25 00:33:02 +09:00
Anders Kaseorg
b20571ad0f Simplify parenthesized context manager parsing with LALRPOP conditions
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-12-24 23:13:10 +09:00
Jeong YunWon
aeb068d2f1 Merge pull request #4345 from coolreader18/tidy-derive
Clean up derive impl a bit
2022-12-24 10:15:30 +09:00
Jeong YunWon
607c97e57e Merge pull request #4348 from harupy/fix-binop-location
Fix the location of `BinOp`
2022-12-24 09:09:24 +09:00
yt2b
572bbda60b Fix is_local 2022-12-22 23:27:36 +09:00
harupy
2c61497074 Fix the location of BinOp 2022-12-21 22:05:05 +09:00
Noa
a60c7b2fb2 Split derive-impl and derive 2022-12-19 18:48:17 -06:00
Jim Fasarakis-Hilliard
5f4309c62c 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
af7aac70df Fix locations of parethesized expressions 2022-12-18 20:53:30 +09:00
yt2b
66d79ce568 Fix symbol scope 2022-12-18 09:48:35 +09:00
Anders Kaseorg
408d15f608 Remove unnecessary boxing of ASDL product children
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-12-14 02:30:02 -08:00
Dimitris Fasarakis Hilliard
f126b79b93 Fix end location in with statements. 2022-12-13 13:28:17 +02:00
Jim Fasarakis-Hilliard
ca1fe40701 Merge pull request #4327 from harupy/fix-end-location-body
Fix end location of compound statements
2022-12-13 12:30:21 +02:00
Charlie Marsh
36f5f5affb Set ExprContext::Store on parenthesized with expressions 2022-12-12 09:09:15 -05:00
harupy
d13b27dcf0 Refactor 2022-12-12 22:36:34 +09:00
harupy
f5ce9517fd Update snapshot 2022-12-12 22:26:03 +09:00
harupy
16f2e826e4 Format 2022-12-12 22:18:26 +09:00
harupy
d6cd733423 Resolve conflict 2022-12-12 22:16:46 +09:00
harupy
3d8a245870 Address comments
Signed-off-by: harupy <hkawamura0130@gmail.com>
2022-12-12 22:14:05 +09:00
Anders Kaseorg
bfd847d04c 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
dec0bf571f Split and simplify some LALRPOP rules
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-12-11 22:02:08 -08:00
harupy
cfbf5f0f63 Use method chaining 2022-12-12 10:24:00 +09:00
harupy
c79cc34b37 Fix other compound statements 2022-12-12 01:10:42 +09:00
harupy
2d75aeb276 Fix end location of nodes containing body 2022-12-11 12:35:28 +09:00
harupy
2b91ffb3ae Refactor 2022-12-10 22:01:42 +09:00
harupy
d45ac01ebe Fix 2022-12-10 18:45:36 +09:00
harupy
9111cd8a3d Fix plain string 2022-12-10 18:09:26 +09:00
harupy
dd01ab1c9e Fix the end location of an implicitly-concatenated string 2022-12-10 17:49:57 +09:00
Jeong YunWon
009f2c4d38 Merge pull request #4310 from youknowone/fix-clippy
Fix nightly clippy warnings
2022-12-05 12:57:01 +09:00
Jeong YunWon
9250260e20 Fix nightly clippy warnings 2022-12-05 12:18:16 +09:00
harupy
8e0bef913c add tests 2022-12-04 05:59:51 +09:00
harupy
1f7a9e5cdc Fix location 2022-12-04 05:45:15 +09:00
yt2b
7b9e7e0443 Use intersects 2022-11-28 20:48:03 +09:00
yt2b
7cdbb5d7b6 Replace bool variable with SymbolFlags 2022-11-28 00:46:10 +09:00
yt2b
7dccce5e20 Fix comment 2022-11-27 23:46:45 +09:00
yt2b
eee3c03042 Reduce nesting of match expression 2022-11-27 23:43:26 +09:00
yt2b
27dd95c8f9 Add SymbolFlags 2022-11-27 23:36:25 +09:00
yt2b
7f2f2cb8ad Add bitflags 2022-11-27 23:30:52 +09:00
yt2b
af4fb9ed52 use bool.then 2022-11-24 09:23:20 +09:00
yt2b
fde6b61270 restore if expression 2022-11-23 11:30:54 +09:00
yt2b
6ae42e249b Refactor lexer functions 2022-11-22 21:10:19 +09:00
yt2b
1fe79331f3 Add test 2022-11-21 22:36:05 +09:00
Charlie Marsh
2fb2224632 Use match 2022-11-20 23:41:52 -05:00
Charlie Marsh
d9b7daa844 Use rustc-hash 2022-11-20 15:30:19 -05:00
Charlie Marsh
7f44441183 Implement some minor performance optimizations 2022-11-20 13:33:20 -05:00
Bongjun Jang
7cdcc13341 Refactor lexer struct (#4257) 2022-11-19 21:43:34 +09:00
Jeong YunWon
e081f1041e Apply let-else statements 2022-11-10 15:39:31 +09:00
Jim Fasarakis-Hilliard
54af02c20c Merge pull request #4266 from charliermarsh/charlie/comments
Implement Tok::Comment
2022-11-07 23:20:15 +02:00
Charlie Marsh
ac1821b23d Set comparator start location to beginning of comparison 2022-11-07 12:24:14 -05:00