Commit graph

143 commits

Author SHA1 Message Date
Windel Bouwman
dac20eeb59 Make subscript its own bytecode. Remove pass bytecode. Move complex bytecodes into seperate functions to reduce complexity of dispatch function. 2019-08-28 12:06:46 +02:00
Noah
e0a52c15f6 Make bytecode::Label its own struct 2019-08-27 21:19:18 +00:00
Windel Bouwman
e37f117035 Implement execution of finally block. Fixes #1306. 2019-08-27 21:16:59 +02:00
Windel Bouwman
e8db01a09a Refactor block stack unwinding to enable finally execution. 2019-08-27 19:40:00 +02:00
Windel Bouwman
39c095d12c Add Free enum variant to the symbol scope to be able to distuingish between true local and free variables. 2019-08-18 12:12:27 +02:00
coolreader18
866defbcf3 Compile docstrings for modules 2019-08-15 22:25:30 -05:00
coolreader18
623472c366 Address feedback, simplify compilation code 2019-08-15 15:52:30 -05:00
coolreader18
7aac5b634f Fix weirdness with import submodules 2019-08-15 15:30:14 -05:00
Windel Bouwman
48005efef3 Merge pull request #1245 from RustPython/symbol-context
Improve symbol table processing.
2019-08-14 17:47:40 +02:00
coolreader18
f4ee74dbd4 Fix errors 2019-08-13 23:04:32 -05:00
Windel Bouwman
3b876205e5 Improve symbol table processing. 2019-08-13 21:13:16 +02:00
coolreader18
240c3c417c impl std::str::FromStr for compile::Mode 2019-08-13 12:35:07 -05:00
coolreader18
11f4dc24dc Change compile::compile() to take a Mode instead of an &Mode 2019-08-13 12:34:39 -05:00
Windel Bouwman
6128b2b46e Merge pull request #1232 from corona10/gh-1212
gh-1212: Fix scope_for_name to catch NameError properly
2019-08-12 07:32:02 +02:00
Dong-hee Na
5135c696e7 Fix scope_for_name to catch NameError properly 2019-08-12 10:19:31 +09:00
Windel Bouwman
4f9f9252e4 Improve the situation regarding boolean operations. 2019-08-11 20:20:15 +02:00
Noah
fde382409c Revert "Fix compilation of nested boolean operations" 2019-08-11 12:29:10 -05:00
coolreader18
5c1bc6756c Fix compilation of nested boolean operations 2019-08-09 21:36:42 -05:00
Windel Bouwman
dd53fe8f89 Merge pull request #1215 from RustPython/syntax-fixes
Add variable annotation syntax.
2019-08-09 11:22:55 +02:00
coolreader18
70c5c240e7 Address comments 2019-08-07 14:40:16 -05:00
Windel Bouwman
69b709e2b1 Add parser support for async for loop. Add yield expression inside parentheses. 2019-08-07 20:11:27 +02:00
Windel Bouwman
b6dd92daf6 Properly fill the __annotations__ dictionary. 2019-08-07 16:13:12 +02:00
Windel Bouwman
b22698a6f1 Add variable annotation syntax. Simplify grammar for comprehensions. Add capital J suffix for complex numbers. 2019-08-07 15:31:24 +02:00
coolreader18
a01853fad5 Add constant optimization test 2019-08-03 22:44:36 -05:00
coolreader18
e9ad1f64ee Make peephole optimizer a stream processor 2019-08-03 22:02:29 -05:00
coolreader18
8d1da0920d Add basic constant optimization to the compiler 2019-08-02 23:53:46 -05:00
Windel Bouwman
7e9b3ddc1f Implement review comments and improve parsing a bit. 2019-07-25 23:54:31 +02:00
Windel Bouwman
9f7ef2050e Add location to expressions. Change symboltable to use flags for symbols. 2019-07-20 20:44:38 +02:00
Windel Bouwman
91b43d47fb Fix panic on import statement with levels but no module name. 2019-07-19 17:31:57 +02:00
Windel Bouwman
69c4d0b240 Simplify import AST in line with CPython. 2019-07-15 21:00:28 +02:00
Windel Bouwman
5e468baa16 Add a settings struct for storage of different settings which influence the VM. 2019-07-13 12:23:53 +02:00
Windel Bouwman
de5e71a9db Add optimize flag to ignore assert statements. 2019-07-12 18:41:25 +02:00
Maxim Kurnikov
313ffe6d6a Do not pollute stack when if-expression condition evaluated to False 2019-07-03 16:13:16 +03:00
Windel Bouwman
6f063a402d Change get_row() into row() 2019-06-30 20:23:01 +02:00
Windel Bouwman
57b4d432ef Make bytecode crate independent of parser crate. 2019-06-30 11:42:36 +02:00
Windel Bouwman
134e6b2579 Move bytecode into own crate. 2019-06-30 11:01:40 +02:00
Aviv Palivoda
96e49f195d Calculate import level at parsing 2019-06-29 17:04:31 +03:00
coolreader18
a6808efab7 Revert "Make CodeObject.source_path an Option<String>" 2019-06-20 12:01:20 -05:00
coolreader18
d7b4837e26 Make CodeObject.source_path an Option<String> 2019-06-16 19:59:04 -05:00
Aviv Palivoda
3a1dd34987 Improve compiler import 2019-06-14 08:45:30 +03:00
Aviv Palivoda
a932b729d8 Import all from_list in one __import__ call 2019-06-14 08:27:49 +03:00
coolreader18
e85f8b18df Add doc comments and individual compile functions 2019-06-12 22:04:59 -05:00
coolreader18
064919348d Split off bytecode compilation into a separate crate 2019-06-12 21:43:43 -05:00