diff options
author | Damien George <damien.p.george@gmail.com> | 2014-01-03 17:03:19 -0800 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-01-03 17:03:19 -0800 |
commit | b95d90b2f37e00a39a7cca46c24c9d496bb1e342 (patch) | |
tree | dee120c28b998e528b1ba9f7a72d7dee2df7e12f /py/vm.c | |
parent | 9ba9589ef71920132cd6ec5c3a948e9c605b50f7 (diff) | |
parent | f8b9d3c41addea79851c355f014db9f0f256cdaf (diff) | |
download | micropython-b95d90b2f37e00a39a7cca46c24c9d496bb1e342.tar.gz micropython-b95d90b2f37e00a39a7cca46c24c9d496bb1e342.zip |
Merge pull request #59 from pfalcon/slice
Implement basic slice object and string slicing
Diffstat (limited to 'py/vm.c')
-rw-r--r-- | py/vm.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -410,6 +410,20 @@ bool mp_execute_byte_code_2(const byte **ip_in_out, mp_obj_t *fastn, mp_obj_t ** sp++; break; +#if MICROPY_ENABLE_SLICE + case MP_BC_BUILD_SLICE: + DECODE_UINT; + if (unum == 2) { + obj2 = POP(); + obj1 = TOP(); + SET_TOP(mp_obj_new_slice(obj1, obj2, NULL)); + } else { + printf("3-argument slice is not supported\n"); + assert(0); + } + break; +#endif + case MP_BC_UNPACK_SEQUENCE: DECODE_UINT; rt_unpack_sequence(sp[0], unum, sp - unum + 1); |