micropython/py
Damien George 83204f3406 py: Allow to properly disable builtin slice operation.
This patch makes the MICROPY_PY_BUILTINS_SLICE compile-time option
fully disable the builtin slice operation (when set to 0).  This
includes removing the slice sytanx from the grammar.  Now, enabling
slice costs 4228 bytes on unix x64, and 1816 bytes on stmhal.
2014-12-27 17:33:30 +00:00
..
argcheck.c py: Use shorter, static error msgs when ERROR_REPORTING_TERSE enabled. 2014-11-06 17:36:16 +00:00
asmarm.c asmarm: Fix bug with encoding small negative ints using MVN instruction. 2014-12-14 03:24:17 +02:00
asmarm.h py: Implement native load for viper. 2014-10-12 16:59:29 +01:00
asmthumb.c py: Make macro names in assemblers consistent, and tidy up a bit. 2014-09-29 19:42:06 +01:00
asmthumb.h py: Make macro names in assemblers consistent, and tidy up a bit. 2014-09-29 19:42:06 +01:00
asmx64.c py: Implement native load for viper. 2014-10-12 16:59:29 +01:00
asmx64.h py: Implement native load for viper. 2014-10-12 16:59:29 +01:00
asmx86.c py: Make functions static where appropriate. 2014-12-10 22:08:14 +00:00
asmx86.h py: Implement native load for viper. 2014-10-12 16:59:29 +01:00
bc0.h py: Compress load-int, load-fast, store-fast, unop, binop bytecodes. 2014-10-25 20:23:13 +01:00
bc.c py: Fix some macros defines; cleanup some includes. 2014-11-05 21:16:41 +00:00
bc.h showbc: Refactor to allow inline instruction printing. 2014-12-27 05:01:21 +02:00
binary.c py: Rename mp_obj_int_get to mp_obj_int_get_truncated; fix struct.pack. 2014-12-05 23:13:52 +00:00
binary.h py: Make mp_binary_set_val work on big endian machine. 2014-10-06 15:05:35 +00:00
builtin.h py: Add execfile function (from Python 2); enable in stmhal port. 2014-12-19 13:36:17 +00:00
builtinevex.c py: Add execfile function (from Python 2); enable in stmhal port. 2014-12-19 13:36:17 +00:00
builtinimport.c py: Allow builtins to be overridden. 2014-12-09 16:19:48 +00:00
compile.c py: Allow to properly disable builtin slice operation. 2014-12-27 17:33:30 +00:00
compile.h py: Move to guarded includes for compile.h and related headers. 2014-12-27 16:12:17 +02:00
emit.h py: Allow to properly disable builtin slice operation. 2014-12-27 17:33:30 +00:00
emitbc.c py: Allow to properly disable builtin slice operation. 2014-12-27 17:33:30 +00:00
emitcommon.c py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files. 2014-09-08 23:05:16 +01:00
emitcpy.c py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files. 2014-09-08 23:05:16 +01:00
emitglue.c unix: Make -v dump memory info at exit. 2014-10-26 22:36:56 +00:00
emitglue.h py: Move to guarded includes for compile.h and related headers. 2014-12-27 16:12:17 +02:00
emitinlinethumb.c py: Remove unnecessary RULE_none and PN_none from parser. 2014-12-20 18:41:59 +00:00
emitnative.c py: Allow to properly disable builtin slice operation. 2014-12-27 17:33:30 +00:00
emitpass1.c py: Allow to properly disable builtin slice operation. 2014-12-27 17:33:30 +00:00
formatfloat.c formatfloat.c: Typo fix in comment. 2014-07-17 20:45:58 +03:00
formatfloat.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
gc.c py: Fix some macros defines; cleanup some includes. 2014-11-05 21:16:41 +00:00
gc.h py: Make gc.enable/disable just control auto-GC; alloc is still allowed. 2014-10-31 21:30:46 +00:00
grammar.h py: Allow to properly disable builtin slice operation. 2014-12-27 17:33:30 +00:00
lexer.c py: Fix printing of size_t entity; fix qemu-arm for changes to lexer. 2014-12-05 22:50:16 +00:00
lexer.h py: Move to guarded includes for compile.h and related headers. 2014-12-27 16:12:17 +02:00
lexerstr.c py: Optimise lexer by exposing lexer type. 2014-12-05 19:35:18 +00:00
lexerunix.c py: Optimise lexer by exposing lexer type. 2014-12-05 19:35:18 +00:00
lexerunix.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
makeqstrdata.py py: Use % str formatting instead of {} in makeqstrdata.py. 2014-09-05 13:16:19 +01:00
malloc.c py: Make gc.enable/disable just control auto-GC; alloc is still allowed. 2014-10-31 21:30:46 +00:00
map.c py: Allow to properly disable builtin "set" object. 2014-12-27 17:33:30 +00:00
misc.h py: Add further checks for failed malloc in lexer init functions. 2014-10-09 16:53:37 +01: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 Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
modbuiltins.c py: Allow to properly disable builtin "set" object. 2014-12-27 17:33:30 +00:00
modcmath.c py: Make functions static where appropriate. 2014-12-10 22:08:14 +00:00
modcollections.c Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
modgc.c Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
modio.c Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
modmath.c py: Make functions static where appropriate. 2014-12-10 22:08:14 +00:00
modmicropython.c modmicropython: Move mem_info() and qstr_info() functions from unix port. 2014-12-01 20:42:24 +02:00
modstruct.c Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
modsys.c modsys: Add sys.print_exception(exc, file=sys.stdout) function. 2014-12-08 20:25:49 +00:00
mpconfig.h py: Add execfile function (from Python 2); enable in stmhal port. 2014-12-19 13:36:17 +00:00
mpz.c mpz: Fix 64bit msvc build 2014-10-30 23:00:24 +00:00
mpz.h py: Fix function type: () -> (void). 2014-12-10 18:05:42 +00:00
nativeglue.c py: Add casting to viper; add native mem stores to viper. 2014-09-29 22:10:41 +01:00
nlr.h py: Add NLR support for xtensa CPU. 2014-11-27 20:29:33 +00:00
nlrsetjmp.c Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
nlrthumb.S py: Fix some macros defines; cleanup some includes. 2014-11-05 21:16:41 +00:00
nlrx64.S py: Clean up nlr*.S to make it easier to read; fix clang .bss error. 2014-09-26 13:07:26 +00:00
nlrx86.S py: Clean up nlr*.S to make it easier to read; fix clang .bss error. 2014-09-26 13:07:26 +00:00
nlrxtensa.S py: Add NLR support for xtensa CPU. 2014-11-27 20:29:33 +00:00
obj.c modsys: Add sys.print_exception(exc, file=sys.stdout) function. 2014-12-08 20:25:49 +00:00
obj.h py: Tidy up a few function declarations. 2014-12-10 22:37:07 +00:00
objarray.c py: Allow bytes/bytearray/array to be init'd by buffer protocol objects. 2014-12-04 15:46:14 +00:00
objarray.h py: Change uint to mp_uint_t in runtime.h, stackctrl.h, binary.h. 2014-08-30 14:59:21 +01:00
objbool.c py: Make native emitter handle multi-compare and not/is not/not in ops. 2014-09-23 14:15:45 +00:00
objboundmeth.c py: Make functions static where appropriate. 2014-12-10 22:08:14 +00:00
objcell.c Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
objclosure.c py: Make functions static where appropriate. 2014-12-10 22:08:14 +00:00
objcomplex.c py and libm: Add asinf,acosf; print higher precision for float. 2014-09-11 22:24:45 +01:00
objdict.c py: Make functions static where appropriate. 2014-12-10 22:08:14 +00:00
objenumerate.c Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objexcept.c py: Make gc.enable/disable just control auto-GC; alloc is still allowed. 2014-10-31 21:30:46 +00:00
objfilter.c Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objfloat.c py: Implement divmod, % and proper // for floating point. 2014-09-13 18:43:09 +01:00
objfun.c py: Fix some macros defines; cleanup some includes. 2014-11-05 21:16:41 +00:00
objfun.h py: Store bytecode arg names in bytecode (were in own array). 2014-10-25 20:23:13 +01:00
objgenerator.c py: Make functions static where appropriate. 2014-12-10 22:08:14 +00:00
objgenerator.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
objgetitemiter.c Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
objint_longlong.c py: Rename mp_obj_int_get to mp_obj_int_get_truncated; fix struct.pack. 2014-12-05 23:13:52 +00:00
objint_mpz.c py: Rename mp_obj_int_get to mp_obj_int_get_truncated; fix struct.pack. 2014-12-05 23:13:52 +00:00
objint.c py: Rename mp_obj_int_get to mp_obj_int_get_truncated; fix struct.pack. 2014-12-05 23:13:52 +00:00
objint.h py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
objlist.c py: Make functions static where appropriate. 2014-12-10 22:08:14 +00:00
objlist.h Rename machine_(u)int_t to mp_(u)int_t. 2014-07-03 13:25:24 +01:00
objmap.c Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objmodule.c py: Allow builtins to be overridden. 2014-12-09 16:19:48 +00:00
objmodule.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
objnamedtuple.c py: Make functions static where appropriate. 2014-12-10 22:08:14 +00:00
objnone.c py: Add native json printing using existing print framework. 2014-09-17 22:56:34 +01:00
objobject.c Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objproperty.c Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objrange.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
objreversed.c Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objset.c py: Make map, dict, set use mp_int_t/mp_uint_t exclusively. 2014-08-30 13:23:35 +01:00
objslice.c py: Make functions static where appropriate. 2014-12-10 22:08:14 +00:00
objstr.c py: Make bytes objs work with more str methods; add tests. 2014-12-24 20:28:30 +00:00
objstr.h py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places. 2014-10-03 19:52:22 +01:00
objstringio.c py: Make functions static where appropriate. 2014-12-10 22:08:14 +00:00
objstrunicode.c objstr: Allow to convert any buffer proto object to str. 2014-10-31 00:03:53 +02:00
objtuple.c py: Add native json printing using existing print framework. 2014-09-17 22:56:34 +01:00
objtuple.h Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objtype.c py: Use shorter, static error msgs when ERROR_REPORTING_TERSE enabled. 2014-11-06 17:36:16 +00:00
objtype.h py: Fix builtin callable so it checks user-defined instances correctly. 2014-11-03 16:09:39 +00:00
objzip.c py: Small simplifications in tuple and list accessors. 2014-08-30 15:17:47 +01:00
opmethods.c Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
parse.c py: Remove unnecessary RULE_none and PN_none from parser. 2014-12-20 18:41:59 +00:00
parse.h py: Move to guarded includes for compile.h and related headers. 2014-12-27 16:12:17 +02:00
parsehelper.c py: Optimise lexer by exposing lexer type. 2014-12-05 19:35:18 +00:00
parsehelper.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
parsenum.c py: Use shorter, static error msgs when ERROR_REPORTING_TERSE enabled. 2014-11-06 17:36:16 +00:00
parsenum.h parser: Convert (u)int to mp_(u)int_t. 2014-07-03 14:13:33 +01:00
parsenumbase.c parser: Convert (u)int to mp_(u)int_t. 2014-07-03 14:13:33 +01:00
parsenumbase.h parser: Convert (u)int to mp_(u)int_t. 2014-07-03 14:13:33 +01:00
pfenv_printf.c py: Remove static from definition of pfenv_printf. 2014-12-10 22:11:01 +00:00
pfenv.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
pfenv.h modsys: Add sys.print_exception(exc, file=sys.stdout) function. 2014-12-08 20:25: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: Allow builtins to be overridden. 2014-12-09 16:19:48 +00:00
qstr.c py: Make gc.enable/disable just control auto-GC; alloc is still allowed. 2014-10-31 21:30:46 +00:00
qstr.h py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places. 2014-10-03 19:52:22 +01:00
qstrdefs.h py: Add execfile function (from Python 2); enable in stmhal port. 2014-12-19 13:36:17 +00:00
repl.c py: Make functions static where appropriate. 2014-12-10 22:08:14 +00:00
repl.h Tidy up some configuration options. 2014-05-21 20:32:59 +01:00
runtime0.h py: Move to guarded includes for compile.h and related headers. 2014-12-27 16:12:17 +02:00
runtime.c py: Fix iteration over map in 2 places. 2014-12-21 16:24:09 +00:00
runtime.h py: Remove obsolute function declaration. 2014-11-06 17:31:18 +00:00
scope.c py: Move global/nonlocal decl code to compiler for proper SyntaxError. 2014-12-21 17:26:45 +00:00
scope.h py: Move global/nonlocal decl code to compiler for proper SyntaxError. 2014-12-21 17:26:45 +00:00
sequence.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
showbc.c showbc: Refactor to allow inline instruction printing. 2014-12-27 05:01:21 +02:00
smallint.c py: Fix smallint modulo with negative arguments. 2014-10-22 23:05:50 +01:00
smallint.h Rename machine_(u)int_t to mp_(u)int_t. 2014-07-03 13:25:24 +01:00
stackctrl.c py: Fix function type: () -> (void). 2014-12-10 18:05:42 +00:00
stackctrl.h py: Fix function type: () -> (void). 2014-12-10 18:05:42 +00:00
stream.c py: Rename mp_obj_int_get to mp_obj_int_get_truncated; fix struct.pack. 2014-12-05 23:13:52 +00:00
stream.h stream: Implement seek operation support via ioctl, wrapped in generic method. 2014-11-17 00:16:14 +02:00
unicode.c py: Tidy up a few function declarations. 2014-12-10 22:37:07 +00:00
unicode.h Rename machine_(u)int_t to mp_(u)int_t. 2014-07-03 13:25:24 +01:00
vm.c py: Reduce size of VM exception stack element by 1 machine word. 2014-12-22 12:49:57 +00:00
vmentrytable.h py: Allow to properly disable builtin slice operation. 2014-12-27 17:33:30 +00:00
vstr.c py: Make functions static where appropriate. 2014-12-10 22:08:14 +00:00