Commit graph

24 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
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
harupy
2c61497074 Fix the location of BinOp 2022-12-21 22:05:05 +09: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
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
harupy
d13b27dcf0 Refactor 2022-12-12 22:36:34 +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
1f7a9e5cdc Fix location 2022-12-04 05:45:15 +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
Charlie Marsh
c3f246693b Implement Tok::Comment 2022-11-07 10:33:55 -05:00
dvermd
1dfa2e5239 improve col_offset in new line and lalr 2022-10-26 21:30:51 +02:00
Charlie Marsh
0cd0a0adc8 Add expression context parsing 2022-10-17 15:20:33 -04:00
Charlie Marsh
8a32bab00a Add end locations to all nodes (#4192) 2022-10-17 13:18:30 +09:00
Anders Kaseorg
abec5c0e12 Spell “arithmetic” correctly
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-09-28 17:58:30 -07:00
Jeong YunWon
060d153bb3 reorganize compiler crates 2022-08-22 04:42:42 +09:00