Damien George
6baf76e28b
py: make closures work.
11 years ago
Damien
02a7c41e76
py: implement POP_BLOCK in VM.
11 years ago
Damien
b86e3f9293
py: implement some basic exception matching.
11 years ago
Damien
8f9e2ee157
Add code in VM to handle nested exceptions correctly.
11 years ago
Damien
d99b05282d
Change object representation from 1 big union to individual structs.
A big change. Micro Python objects are allocated as individual structs
with the first element being a pointer to the type information (which
is itself an object). This scheme follows CPython. Much more flexible,
not necessarily slower, uses same heap memory, and can allocate objects
statically.
Also change name prefix, from py_ to mp_ (mp for Micro Python).
11 years ago
Damien
660365e14c
py: split runtime into map, obj, builtin.
11 years ago
Damien
9ecbcfff99
py: work towards working closures.
11 years ago
Damien
db4c361f1c
py: add skeletal import functionality.
11 years ago
Damien
6f3e7fc505
py: add UNPACK_SEQUENCE and keyword methods to VM.
11 years ago
Damien
94658e2e25
Add JUMP_IF_x_OR_POP opcodes to VM.
11 years ago
Damien
40fdfe3000
Improve allocation of stack for byte code.
11 years ago
Damien
03c9cfb015
Make byte code jumps relative.
11 years ago
Damien
6addc89e55
Byte code for SMALL_INT uses 3 bytes for integer.
11 years ago
Damien
7410e440ab
Add basic complex number support.
11 years ago
Damien
4ebb32fb95
Implement: str.join, more float support, ROT_TWO in VM.
11 years ago
Damien
c12aa468a1
Add SET_ADD opcode to VM.
11 years ago
Damien
5fd09668b7
Add MAP_ADD opcode to VM.
11 years ago
Damien
bd25445a82
Implement BC & runtime support for generator/yielding.
11 years ago
Damien
c226dca1f7
Support tuples and list comprehension, albeit crude.
11 years ago
Damien
c9f91976e1
Crude try-except working.
11 years ago
Damien
ce89a21ea4
Implement basic exception framework, and simple for loop.
11 years ago
Damien
c025ebb2dc
Separate out mpy core and unix version.
11 years ago
Damien
eb19efb27e
Simplify and improve function & method calling.
11 years ago
Damien
a397776d6b
Implement basic class/object functionality in runtime.
11 years ago
Damien
b05d707b23
Further factorise PASS_1 out of specific emit code.
11 years ago
Damien
429d71943d
Initial commit.
11 years ago