circuitpython/py
Damien George 7d414a1b52 py: Parse big-int/float/imag constants directly in parser.
Previous to this patch, a big-int, float or imag constant was interned
(made into a qstr) and then parsed at runtime to create an object each
time it was needed.  This is wasteful in RAM and not efficient.  Now,
these constants are parsed straight away in the parser and turned into
objects.  This allows constants with large numbers of digits (so
addresses issue #1103) and takes us a step closer to #722.
2015-02-08 01:57:40 +00: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: Allocate memory for assembled code at start of PASS_EMIT. 2015-01-14 00:38:33 +00:00
asmthumb.h py: Add guarded includes for asm-based headers. 2015-01-01 18:07:43 +00:00
asmx64.c py: Allow asmx64 to compile with -Wsign-compare. 2015-01-22 14:08:58 +00:00
asmx64.h py: Allow asmx64 to compile with -Wsign-compare. 2015-01-22 14:08:58 +00:00
asmx86.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00: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: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00: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: Can compile with -Wmissing-declarations and -Wmissing-prototypes. 2015-01-12 22:30:49 +00:00
builtinevex.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
builtinimport.c py: Change vstr_null_terminate -> vstr_null_terminated_str, returns str. 2015-01-29 13:57:23 +00:00
compile.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +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: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +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: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
emitnative.c py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +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: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +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: Make REPL printing function print repr of object, not str. 2015-01-28 23:53:13 +00: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: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
modmath.c py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
modmicropython.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +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 py: Add MICROPY_PY_ALL_SPECIAL_METHODS and __iadd__ special method under it. 2015-01-31 00:35:56 +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 py: Put all global state together in state structures. 2015-01-07 20:33:00 +00: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: Check for NDEBUG using #ifdef rather than #if. 2015-01-25 18:35:54 +00:00
obj.h py: Check for NDEBUG using #ifdef rather than #if. 2015-01-25 18:35:54 +00:00
objarray.c py, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00: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: Add mp_obj_new_str_from_vstr, and use it where relevant. 2015-01-21 23:17:27 +00:00
objexcept.h py: Put all global state together in state structures. 2015-01-07 20:33:00 +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, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00: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: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
objint.h py: Add float-to-int classification function 2015-01-24 20:54:28 +00:00
objlist.c py: Make list.sort keep stack usage within O(log(N)) bound. 2015-02-02 15:14:22 +00:00
objlist.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +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 py: Change vstr_null_terminate -> vstr_null_terminated_str, returns str. 2015-01-29 13:57:23 +00: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, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +00:00
objtuple.h py: Move to guarded includes, everywhere in py/ core. 2015-01-01 20:32:09 +00:00
objtype.c py: Fix instance lookup, since object is not a real type. 2015-02-08 00:42:13 +00: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: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +00:00
parse.h py: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +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, unix: Allow to compile with -Wunused-parameter. 2015-01-20 12:47:20 +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, unix: Allow to compile with -Wsign-compare. 2015-01-16 17:47:07 +00:00
qstr.h py: Add qstr cfg capability; generate QSTR_NULL and QSTR_ from script. 2015-01-11 22:06:53 +00:00
qstrdefs.h py: Add MICROPY_PY_ALL_SPECIAL_METHODS and __iadd__ special method under it. 2015-01-31 00:35:56 +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: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +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 py: Put all global state together in state structures. 2015-01-07 20:33:00 +00: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: Parse big-int/float/imag constants directly in parser. 2015-02-08 01:57:40 +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