Commit graph

75 commits

Author SHA1 Message Date
Anders Kaseorg
e40e4b21f3 Remove duplicate declaration of "from" token
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-12-27 18:56:24 -08:00
harupy
a0dfa939ff Fix make_tokenizer_located 2022-12-27 21:54:18 +09:00
Jeong YunWon
09eb90c966 Merge pull request #4359 from yt2b/check_bom
Add BOM check
2022-12-26 16:03:51 +09:00
Jeong YunWon
13699aacc1 Merge pull request #4358 from harupy/fix-slice-location
Fix `Slice` location
2022-12-26 16:03:09 +09:00
Jeong YunWon
d7986317c1 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
yt2b
637275fc35 Fix comment 2022-12-26 09:30:12 +09:00
yt2b
db91adbcc3 Add BOM check 2022-12-25 11:15:29 +09:00
harupy
a5553aea43 Fix slice location 2022-12-25 09:37:07 +09:00
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
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
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
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
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
dvermd
de7acf6f99 improve fstring parser
part of: #1671
2022-10-26 21:15:24 +02:00