micropython/py
Paul Sokolovsky cefcbb22b2 objarray: Implement array slice assignment.
This is rarely used feature which takes enough code to implement, so is
controlled by MICROPY_PY_ARRAY_SLICE_ASSIGN config setting, default off.
But otherwise it may be useful, as allows to update arbitrary-sized data
buffers in-place.

Slice is yet to implement, and actually, slice assignment implemented in
such a way that RHS of assignment should be array of the exact same item
typecode as LHS. CPython has it more relaxed, where RHS can be any sequence
of compatible types (e.g. it's possible to assign list of int's to a
bytearray slice).

Overall, when all "slice write" features are implemented, it may cost ~1KB
of code.
2015-02-27 22:17:15 +02:00
..
argcheck.c py, unix, stmhal: Allow to compile with -Wshadow. 2015-01-20 11:55:10 +00:00
asmarm.c py: Allocate memory for assembled code at start of PASS_EMIT. 2015-01-14 00:38:33 +00:00
asmarm.h py: Add guarded includes for asm-based headers. 2015-01-01 18:07:43 +00:00
asmthumb.c py: Make inline assembler raise exception when branch not in range. 2015-02-25 15:45:55 +00:00
asmthumb.h py: Make inline assembler raise exception when branch not in range. 2015-02-25 15:45:55 +00:00
asmx64.c py/asm*.c: Typo fixes in comments. 2015-02-14 02:20:35 +08:00
asmx64.h py: Allow asmx64 to compile with -Wsign-compare. 2015-01-22 14:08:58 +00:00
asmx86.c py/asm*.c: Typo fixes in comments. 2015-02-14 02:20:35 +08:00
asmx86.h py: Add guarded includes for asm-based headers. 2015-01-01 18:07:43 +00:00
bc0.h py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
bc.c py, unix: Allow to compile with -Wsign-compare. 2015-01-16 17:47:07 +00:00
bc.h py: Make old_globals part of mp_code_state structure. 2015-02-15 19:24:15 +03:00
binary.c py: Add support for floats in mp_binary_{get,set}_val() 2015-01-27 22:49:01 +02:00
binary.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
builtin.h py: Add setattr builtin. 2015-02-14 23:35:00 +00:00
builtinevex.c py: Check for valid file when creating lexer for execfile. 2015-02-15 00:02:27 +00:00
builtinimport.c builtinimport: Revamp&refactor handling of relative imports. 2015-02-16 12:11:34 +02:00
compile.c py: Transform assert logic in compiler to save code space. 2015-02-27 14:25:47 +00:00
compile.h py: Protect mp_parse and mp_compile with nlr push/pop block. 2015-02-07 18:33:58 +00:00
emit.h py: Make inline assembler raise proper SyntaxError exception on error. 2015-02-13 01:00:51 +00:00
emitbc.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
emitcommon.c py: Remove unnecessary id_flags argument from emitter's load_fast. 2015-01-16 12:24:49 +00:00
emitcpy.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
emitglue.c py: Don't use anonymous unions, name them instead. 2015-01-24 23:14:12 +00:00
emitglue.h py: Don't use anonymous unions, name them instead. 2015-01-24 23:14:12 +00:00
emitinlinethumb.c py: Make inline assembler raise exception when branch not in range. 2015-02-25 15:45:55 +00:00
emitnative.c py: Remove obsolete MP_F_LOAD_CONST_{INT,DEC} from emitnative.c. 2015-02-09 14:53:16 +00:00
emitpass1.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
formatfloat.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
formatfloat.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
frozenmod.c py: Implement very simple frozen modules support. 2015-01-20 11:52:12 +02:00
frozenmod.h py: Implement very simple frozen modules support. 2015-01-20 11:52:12 +02:00
gc.c py: Put mp_sys_path, mp_sys_argv and gc_collected in mp_state_ctx_t. 2015-02-07 17:24:10 +00:00
gc.h py: Put all global state together in state structures. 2015-01-07 20:33:00 +00:00
grammar.h py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
lexer.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
lexer.h py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
lexerstr.c py: Use m_{new,renew,del} consistently. 2015-02-27 09:34:51 +00:00
lexerunix.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
makeqstrdata.py py/makeqstrdata.py: Make it work again with both Python2 and Python3. 2015-01-11 22:40:38 +00:00
malloc.c py: Put all global state together in state structures. 2015-01-07 20:33:00 +00:00
map.c py, unix: Allow to compile with -Wsign-compare. 2015-01-16 17:47:07 +00:00
misc.h py: Change vstr_null_terminate -> vstr_null_terminated_str, returns str. 2015-01-29 13:57:23 +00:00
mkenv.mk py, mk: Revert change where build variables set with ?=. 2014-06-07 13:14:45 +01:00
mkrules.mk py: Fix order-only dependencies in mkrules.mk and py.mk. 2014-11-06 18:48:38 +00:00
modarray.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
modbuiltins.c py: Implement UnicodeError. 2015-02-23 23:20:16 +02:00
modcmath.c py: Fix cmath.log10; fix printing of complex number with negative imag. 2015-02-02 12:52:14 +00:00
modcollections.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
modgc.c py: Put mp_sys_path, mp_sys_argv and gc_collected in mp_state_ctx_t. 2015-02-07 17:24:10 +00:00
modio.c py: Use TextIOWrapper only if PY_IO_FILEIO def'd; cast size_t for print. 2015-02-15 13:17:11 +00:00
modmath.c py: Make math special functions configurable and disabled by default. 2015-02-22 14:48:18 +00:00
modmicropython.c py: Use TextIOWrapper only if PY_IO_FILEIO def'd; cast size_t for print. 2015-02-15 13:17:11 +00:00
modstruct.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
modsys.c py: Put mp_sys_path, mp_sys_argv and gc_collected in mp_state_ctx_t. 2015-02-07 17:24:10 +00:00
mpconfig.h objarray: Implement array slice assignment. 2015-02-27 22:17:15 +02:00
mpstate.c py: Put all global state together in state structures. 2015-01-07 20:33:00 +00:00
mpstate.h py: Put mp_sys_path, mp_sys_argv and gc_collected in mp_state_ctx_t. 2015-02-07 17:24:10 +00:00
mpz.c py: Fix comparison of minus-zero long int. 2015-01-27 17:47:38 +00:00
mpz.h py: Be more machine-portable with size of bit fields. 2015-01-24 23:12:58 +00:00
nativeglue.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
nlr.h nlr: Add even more optional debugging logging. 2015-02-15 20:28:18 +03:00
nlrsetjmp.c py: Put all global state together in state structures. 2015-01-07 20:33:00 +00:00
nlrthumb.S py: Put all global state together in state structures. 2015-01-07 20:33:00 +00:00
nlrx64.S py: Fix nlr mp_state_ctx symbol error for Mac. 2015-01-08 16:24:44 +00:00
nlrx86.S py: Put all global state together in state structures. 2015-01-07 20:33:00 +00:00
nlrxtensa.S py: Put all global state together in state structures. 2015-01-07 20:33:00 +00:00
obj.c py: Fix mp_obj_print() to work when Python streams are not used. 2015-02-17 00:32:18 +02:00
obj.h objarray: Implement array slice assignment. 2015-02-27 22:17:15 +02:00
objarray.c objarray: Implement array slice assignment. 2015-02-27 22:17:15 +02:00
objbool.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objboundmeth.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objcell.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objclosure.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objcomplex.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
objdict.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objenumerate.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objexcept.c py: Use m_{new,renew,del} consistently. 2015-02-27 09:34:51 +00:00
objexcept.h py: Fix adding of traceback so that it appends to existing info. 2015-02-27 00:36:39 +00:00
objfilter.c py: Use mp_arg_check_num in some _make_new functions. 2015-01-20 14:11:27 +00:00
objfloat.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
objfun.c py: Make old_globals part of mp_code_state structure. 2015-02-15 19:24:15 +03:00
objfun.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
objgenerator.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objgenerator.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
objgetitemiter.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
objint_longlong.c py: Use float-to-int classifications for mp_obj_new_int_from_float() functions 2015-01-24 20:54:28 +00:00
objint_mpz.c py: Use float-to-int classifications for mp_obj_new_int_from_float() functions 2015-01-24 20:54:28 +00:00
objint.c py: Use m_{new,renew,del} consistently. 2015-02-27 09:34:51 +00:00
objint.h py: Add float-to-int classification function 2015-01-24 20:54:28 +00:00
objlist.c objarray: Implement array slice assignment. 2015-02-27 22:17:15 +02:00
objlist.h py: Fix adding of traceback so that it appends to existing info. 2015-02-27 00:36:39 +00:00
objmap.c py: Use mp_arg_check_num in some _make_new functions. 2015-01-20 14:11:27 +00:00
objmodule.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objmodule.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
objnamedtuple.c py: Fix segfault in namedtuple when name is a non-interned string 2015-01-24 20:21:09 +00:00
objnone.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objobject.c py: Use mp_arg_check_num in some _make_new functions. 2015-01-20 14:11:27 +00:00
objproperty.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objrange.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objreversed.c py: Implement __reversed__ slot. 2015-01-21 00:19:42 +00:00
objset.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objslice.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objstr.c objstr: Fix bytes creation from array of long ints. 2015-02-09 12:11:49 +08:00
objstr.h objstr: Remove code duplication and unbreak Windows build. 2015-01-23 02:15:56 +02:00
objstringio.c py: Prevent segfault for operations on closed StringIO. 2015-01-20 23:50:43 +00:00
objstrunicode.c py: Remove duplicated mp_obj_str_make_new function from objstrunicode.c. 2015-01-28 14:14:57 +00:00
objtuple.c py: Use m_{new,renew,del} consistently. 2015-02-27 09:34:51 +00:00
objtuple.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
objtype.c py: Add few more special methods. 2015-02-22 01:21:08 +02:00
objtype.h py: Add option to cache map lookup results in bytecode. 2015-01-07 21:07:23 +00:00
objzip.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
opmethods.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
parse.c py: Update parse.c&mpconfig.h to reflect rename of mp_lexer_show_token. 2015-02-23 21:36:05 +00:00
parse.h py: Expose compile.c:list_get as mp_parse_node_extract_list. 2015-02-13 02:29:46 +00:00
parsenum.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
parsenum.h py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
parsenumbase.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
parsenumbase.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
pfenv_printf.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
pfenv.c py: Use m_{new,renew,del} consistently. 2015-02-27 09:34:51 +00:00
pfenv.h py: Can compile with -Wmissing-declarations and -Wmissing-prototypes. 2015-01-12 22:30:49 +00:00
py-version.sh - Let the build environment decide about the toolchain to be used, in case 2014-06-07 09:16:42 +02:00
py.mk py: Protect mp_parse and mp_compile with nlr push/pop block. 2015-02-07 18:33:58 +00:00
qstr.c py: Add option to micropython.qstr_info() to dump actual qstrs. 2015-02-10 11:02:28 +00:00
qstr.h py: Add option to micropython.qstr_info() to dump actual qstrs. 2015-02-10 11:02:28 +00:00
qstrdefs.h py: Implement UnicodeError. 2015-02-23 23:20:16 +02:00
repl.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
repl.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
runtime0.h py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
runtime.c py: Simplify and remove redundant code for __iter__ method lookup. 2015-02-15 01:10:13 +00:00
runtime.h py: Put mp_sys_path, mp_sys_argv and gc_collected in mp_state_ctx_t. 2015-02-07 17:24:10 +00:00
scope.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
scope.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
sequence.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
showbc.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
smallint.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
smallint.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
stackctrl.c stackctrl: Encode "recursion depth exceeded" message as qstr. 2015-02-15 22:41:14 +03:00
stackctrl.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
stream.c py: Change vstr so that it doesn't null terminate buffer by default. 2015-01-28 23:43:01 +00:00
stream.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
unicode.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
unicode.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
vm.c py: Small optimisation of logic flow in BC_WITH_CLEANUP bytecode. 2015-02-26 17:54:50 +00:00
vmentrytable.h py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
vstr.c py: Change vstr_null_terminate -> vstr_null_terminated_str, returns str. 2015-01-29 13:57:23 +00:00
warning.c py: Can compile with -Wmissing-declarations and -Wmissing-prototypes. 2015-01-12 22:30:49 +00:00