Commit graph

530 commits

Author SHA1 Message Date
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
Jeong YunWon
2f33de77c4 first cspell dict 2023-01-09 19:57:23 +09:00
Jeong YunWon
566c7c4179 Merge pull request #4429 from youknowone/fix-format
Fix nightly clippy warnings
2023-01-07 21:38:41 +09:00
Jeong YunWon
9ff117caa0 Fix nightly clippy warnings 2023-01-07 21:07:10 +09:00
harupy
1a28e49adc Include comment text in token 2023-01-06 23:29:20 +09:00
harupy
60cbfd3a94 Implement Default for Location 2023-01-05 22:48:47 +09:00
harupy
eb75c4fa46 Address comments 2023-01-05 18:24:54 +09:00
harupy
5373dcd74d Use try_from 2023-01-05 01:18:30 +09:00
harupy
7a78e12d52 Simplify string check 2023-01-04 23:57:50 +09:00
Jeong YunWon
cecb205f56 Merge pull request #4417 from harupy/add-with-offset-methods
Add `with_col_offset` and `with_row_offset` to `Location` for conveniece
2023-01-04 17:07:31 +09:00
Jeong YunWon
a39772ae8f Merge pull request #4413 from harupy/more-generic-window-impl
Update `CharWindow` in `compiler/parser/src/lexer.rs` to allow slicing
2023-01-04 17:06:06 +09:00
harupy
89ff74457e Use Self 2023-01-04 13:19:23 +09:00
harupy
72185fecd5 Add with_col_offset and with_row_offset to Location 2023-01-04 13:16:03 +09:00
harupy
0ca8d9ea4b Address comment 2023-01-04 00:03:18 +09:00