Commit Graph

11 Commits

Author SHA1 Message Date
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
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
Charlie Marsh
ba4beb56c5 Set comparator start location to beginning of comparison 2022-11-07 12:24:14 -05:00
Charlie Marsh
978829f263 Implement Tok::Comment 2022-11-07 10:33:55 -05:00
dvermd
4f14fc746c improve col_offset in new line and lalr 2022-10-26 21:30:51 +02:00
Charlie Marsh
4b4588d885 Add expression context parsing 2022-10-17 15:20:33 -04:00
Charlie Marsh
610d408b4b Add end locations to all nodes (#4192) 2022-10-17 13:18:30 +09:00
Anders Kaseorg
b9a07f811d Spell “arithmetic” correctly
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-09-28 17:58:30 -07:00
Jeong YunWon
fb5ac9e79b reorganize compiler crates 2022-08-22 04:42:42 +09:00