circuitpython/py
Damien George c14a81662c py: Add module weak link support.
With this patch a port can enable module weak link support and provide
a dict of qstr->module mapping.  This mapping is looked up only if an
import fails to find the requested module in the filesystem.

This allows to have the builtin module named, eg, usocket, and provide
a weak link of "socket" to the same module, but this weak link can be
overridden if a file by the name "socket.py" is found in the import
path.
2014-10-12 20:18:40 +01:00
..
argcheck.c py: Change uint to mp_uint_t in runtime.h, stackctrl.h, binary.h. 2014-08-30 14:59:21 +01:00
asmarm.c py: Implement native load for viper. 2014-10-12 16:59:29 +01: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: Implement native load for viper. 2014-10-12 16:59:29 +01:00
asmx86.h py: Implement native load for viper. 2014-10-12 16:59:29 +01:00
bc0.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
bc.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
bc.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
binary.c py: Make mp_binary_set_val work on big endian machine. 2014-10-06 15:05:35 +00:00
binary.h py: Make mp_binary_set_val work on big endian machine. 2014-10-06 15:05:35 +00:00
builtin.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
builtin.h modure: Initial module, using re1.5 (which is based on re1 codebase). 2014-10-11 14:36:32 +03:00
builtinevex.c py: Implement proper context save/restore for eval/exec; factor code. 2014-10-05 20:13:34 +01:00
builtinimport.c py: Add module weak link support. 2014-10-12 20:18:40 +01:00
builtintables.c py: Add module weak link support. 2014-10-12 20:18:40 +01:00
builtintables.h py: Add module weak link support. 2014-10-12 20:18:40 +01:00
compile.c py: Make compiler return a proper exception on SyntaxError. 2014-10-05 19:01:34 +01:00
compile.h py: Implement proper context save/restore for eval/exec; factor code. 2014-10-05 20:13:34 +01:00
emit.h py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files. 2014-09-08 23:05:16 +01:00
emitbc.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
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 py: Fix line number printing for file with 1 line. 2014-08-26 23:35:57 +01:00
emitglue.h py: Fix bug where GC collected native/viper/asm function data. 2014-08-24 16:28:17 +01:00
emitinlinethumb.c py: Make macro names in assemblers consistent, and tidy up a bit. 2014-09-29 19:42:06 +01:00
emitnative.c py: Fix x86 viper code generation, mem8 <-> mem16 for load. 2014-10-12 16:10:25 +00:00
emitpass1.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
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, gc: Further reduce heap fragmentation with new, faster gc alloc. 2014-08-28 23:06:38 +01:00
gc.h Rename machine_(u)int_t to mp_(u)int_t. 2014-07-03 13:25:24 +01:00
grammar.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
lexer.c py: Add further checks for failed malloc in lexer init functions. 2014-10-09 16:53:37 +01:00
lexer.h py: Change lexer stream API to return bytes not chars. 2014-07-30 11:46:05 +01:00
lexerstr.c py: Add further checks for failed malloc in lexer init functions. 2014-10-09 16:53:37 +01:00
lexerunix.c py: Add further checks for failed malloc in lexer init functions. 2014-10-09 16:53:37 +01: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: For malloc and vstr functions, use size_t exclusively for int type. 2014-09-25 15:49:26 +01:00
map.c py: Make map, dict, set use mp_int_t/mp_uint_t exclusively. 2014-08-30 13:23:35 +01: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 Merge branch 'teensy-new' of github.com:dhylands/micropython into dhylands-teensy-new 2014-07-02 13:42:37 +01:00
modarray.c py: Allow to disable array module and bytearray type. 2014-06-27 21:02:04 +03:00
modcmath.c py, modcmath: Fix doc comment, and add some more of them. 2014-08-11 22:19:44 +00:00
modcollections.c py: Include mpconfig.h before all other includes. 2014-06-21 22:43:22 +03:00
modgc.c doc: Document gc, sys, math, cmath. 2014-08-10 17:50:28 +01:00
modio.c py: Include mpconfig.h before all other includes. 2014-06-21 22:43:22 +03:00
modmath.c doc: Document gc, sys, math, cmath. 2014-08-10 17:50:28 +01:00
modmicropython.c py: Make MP_OBJ_NEW_SMALL_INT cast arg to mp_int_t itself. 2014-07-31 10:49:14 +01:00
modstruct.c py: Make mp_binary_set_val work on big endian machine. 2014-10-06 15:05:35 +00:00
modsys.c py: Move definition of mp_sys_exit to core. 2014-09-15 15:53:09 +01:00
mpconfig.h py: Add module weak link support. 2014-10-12 20:18:40 +01:00
mpz.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
mpz.h py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +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: Support arm and thumb ARM ISAs, in addition to thumb2. 2014-06-22 01:40:45 +03:00
nlrsetjmp.c Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
nlrthumb.S py: Clean up nlr*.S to make it easier to read; fix clang .bss error. 2014-09-26 13:07:26 +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
obj.c py: Rename mp_builtin_id to mp_obj_id and make it public. 2014-09-07 20:41:09 +01:00
obj.h py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
objarray.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44: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: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places. 2014-10-03 19:52:22 +01:00
objcell.c Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
objclosure.c py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places. 2014-10-03 19:52:22 +01: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: Add native json printing using existing print framework. 2014-09-17 22:56:34 +01: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: Remove IOError since it's deprecated; use OSError instead. 2014-09-30 13:59:30 +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: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places. 2014-10-03 19:52:22 +01:00
objfun.h Rename machine_(u)int_t to mp_(u)int_t. 2014-07-03 13:25:24 +01:00
objgenerator.c py: Use variable length encoded uints in more places in bytecode. 2014-09-04 14:44:01 +01: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: Enable struct/binary-helper to parse q and Q sized ints. 2014-09-10 22:10:33 +01:00
objint_mpz.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
objint.c py: Make int.to_bytes work on big endian machine. 2014-10-06 13:45:34 +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: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44: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: Print imported module's location (__file__) if available. 2014-09-08 10:45:23 +01:00
objmodule.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
objnamedtuple.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44: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 Rename bultins config variables to MICROPY_PY_BUILTINS_*. 2014-06-01 13:32:54 +01:00
objstr.c py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places. 2014-10-03 19:52:22 +01: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 Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objstrunicode.c py: Simplify JSON str printing (while still conforming to JSON spec). 2014-09-25 17:35:56 +01: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: Make tuple and list use mp_int_t/mp_uint_t. 2014-08-30 14:04:14 +01:00
objtype.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01: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: Free non-interned strings in the parser when not needed. 2014-09-23 15:31:56 +00:00
parse.h py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
parsehelper.c lexer: Convert type (u)int to mp_(u)int_t. 2014-07-03 13:47:47 +01:00
parsehelper.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
parsenum.c parser: Convert (u)int to mp_(u)int_t. 2014-07-03 14:13:33 +01: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: Make print() accept "file" argument, and actually print to stream. 2014-07-19 21:27:22 +03:00
pfenv.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
pfenv.h py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +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 modure: Make sure that re1.5 compiled in only of modure itself is enabled. 2014-10-12 03:40:20 +03:00
qstr.c py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places. 2014-10-03 19:52:22 +01: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 modure: Initial module, using re1.5 (which is based on re1 codebase). 2014-10-11 14:36:32 +03:00
repl.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
repl.h Tidy up some configuration options. 2014-05-21 20:32:59 +01:00
runtime0.h py: Make native emitter handle multi-compare and not/is not/not in ops. 2014-09-23 14:15:45 +00:00
runtime.c py: Add #if guard around gc-specific code. 2014-10-09 16:44:43 +01:00
runtime.h py: Change uint to mp_uint_t in runtime.h, stackctrl.h, binary.h. 2014-08-30 14:59:21 +01:00
scope.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
scope.h py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files. 2014-09-08 23:05:16 +01:00
sequence.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
showbc.c py: Use UINT_FMT instead of %d. 2014-10-03 17:54:25 +00:00
smallint.c Rename machine_(u)int_t to mp_(u)int_t. 2014-07-03 13:25:24 +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: Change uint to mp_uint_t in runtime.h, stackctrl.h, binary.h. 2014-08-30 14:59:21 +01:00
stackctrl.h py: Change uint to mp_uint_t in runtime.h, stackctrl.h, binary.h. 2014-08-30 14:59:21 +01:00
stream.c py: Small cleanup in stream.c. 2014-08-22 18:30:02 +01:00
stream.h stream: Factor out mp_stream_write() method to write a memstring to stream. 2014-07-13 23:14:32 +03:00
unicode.c Rename machine_(u)int_t to mp_(u)int_t. 2014-07-03 13:25:24 +01:00
unicode.h Rename machine_(u)int_t to mp_(u)int_t. 2014-07-03 13:25:24 +01:00
vm.c py: Use variable length encoded uints in more places in bytecode. 2014-09-04 14:44:01 +01:00
vmentrytable.h Fix some unused variables, and silence a clang warning about initialization override in vmentrytable.h 2014-05-12 09:06:18 +02:00
vstr.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00