Jeong YunWon
a14e43e03a
Separate byteoffset ast and located ast
2023-05-09 00:21:52 +09:00
Jeong YunWon
f47dfca4e3
Rename compiler Location to TextSize
2023-05-08 03:38:10 +09:00
Micha Reiser
58c35ab458
Replace row/column based Location with byte-offsets.
2023-05-08 03:38:10 +09:00
Jeong YunWon
6d7358090b
Refactor ast to hold data as seperated type
2023-05-07 19:20:47 +09:00
Jeong YunWon
39b2dbe04d
Update lalrpop to 0.20.0
2023-05-06 13:48:20 +09:00
Jeong YunWon
f9b5469642
Update cspell for compiler
2023-03-16 22:39:09 +09:00
Charlie Marsh
55fc0e83f3
Treat match and case as soft keywords in lambda assignments ( #4623 )
2023-03-04 12:42:05 -05:00
Noa
b80bbec8e6
Custom marshal enc/decoding impl
2023-03-01 20:47:21 -06:00
Charlie Marsh
0d7b94817d
Allow type variable tuple for *args
2023-02-23 08:39:59 -05:00
Jeong YunWon
a19f294b0c
Merge pull request #4543 from youknowone/flatten-parser
...
Flatten parser interface
2023-02-23 02:09:46 +09:00
Charlie Marsh
b61f4d7b69
Allow trailing commas in MappingPattern
2023-02-22 10:02:41 -05:00
Jeong YunWon
cb8c6fb78d
Flatten rustpython_parser interface
2023-02-22 20:32:31 +09:00
Jeong YunWon
8580e4ebb5
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
1511b6631b
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
2a8aa6f308
Always wrap in SoftKeywordTransformer
2023-02-21 19:18:42 -05:00
Jim Fasarakis-Hilliard
c137bc9d77
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
60180fd54c
Merge pull request #4531 from charliermarsh/charlie/exception-groups
...
Implement except* syntax
2023-02-21 13:20:18 +09:00
Charlie Marsh
c7ed645cc6
Implement except* syntax
2023-02-21 12:19:54 +09:00
Charlie Marsh
8aa3bc93f3
Allow starred expressions in subscripts
2023-02-20 17:59:35 -05:00
Charlie Marsh
ca5b474d45
Use muiltipeek
2023-02-20 15:03:39 -05:00
Charlie Marsh
2b43d45bd5
Add support for match statements to parser
2023-02-20 15:03:39 -05:00
Dimitris Fasarakis Hilliard
07918f0a9a
Document parser crate.
2023-02-12 17:58:19 +02:00
Jeong YunWon
e7f14ab9b8
Add test_generator_expression_argument
2023-02-11 05:20:39 +09:00
Jeong YunWon
d9df131720
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
b26365b215
Remove useless String::from
...
Signed-off-by: harupy <hkawamura0130@gmail.com>
2023-01-16 21:27:57 +09:00
harupy
2d019930e9
Rename test
2023-01-15 23:36:07 +09:00
harupy
d5fc7c4c87
Improve test
2023-01-15 16:53:13 +09:00
harupy
581f6e176c
Fix dict spreading in dict literal
2023-01-15 13:01:59 +09:00
Ran Benita
e5fe037e38
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
674eeec29c
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
harupy
a4a5366504
Include comment text in token
2023-01-06 23:29:20 +09:00
Dimitris Fasarakis Hilliard
92b2574d52
Move tests for with into parser.
2023-01-01 21:36:07 +02:00
harupy
439298e735
Fix FormattedValue location
2022-12-30 21:39:29 +09:00
harupy
b2ac4f60f1
Fix slice location
2022-12-25 09:37:07 +09:00
harupy
1b7a272b77
Fix end location of nodes containing body
2022-12-11 12:35:28 +09:00
harupy
6f6b7b2312
add tests
2022-12-04 05:59:51 +09:00
Charlie Marsh
b6c230f3ca
Implement Tok::Comment
2022-11-07 10:33:55 -05:00
dvermd
a5b59f3c9d
improve col_offset in new line and lalr
2022-10-26 21:30:51 +02:00
dvermd
fa41a1e2f6
Fix ast types' _fields and use 0-based column
2022-10-27 03:09:38 +09:00
Charlie Marsh
02953b9fe6
Remove parse_program_tokens
2022-10-17 12:04:30 -04:00
Charlie Marsh
8adc74fe26
Expose a method to parse AST from tokens directly
2022-10-17 09:39:48 -04:00
Charlie Marsh
1cc342e4ed
Add end locations to all nodes ( #4192 )
2022-10-17 13:18:30 +09:00
Jeong YunWon
1fd898c14c
new_syntax_error working without full compiler
...
Fix #4100
2022-08-23 05:08:24 +09:00
Jeong YunWon
904fc477f1
integrate ast::Location into compilre-core::Location
2022-08-22 08:42:20 +09:00
Jeong YunWon
3742f9117b
Add source_path to ParseError
2022-08-22 08:42:20 +09:00
Jeong YunWon
53c48bf6b9
reorganize compiler crates
2022-08-22 04:42:42 +09:00