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
6a0f13eb4f
Refactor
2022-12-10 22:01:42 +09:00
harupy
d6d50d4635
Fix
2022-12-10 18:45:36 +09:00
harupy
991c8299f8
Fix plain string
2022-12-10 18:09:26 +09:00
harupy
93f3433e77
Fix the end location of an implicitly-concatenated string
2022-12-10 17:49:57 +09:00
Jeong YunWon
5fed6a35af
Merge pull request #4310 from youknowone/fix-clippy
...
Fix nightly clippy warnings
2022-12-05 12:57:01 +09:00
Jeong YunWon
d935fbc445
Fix nightly clippy warnings
2022-12-05 12:18:16 +09:00
harupy
5c63109f4a
add tests
2022-12-04 05:59:51 +09:00
harupy
adec9e94fa
Fix location
2022-12-04 05:45:15 +09:00
yt2b
a79fb0195f
use bool.then
2022-11-24 09:23:20 +09:00
yt2b
81b7c41f3e
restore if expression
2022-11-23 11:30:54 +09:00
yt2b
683a3e5740
Refactor lexer functions
2022-11-22 21:10:19 +09:00
yt2b
592e9b49b7
Add test
2022-11-21 22:36:05 +09:00
Charlie Marsh
3a6729eedd
Use match
2022-11-20 23:41:52 -05:00
Charlie Marsh
ebeb0904d4
Use rustc-hash
2022-11-20 15:30:19 -05:00
Charlie Marsh
3de87f9828
Implement some minor performance optimizations
2022-11-20 13:33:20 -05:00
Bongjun Jang
e72f01773d
Refactor lexer struct ( #4257 )
2022-11-19 21:43:34 +09:00
Jeong YunWon
499b34cee0
Apply let-else statements
2022-11-10 15:39:31 +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
dvermd
dc595d1276
improve fstring parser
...
part of: #1671
2022-10-26 21:15:24 +02:00
dvermd
f2bfb78d3c
Fix ast types' _fields and use 0-based column
2022-10-27 03:09:38 +09:00
Charlie Marsh
4b4588d885
Add expression context parsing
2022-10-17 15:20:33 -04:00
Charlie Marsh
9ced976cde
Remove parse_program_tokens
2022-10-17 12:04:30 -04:00
Charlie Marsh
71de630336
Expose a method to parse AST from tokens directly
2022-10-17 09:39:48 -04:00
Charlie Marsh
610d408b4b
Add end locations to all nodes ( #4192 )
2022-10-17 13:18:30 +09:00
Charlie Marsh
e7e62d36ba
Start simple string at quote mark
2022-10-16 11:25:46 -04:00
Charlie Marsh
ab159c98b2
Start string location at kind or quote prefix
2022-10-15 11:03:50 -04:00
dvermd
f1e1046932
Refactor fstrings ( #4188 )
2022-10-14 12:16:34 +09:00
fanninpm
3301220a6b
Merge pull request #4186 from andersk/arithmetic
...
Spell “arithmetic” correctly
2022-09-30 09:29:36 -04: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
5c29c27b6f
temporary fix of parser build
2022-09-21 16:49:35 +09:00
Jeong YunWon
6ae1148b34
better parser build experience
2022-09-21 16:47:06 +09:00
Jeong YunWon
6b31ed37a4
Merge pull request #4116 from charliermarsh/charlie/f-string
...
Avoid creating unused JoinedStr in FStringParser
2022-08-23 19:30:36 +09:00
Jeong YunWon
6b8e9c2118
parser::Mode from compile::Mode
2022-08-23 05:08:24 +09:00
Jeong YunWon
8c9c2820b7
use thiserror
2022-08-23 05:08:24 +09:00
Jeong YunWon
55061c7b6a
new_syntax_error working without full compiler
...
Fix #4100
2022-08-23 05:08:24 +09:00
Jeong YunWon
9aacd144ca
Integrate CompileError to compiler-core::BaseError
2022-08-22 23:18:41 +09:00
Jeong YunWon
31f95eeb1e
integrate CodegenError to compiler-core::Error
2022-08-22 18:43:03 +09:00
Jeong YunWon
9ecbff8b98
Integrate ParseError to compiler-core::Error
2022-08-22 16:28:08 +09:00
Jeong YunWon
65df1fe9b6
integrate ast::Location into compilre-core::Location
2022-08-22 08:42:20 +09:00
Jeong YunWon
6eeaf976a2
sort Cargo.toml dependencies
2022-08-22 08:42:20 +09:00
Jeong YunWon
d45f3da192
Add source_path to ParseError
2022-08-22 08:42:20 +09:00
Charles Marsh
5e480b8794
Fix f-string regression
2022-08-21 19:20:23 -04:00
Charles Marsh
0abecdad76
Avoid creating unused JoinedStr in FStringParser
2022-08-21 16:59:36 -04:00
Jeong YunWon
fb5ac9e79b
reorganize compiler crates
2022-08-22 04:42:42 +09:00