Charlie Marsh
62d88e0b86
Always wrap in SoftKeywordTransformer
2023-02-21 19:18:42 -05:00
Charlie Marsh
82b91fe9aa
Expose SoftKeywordTransformer on public API
2023-02-21 19:00:32 -05:00
Jim Fasarakis-Hilliard
6e9c759cf7
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
304f6bc38e
Merge pull request #4531 from charliermarsh/charlie/exception-groups
...
Implement except* syntax
2023-02-21 13:20:18 +09:00
Charlie Marsh
2a86dbd644
Implement except* syntax
2023-02-21 12:19:54 +09:00
Charlie Marsh
fab9adcd48
Update Python.asdl from CPython 3.11.1
2023-02-21 12:19:51 +09:00
Charlie Marsh
4c559a9a51
Allow starred expressions in subscripts
2023-02-20 17:59:35 -05:00
Charlie Marsh
77e827acd5
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
591036785c
clean up soft-keyword transform
2023-02-20 15:03:39 -05:00
Charlie Marsh
f1f31324d0
Use muiltipeek
2023-02-20 15:03:39 -05:00
Charlie Marsh
8649bf6f8f
Add support for match statements to parser
2023-02-20 15:03:39 -05:00
John Pham
72ddb53d0f
Make common::repr throw error instead of panic ( #4520 )
2023-02-19 22:09:54 +09:00
Jeong YunWon
24f4a0ed8f
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
fb4bc89812
Merge pull request #4492 from DimitrisJim/doc_parser_uno
...
Document parser crate.
2023-02-13 17:25:14 +09:00
Dimitris Fasarakis Hilliard
66cbe3fe62
Document parser crate.
2023-02-12 17:58:19 +02:00
Dimitris Fasarakis Hilliard
7714c5f517
Add tests, some comments, to function.rs.
2023-02-11 23:07:57 +02:00
Dimitris Fasarakis Hilliard
e6f361d2a5
Refactor: Join string and string_parser.
2023-02-11 18:05:06 +02:00
Jeong YunWon
4ee4fcf407
Add test_generator_expression_argument
2023-02-11 05:20:39 +09:00
Charlie Marsh
dc78f6033b
Use entire range for generators-as-arguments
2023-02-10 10:39:40 -05:00
Dimitris Fasarakis Hilliard
31e0962c66
Document lexer.
2023-02-07 21:43:57 +02:00
Dimitris Fasarakis Hilliard
639e8fc52f
Move NewLineHandler inline, don't check each character twice.
2023-02-07 20:58:53 +02:00
Jeong YunWon
00dc7ec709
use workspace dependencies
2023-02-06 15:30:38 +09:00
Dimitris Fasarakis Hilliard
bff9884df1
Hint that the unwrap should always succeed.
2023-02-01 12:17:33 +02:00
Dimitris Fasarakis Hilliard
c8005694c7
Eat for comma.
2023-01-31 12:26:05 +02:00
Dimitris Fasarakis Hilliard
d4de01c500
Add initial capacities, use u32s for indents/spaces.
2023-01-31 12:26:05 +02:00
Dimitris Fasarakis Hilliard
2a4d44d667
Don't call is_emoji_presentation for each invocation of consume_normal
2023-01-31 12:26:05 +02:00
Dimitris Fasarakis Hilliard
f4831432f9
Match on ascii start/continuation characters before calling functions.
2023-01-31 12:26:05 +02:00
Aarni Koskela
bdc0e257b1
Bump phf to 0.11 series
...
string_cache is still using phf_shared 0.10.0 though
2023-01-25 19:58:43 +02:00
Jeong YunWon
1304e4ba2f
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
harupy
c157dff454
Fix comment
2023-01-22 00:06:52 +09:00
Anders Kaseorg
b93b23b922
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
f260785da4
Remove useless String::from
...
Signed-off-by: harupy <hkawamura0130@gmail.com>
2023-01-16 21:27:57 +09:00
harupy
d83e3ee8cd
Revert "Simplify compile_dict"
...
This reverts commit b31b08a30eb24e246b7f0a0d69b2b5e56a7e7a40.
2023-01-16 01:27:54 +09:00
harupy
4f32bacf9c
Rename test
2023-01-15 23:36:07 +09:00
harupy
6bda1a9e9e
Simplify compile_dict
2023-01-15 23:20:00 +09:00
harupy
64736d0541
Simplify scan_expression
2023-01-15 22:08:19 +09:00
harupy
a7f1904564
Improve test
2023-01-15 16:53:13 +09:00
harupy
d7f5dadf47
Add Option to Dict.keys field
2023-01-15 16:43:13 +09:00
harupy
2f4fe8b380
Remove commented-out code
2023-01-15 16:10:51 +09:00
harupy
f8ae56c75b
Fix clippy errors
2023-01-15 15:04:15 +09:00
harupy
cb3578dbf2
Fix scan_expression and compile_dict
2023-01-15 14:54:58 +09:00
harupy
375d592562
Fix scan_expression and compile_dict
2023-01-15 13:22:05 +09:00
harupy
5e7b909552
Fix unparse
2023-01-15 13:11:55 +09:00
harupy
52d2e25601
Fix dict spreading in dict literal
2023-01-15 13:01:59 +09:00
Jim Fasarakis-Hilliard
163cb5cd67
Merge pull request #4443 from bluetech/non-logical-newline-token-fixup
...
Fixup parse_tokens after "Add NonLogicalNewline token"
2023-01-14 12:49:04 +02:00
Ran Benita
bb2abd1cbc
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
Noa
da96cecfca
Switch from 64-bit instruction enum to out-of-line arg values
2023-01-12 23:05:17 -06:00
Ran Benita
5cc208cc43
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
fea57bcb04
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
Noa
e3fa5a54ba
Bump all crate versions to 0.2.0
2023-01-11 00:14:28 -06:00