271 Commits

Author SHA1 Message Date
Steve Shi
de0d323ad3 change dependency from num-bigint to malachite-bigint (#4952) 2023-06-08 14:28:39 +09:00
Jeong, YunWon
7a3f965396 new ast layout for arguments (#4978) 2023-06-02 17:07:34 +09:00
Jeong YunWon
dc569e9921 Refactoring 2023-05-10 19:35:27 +09:00
Jeong YunWon
f1b261b4f8 Adapt byte-offset location 2023-05-10 04:13:30 +09:00
Jeong YunWon
bac1cdc55f Remove compiler_core::CompileError 2023-05-06 18:22:25 +09:00
Jeong YunWon
f2cfa5f0a7 Split parser to new repository
6b60f85cc4
2023-05-06 14:38:11 +09:00
Jeong YunWon
21afc1933a Update cspell for compiler 2023-03-16 22:39:09 +09:00
Noa
6d1f2986fe Custom marshal enc/decoding impl 2023-03-01 20:47:21 -06:00
Jeong YunWon
f078f79c90 Flatten rustpython_parser interface 2023-02-22 20:32:31 +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
Noa
2861c874ed Switch from 64-bit instruction enum to out-of-line arg values 2023-01-12 23:05:17 -06:00
Noa
185dd4a795 Split derive-impl and derive 2022-12-19 18:48:17 -06:00
Jeong YunWon
6b8e9c2118 parser::Mode from compile::Mode 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
d876673546 Move out CompileError to core as generic form 2022-08-23 01:30:00 +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
fc6d614bf4 rustpython-bytecode -> rustpython-compiler-core 2022-08-22 08:42:20 +09:00
Jeong YunWon
d45f3da192 Add source_path to ParseError 2022-08-22 08:42:20 +09:00
Jeong YunWon
58f5122b3d codegen::{CompileError -> CodegenError} 2022-08-22 08:42:20 +09:00
Jeong YunWon
1606c26c99 Refactor Mode and partial parser/codegen for eval/exec 2022-08-22 08:42:20 +09:00
Jeong YunWon
4d0d9ff1a1 Refactor symboltables and _ast to use codegen when possible 2022-08-22 08:42:20 +09:00
Jeong YunWon
fb5ac9e79b reorganize compiler crates 2022-08-22 04:42:42 +09:00
Jeong YunWon
1100df7458 Clean up imports 2022-08-22 03:42:29 +09:00
Jeong YunWon
53b344866f Implement new features for updated python asdl 2022-08-19 04:52:45 +09:00
Jeong YunWon
089eafeabd update asdl_rs.py for updated Python.asdl 2022-08-19 04:52:45 +09:00
Jeong YunWon
421de1a032 compile_with as recursive form 2022-08-11 07:45:30 +09:00
Jeong YunWon
15aad7cb94 Fix with-statement location 2022-08-11 07:14:20 +09:00
Jeong YunWon
4f0ed88d66 enhance dis output to print line numbers 2022-08-11 07:14:20 +09:00
Jeong YunWon
c9e865aff3 max_stacksize -> max_stackdepth 2022-08-11 06:22:39 +09:00
Jeong YunWon
02029c4057 Fix max_stacksize DEBUG to use const 2022-08-11 06:21:48 +09:00
Jeong YunWon
ffc3e1352a Fix break to contain end label 2022-08-11 02:01:34 +09:00
Jeong YunWon
425c2b4bc4 Fix comprehension bytecode generation 2022-08-10 05:32:48 +09:00
c66d22da84 Except operator cases from delete error rule 2022-07-20 18:10:42 +09:00
da2695cffd Update del statement del [x] available 2022-07-20 18:10:15 +09:00
3c07c7ce00 Change error msg "can't" to "cannot" 2022-07-20 13:28:01 +09:00
Jeong Yunwon
8c0be4b48f Fix nightly clippy warnings 2022-06-24 01:13:32 +09:00
Jeong Yunwon
beff32a2a3 Add compile::Mode::BlockExpr 2022-05-27 10:14:13 +09:00
Jeong Yunwon
d58ddd21ce Remove Instruction::MapAddRev 2022-05-20 08:23:24 +09:00
Jeong Yunwon
503a1474f5 Fix comprehension instruction evaluation order 2022-05-20 08:23:24 +09:00
snowapril
689c0b6c5b Add missing codes for empty statement body
Fix #3704
Compared to previous version of `compile_program_single`, below two
codes are skipped when an empty body is given.
```rust
self.emit_constant(ConstantData::None);
self.emit(Instruction::ReturnValue);
```

Signed-off-by: snowapril <sinjihng@gmail.com>
2022-05-16 11:51:49 +09:00
Jeong Yunwon
7df0acd6b6 share comparisonop between bytecode and vm 2022-05-12 04:02:14 +09:00
Jeong Yunwon
53d835faa7 split comapre and richcompare instruction 2022-05-12 04:02:14 +09:00
Jeong Yunwon
75b3e0d0e3 fn -> impl FnOnce
https://github.com/RustPython/RustPython/pull/3674#discussion_r862511425
2022-05-02 18:08:26 +09:00
Jeong Yunwon
13e602b1df compile get_doc -> split_doc to follow split_first convention in Rust 2022-05-02 10:37:47 +09:00
Jeong Yunwon
852afd5424 remove with_compiler 2022-05-02 10:37:47 +09:00
Jeong Yunwon
2f62bb51c2 compile_impl! => compile_impl 2022-05-02 10:37:47 +09:00
Jeong Yunwon
50e6146b23 compile_single checks last expr out of loop 2022-05-02 10:37:45 +09:00