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
Jeong Yunwon
6357a1acbe
clean up imports and useless allow attributes
2022-04-15 23:58:20 +09:00
Noa
f93b134b69
Split Rotate into Rotate2 & Rotate3
2022-03-11 22:01:05 -06:00
Noa
f04a305ac6
Fix augassign double-loading the container of the target
2022-03-10 13:27:38 -06:00
Noa
1188369956
Fix clippy warnings with 1.58 & convert some format strings to capture-args
2022-01-13 23:53:25 -06:00
Noa
f6101a5821
Add the __future__.annotations feature
2021-10-17 21:55:28 -05:00
Nixon Enraght-Moony
98aa4bbe06
Bless Tests
...
This was broken by 54ab9cb54a
Closes #3253
2021-10-08 23:01:28 +01:00
jfh
1f78c764ad
Fix warnings for doc build.
2021-10-07 17:37:24 +03:00
Alex Muscar
46f070b14d
Consolidate error handling for builtin "constants" mutations
...
Co-authored-by: Jeong YunWon <youknowone@users.noreply.github.com >
2021-10-05 09:11:42 +01:00
Alex Muscar
94ae5a3af8
fix: forbid stores to the __debug__ builtin #3203
...
According to [the docs][1], `__debug__` is treated as a constant by the
interpreter.
This patch adds some checks to bring RustPython's behaviour in line with
cpython's.
[1]: https://docs.python.org/3/library/constants.html#built-in-constants
2021-10-05 09:11:42 +01:00
Jeong YunWon
4c8b14d2f1
Derive Default for CompileOpts
2021-09-30 03:59:18 +09:00
Padraic Fanning
0ea56025ec
Replace master with main
...
Fixes #3067
2021-09-15 17:54:54 -04:00