Jeong YunWon
21afc1933a
Update cspell for compiler
2023-03-16 22:39:09 +09:00
Charlie Marsh
1871a1632e
Treat match and case as soft keywords in lambda assignments ( #4623 )
2023-03-04 12:42:05 -05:00
Noa
6d1f2986fe
Custom marshal enc/decoding impl
2023-03-01 20:47:21 -06:00
DimitrisJim
c0f5266bc4
Use insta to verify values.
2023-02-28 20:00:47 +09:00
Charlie Marsh
e206505061
Use proper locations for sub-expressions in constant matches
2023-02-26 23:10:38 -05:00
Charlie Marsh
9423712696
Allow type variable tuple for *args
2023-02-23 08:39:59 -05:00
Jeong YunWon
edf5995a1e
Merge pull request #4552 from charliermarsh/charlie/loc
...
Limit match range to end of last statement
2023-02-23 02:11:42 +09:00
Jeong YunWon
6b2efdc9c3
Merge pull request #4543 from youknowone/flatten-parser
...
Flatten parser interface
2023-02-23 02:09:46 +09:00
Charlie Marsh
57efe6f75d
Limit match range to end of last statement
2023-02-22 11:25:50 -05:00
Charlie Marsh
d570b1731e
Allow trailing commas in MappingPattern
2023-02-22 10:02:41 -05:00
Jeong YunWon
f96942bdc0
use super::* from tests submodules
2023-02-22 21:01:39 +09:00
Jeong YunWon
f628a3fd7e
remove #[macro_use]
2023-02-22 20:41:27 +09:00
Jeong YunWon
f078f79c90
Flatten rustpython_parser interface
2023-02-22 20:32:31 +09:00
Jeong YunWon
af45d22fb7
make_tokenizer -> lex to integrate terms
...
we don't distinguish scanner or tokenizer from lexer
2023-02-22 20:28:15 +09:00
Jeong YunWon
6c7d81c325
Fix ModeParseError message
2023-02-22 20:28:03 +09:00
Jeong YunWon
a6f8c53924
Break down rustpython_parser::error module
...
because it doesn't share any common errors but specific error for each sub module
2023-02-22 20:28:01 +09:00
Charlie Marsh
4e957d3484
Always wrap in SoftKeywordTransformer
2023-02-21 19:18:42 -05:00
Charlie Marsh
454ec3e74c
Expose SoftKeywordTransformer on public API
2023-02-21 19:00:32 -05:00
Jim Fasarakis-Hilliard
ddf497623a
Merge pull request #4519 from charliermarsh/charlie/match
...
Add support for match statements to parser
2023-02-21 19:43:28 +02:00
Jeong YunWon
ef873b4b60
Merge pull request #4531 from charliermarsh/charlie/exception-groups
...
Implement except* syntax
2023-02-21 13:20:18 +09:00
Charlie Marsh
da9b2ee6b9
Implement except* syntax
2023-02-21 12:19:54 +09:00
Charlie Marsh
43e3fd9c2c
Allow starred expressions in subscripts
2023-02-20 17:59:35 -05:00
Charlie Marsh
0201a5aadb
Update compiler/parser/src/soft_keywords.rs
...
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com >
2023-02-20 15:03:39 -05:00
Jeong YunWon
fa38e9fa47
clean up soft-keyword transform
2023-02-20 15:03:39 -05:00
Charlie Marsh
382df8e714
Use muiltipeek
2023-02-20 15:03:39 -05:00
Charlie Marsh
c5db729191
Add support for match statements to parser
2023-02-20 15:03:39 -05:00
Jeong YunWon
443835096b
Merge pull request #4490 from DimitrisJim/function_parser
...
Add tests, some comments, to function.rs.
2023-02-13 20:00:35 +09:00
Jeong YunWon
96bfe406ee
Merge pull request #4492 from DimitrisJim/doc_parser_uno
...
Document parser crate.
2023-02-13 17:25:14 +09:00
Dimitris Fasarakis Hilliard
5e40168829
Document parser crate.
2023-02-12 17:58:19 +02:00
Dimitris Fasarakis Hilliard
bc9e4abee5
Add tests, some comments, to function.rs.
2023-02-11 23:07:57 +02:00
Dimitris Fasarakis Hilliard
8d28a077fc
Refactor: Join string and string_parser.
2023-02-11 18:05:06 +02:00
Jeong YunWon
d4207e2936
Add test_generator_expression_argument
2023-02-11 05:20:39 +09:00
Dimitris Fasarakis Hilliard
1e9759679f
Document lexer.
2023-02-07 21:43:57 +02:00
Dimitris Fasarakis Hilliard
e4096fb6f2
Move NewLineHandler inline, don't check each character twice.
2023-02-07 20:58:53 +02:00
Dimitris Fasarakis Hilliard
5025113da0
Hint that the unwrap should always succeed.
2023-02-01 12:17:33 +02:00
Dimitris Fasarakis Hilliard
0fcac14fd7
Eat for comma.
2023-01-31 12:26:05 +02:00
Dimitris Fasarakis Hilliard
7edf3c86c3
Add initial capacities, use u32s for indents/spaces.
2023-01-31 12:26:05 +02:00
Dimitris Fasarakis Hilliard
ecac89521b
Don't call is_emoji_presentation for each invocation of consume_normal
2023-01-31 12:26:05 +02:00
Dimitris Fasarakis Hilliard
51ba929fc6
Match on ascii start/continuation characters before calling functions.
2023-01-31 12:26:05 +02:00
Jeong YunWon
4f38cb68e4
Merge pull request #4449 from harupy/fix-dict-spread-in-dict
...
Fix AST generated from a dict literal containing dict unpacking
2023-01-22 20:44:26 +09:00
Anders Kaseorg
16c1e214d6
Fix end location for elif blocks
...
Since we parse an `elif:` block as an `If` node, its location should
include its `orelse` node like it would for an `if:` block.
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2023-01-17 22:39:44 -05:00
harupy
6e7be1ec8d
Remove useless String::from
...
Signed-off-by: harupy <hkawamura0130@gmail.com >
2023-01-16 21:27:57 +09:00
harupy
964cc1b206
Rename test
2023-01-15 23:36:07 +09:00
harupy
290736ae06
Improve test
2023-01-15 16:53:13 +09:00
harupy
e1f41e83d1
Fix dict spreading in dict literal
2023-01-15 13:01:59 +09:00
Ran Benita
cb97a80350
Fixup parse_tokens after "Add NonLogicalNewline token"
...
I only updated `parse()` to ignore `NonLogicalNewline`, didn't notice
it's also needed in `parse_tokens()`.
2023-01-14 11:52:33 +02:00
Ran Benita
e64faa781c
Add NonLogicalNewline token
...
This token is completely ignored by the parser, but it's useful for
other users of the lexer, such as the Ruff linter. For example, the
token is helpful for a "trailing comma" lint.
The same idea exists in Python's `tokenize` module - there is a NEWLINE
token (logical newline), and a NL token (non-logical newline).
Fixes #4385 .
2023-01-12 16:47:12 +02:00
Martin Fischer
658d5a8b7e
Fix docs.rs build for rustpython-parser
...
docs.rs failed to build the documentation of the recently released
rustpython-parser 0.2.0 because the build.rs script couldn't write the
parser.rs file because docs.rs builds the documentation in a sandbox
with a read-only filesystem.
This commit fixes this by writing the parser.rs file to the cargo output
directory instead, as recommended by the docs.rs documentation.[1]
Fixes #4436 .
[1]: https://docs.rs/about/builds#read-only-directories
2023-01-11 09:58:10 +01:00
Jeong YunWon
1848c45302
first cspell dict
2023-01-09 19:57:23 +09:00
harupy
d532160333
Include comment text in token
2023-01-06 23:29:20 +09:00