Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | py: Put number parsing code together in parsenum.c. | Damien George | 2014-02-22 |
| | |||
* | Support passing positional args as keywords to bytecode functions. | Paul Sokolovsky | 2014-02-16 |
| | | | | | For this, record argument names along with each bytecode function. The code still includes extensive debug logging support so far. | ||
* | Make DEBUG_printf() a proper function, implementation is port-dependent. | Paul Sokolovsky | 2014-02-16 |
| | | | | | In particular, unix outputs to stderr, to allow to run testsuite against micropython built with debug output (by redirecting stderr to /dev/null). | ||
* | py: Implement *vargs support. | Damien George | 2014-02-16 |
| | | | | Addresses issue #295. | ||
* | py: Improve exception bases, reduces ROM usage. | Damien George | 2014-02-15 |
| | | | | Thanks to @pfalcon for the tip! | ||
* | py: Pass all scope flags through to runtime. | Damien George | 2014-02-15 |
| | |||
* | Implement proper exception type hierarchy. | Damien George | 2014-02-15 |
| | | | | | | | | | | | | | | Each built-in exception is now a type, with base type BaseException. C exceptions are created by passing a pointer to the exception type to make an instance of. When raising an exception from the VM, an instance is created automatically if an exception type is raised (as opposed to an exception instance). Exception matching (RT_BINARY_OP_EXCEPTION_MATCH) is now proper. Handling of parse error changed to match new exceptions. mp_const_type renamed to mp_type_type for consistency. | ||
* | Merge pull request #288 from pfalcon/port-builtins | Damien George | 2014-02-14 |
|\ | | | | | Allow ports to define statically builtin functions. | ||
| * | Allow ports to define statically builtin functions. | Paul Sokolovsky | 2014-02-14 |
| | | | | | | | | Convert unix open() to such. | ||
* | | Implement "from module import *" construct. | Paul Sokolovsky | 2014-02-14 |
|/ | |||
* | Replace global "static" -> "STATIC", to allow "analysis builds". Part 2. | Paul Sokolovsky | 2014-02-12 |
| | |||
* | Merge branch 'master' of github.com:micropython/micropython | Damien George | 2014-02-10 |
|\ | |||
| * | Add NotImplementedError. | Paul Sokolovsky | 2014-02-09 |
| | | |||
* | | py: Add some qstrs to the global table. | Damien George | 2014-02-08 |
|/ | |||
* | py: Put builtins into ROM table. | Damien George | 2014-02-06 |
| | | | | | | | Linear table at the moment, to eventually be replaced with a hash table generated by a preprocessor. Dynamic table is retained so that builtins can be overridden. | ||
* | Add staticmethod and classmethod to builtin namespace. | Damien George | 2014-02-06 |
| | |||
* | Merge pull request #262 from pfalcon/sys-path | Damien George | 2014-02-05 |
|\ | | | | | Implement sys.path support | ||
| * | Implement support for sys.path when loading modules. | Paul Sokolovsky | 2014-02-05 |
| | | | | | | | | | | | | | | | | sys.path is not initialized by rt_init(), that's left for platform-specific startup code. (For example, bare metal port may have some hardcoded defaults, and let user change sys.path directly; while port for OS with environment feature can take path from environment). If it's not explicitly initialized, modules will be imported only from a current directory. | ||
* | | py: Add built-in super. | Damien George | 2014-02-05 |
|/ | |||
* | Use qstr id to create sys module. | Paul Sokolovsky | 2014-02-04 |
| | |||
* | Add ImportError. | Paul Sokolovsky | 2014-02-04 |
| | |||
* | Expose __import__() function. | Paul Sokolovsky | 2014-02-04 |
| | |||
* | py: Implement builtin exec. | Damien George | 2014-02-03 |
| | |||
* | py: Add very basic implementation of dir() builtin. | Damien George | 2014-02-02 |
| | | | | Only works on modules and class instances. | ||
* | Merge branch 'xbe-master' | Damien George | 2014-02-02 |
|\ | |||
| * | Implement and add tests for the id() builtin function. | xbe | 2014-02-01 |
| | | |||
* | | Merge branch 'master' of github.com:micropython/micropython | Damien George | 2014-02-02 |
|\| | |||
| * | rt_unpack_sequence(): Support generic iterables. | Paul Sokolovsky | 2014-02-02 |
| | | |||
* | | py: Partially fix native emitter to work with latest runtime. | Damien George | 2014-02-02 |
|/ | | | | | Native emitter has been broken since stack order has changed from reverse to standard. This fix gets it partially working. | ||
* | Tidy up some comments. | Damien George | 2014-02-01 |
| | |||
* | py: Tidy up BINARY_OPs; negation done by special NOT bytecode. | Damien George | 2014-02-01 |
| | | | | | IS_NOT and NOT_IN are now compiled to IS + NOT and IN + NOT, with a new special NOT bytecode. | ||
* | Implement default function arguments (for Python functions). | Paul Sokolovsky | 2014-02-01 |
| | | | | | | | | TODO: Decide if we really need separate bytecode for creating functions with default arguments - we would need same for closures, then there're keywords arguments too. Having all combinations is a small exponential explosion, likely we need just 2 cases - simplest (no defaults, no kw), and full - defaults & kw. | ||
* | py: Simplified rt_call_function_n_kw. | Damien George | 2014-01-31 |
| | |||
* | Fix SIGSEV when running "a"() | Markus Siemens | 2014-01-31 |
| | | | | | | rt_call_function_n_kw did check for integers but not for strings being called. Added a check so running "a"() won't SIGSEV but throw an exception. | ||
* | py: Add MICROPY_ENABLE_FLOAT around a float specific piece of code. | Damien George | 2014-01-31 |
| | |||
* | py: Improve __bool__ and __len__ dispatch; add slots for them. | Damien George | 2014-01-30 |
| | |||
* | Implement __bool__ and __len__ via unary_op virtual method for all types. | Paul Sokolovsky | 2014-01-30 |
| | | | | | | | __bool__() and __len__() are just the same as __neg__() or __invert__(), and require efficient dispatching implementation (not requiring search/lookup). type->unary_op() is just the right choice for this short of adding standalone virtual method(s) to already big mp_obj_type_t structure. | ||
* | py: Simplify fastn in VM; reduce size of unique code struct. | Damien George | 2014-01-29 |
| | | | | | | | | | | We still have FAST_[0,1,2] byte codes, but they now just access the fastn array (before they had special local variables). It's now simpler, a bit faster, and uses a bit less stack space (on STM at least, which is most important). The only reason now to keep FAST_[0,1,2] byte codes is for compressed byte code size. | ||
* | py: Fix bug with LOAD_METHOD; fix int->machine_int_t for small int. | Damien George | 2014-01-29 |
| | | | | | | | | LOAD_METHOD bug was: emitbc did not correctly calculate the amount of stack usage for a LOAD_METHOD operation. small int bug was: int was being used to pass small ints, when it should have been machine_int_t. | ||
* | py: Implement 'not' in compiler, and improve rt_is_true. | Damien George | 2014-01-28 |
| | |||
* | Don't pre-import array module. | Paul Sokolovsky | 2014-01-28 |
| | |||
* | py: Add unary op not for NoneType, bool, tuple, list, dict; fix for int. | Damien George | 2014-01-27 |
| | |||
* | Merge branch 'master' of github.com:micropython/micropython | Damien George | 2014-01-25 |
|\ | |||
| * | rt_deinit(): Finalize some maps. | Paul Sokolovsky | 2014-01-25 |
| | | |||
* | | py: Implement iterator support for object that has __getitem__. | Damien George | 2014-01-25 |
|/ | | | | Addresses Issue #203. | ||
* | Add basic implementation of bytes type, piggybacking on str. | Paul Sokolovsky | 2014-01-24 |
| | | | | | This reuses as much str implementation as possible, from this we can make them more separate as needed. | ||
* | py: Implement bool unary op; tidy up unary op dispatch. | Damien George | 2014-01-23 |
| | |||
* | py: Initialise loaded_module map in rt_init. | Damien George | 2014-01-22 |
| | | | | | STM port crashes without this re-init. There should not be any state in the core py/ code that relies on pre-initialised data. | ||
* | Second stage of qstr revamp: uPy str object can be qstr or not. | Damien George | 2014-01-22 |
| | |||
* | Merge branch 'master' of github.com:micropython/micropython | Damien George | 2014-01-21 |
|\ | | | | | | | | | | | | | | | | | Conflicts: py/objstr.c py/py.mk py/stream.c unix/main.c unix/socket.c |