Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-04-10 | py: Add missing dummy functions to pass 1 emitter. | Damien George | |
2014-04-10 | py: Check explicitly for memory allocation failure in parser. | Damien George | |
Previously, a failed malloc/realloc would throw an exception, which was not caught. I think it's better to keep the parser free from NLR (exception throwing), hence this patch. | |||
2014-04-10 | Make lexerunix not allocate RAM for the entire script. | Damien George | |
Now reads in small chunks at a time. | |||
2014-04-10 | py: Add emergency exception object for when heap allocation fails. | Damien George | |
2014-04-10 | py: Make labels unsigned ints (converted from int). | Damien George | |
Labels should never be negative, and this modified type signature reflects that. | |||
2014-04-10 | py: Fix modstruct to compile on 64-bit machine. | Damien George | |
2014-04-10 | Merge branch 'master' of github.com:micropython/micropython | Damien George | |
2014-04-10 | py, compiler: Implement compiling of relative imports. | Damien George | |
2014-04-10 | py: Fix lexer so it doesn't allow ! and .. | Damien George | |
2014-04-10 | py: Make form-feed character a space (following C isspace). | Damien George | |
Eg, in CPython stdlib, email/header.py has a form-feed character. | |||
2014-04-10 | py, lexer: Fix parsing of raw strings (allow escaping of quote). | Damien George | |
2014-04-10 | objfun: Fix default arguments filling loop, was broken in presense of kwargs. | Paul Sokolovsky | |
2014-04-10 | objfun: More debug logging when calling a bytecode function. | Paul Sokolovsky | |
2014-04-10 | py: Start implementing "struct" module. | Paul Sokolovsky | |
Only calcsize() and unpack() functions provided so far, for little-endian byte order. Format strings don't support repition spec (like "2b3i"). Unfortunately, dealing with all the various binary type sizes and alignments will lead to quite a bloated "binary" helper functions - if optimizing for speed. Need to think if using dynamic parametrized algos makes more sense. | |||
2014-04-10 | makeqstrdata.py: Add support for conditionally defined qstrs. | Paul Sokolovsky | |
Syntax is usual C #if*/#endif, but each qstr must be wrapped individually. | |||
2014-04-10 | objstr: Add TODO-optimize for using .join with arbitrary iterable. | Paul Sokolovsky | |
2014-04-09 | Merge pull request #455 from lurch/exception-messages | Damien George | |
Remove exception name from inside the exception message | |||
2014-04-09 | Merge branch 'str-index' of github.com:xbe/micropython into xbe-str-index | Damien George | |
2014-04-09 | py: Implement complex division. | Damien George | |
2014-04-09 | py: Oops, fix emitcpy to compile with latest changes. | Damien George | |
2014-04-09 | Remove exception name from inside the exception message | Andrew Scheller | |
This prevents micropython printing exception messages like ImportError: ImportError: No module named 'foo' | |||
2014-04-09 | py: Add mp_obj_is_integer; make mp_get_index check for long int. | Damien George | |
mp_obj_is_integer should be used to check if an object is of integral type. It returns true for bool, small int and long int. | |||
2014-04-09 | py: Clear state to MP_OBJ_NULL before executing byte code. | Damien George | |
2014-04-09 | py: str.join can now take arbitrary iterable as argument. | Damien George | |
2014-04-09 | py: Generators can have their locals closed over. | Damien George | |
2014-04-09 | py: Properly implement deletion of locals and derefs, and detect errors. | Damien George | |
Needed to reinstate 2 delete opcodes, to specifically check that a local is not deleted twice. | |||
2014-04-09 | py, compiler: Turn id_info_t.param into a set of flags. | Damien George | |
So we can add more flags. | |||
2014-04-09 | py, compile: Simplify initialisation of compiler structure. | Damien George | |
2014-04-09 | py, compile: Reduce size of compiler structure. | Damien George | |
2014-04-09 | py, compile: Combine have_star_arg, have_dbl_star_arg into star_flags. | Damien George | |
Small reduction in ROM, heap and stack usage. | |||
2014-04-09 | py, compiler: Clean up and compress scope/compile structures. | Damien George | |
Convert int types to uint where sensible, and then to uint8_t or uint16_t where possible to reduce RAM usage. | |||
2014-04-09 | gc.c: Remove superfluous typedef (bute defined in misc.h). | Paul Sokolovsky | |
2014-04-08 | py: Make it so that printing a small int does not allocate heap memory. | Damien George | |
With the implementation of proper string formatting, code to print a small int was delegated to mpz_as_str_inpl (after first converting the small int to an mpz using stack memory). But mpz_as_str_inpl allocates heap memory to do the conversion, so small ints needed heap memory just to be printed. This fix has a separate function to print small ints, which does not allocate heap, and allocates less stack. String formatting, printf and pfenv are now large beasts, with some semi-duplicated code. | |||
2014-04-08 | Merge branch 'master' of github.com:micropython/micropython | Damien George | |
2014-04-08 | py: Add comment mpz function, and free memory used for string printing. | Damien George | |
2014-04-09 | objint: Implement int.from_bytes() class method and .to_bytes() method. | Paul Sokolovsky | |
These two are apprerently the most concise and efficient way to convert int to/from bytes in Python. The alternatives are struct and array modules, but methods using them are more verbose in Python code and less efficient in memory/cycles. | |||
2014-04-09 | py: Add mp_get_buffer(), mp_get_buffer_raise() convenience functions to API. | Paul Sokolovsky | |
2014-04-08 | py: Reinstate old pfenv_print_int function for stmhal's printf. | Damien George | |
2014-04-08 | py: Remove obsolete mp_delete_subscr declaration. | Damien George | |
2014-04-08 | py: Remove DELETE_SUBSCR opcode, combine with STORE_SUBSCR. | Damien George | |
This makes the runtime and object APIs more consistent. mp_store_subscr functionality now moved into objects (ie list and dict store_item). | |||
2014-04-08 | Merge branch 'master' of github.com:micropython/micropython | Damien George | |
2014-04-08 | py: Finish implementation of all del opcodes. | Damien George | |
At this point, all opcodes are now implemented! Some del opcodes have been combined with store opcodes, with the value to store being MP_OBJ_NULL. | |||
2014-04-08 | py: Make bytearray a proper type. | Paul Sokolovsky | |
2014-04-08 | py: Implement str.[r]index() and add tests for them. | xbe | |
2014-04-08 | py: Update comment in str.replace(). | xbe | |
2014-04-08 | Merge branch 'master' of github.com:micropython/micropython | Damien George | |
2014-04-08 | py: Improve inline assembler; add a few more opcodes. | Damien George | |
2014-04-08 | py: implement UNPACK_EX byte code (for: a, *b, c = d) | Damien George | |
2014-04-08 | bytes: Support buffer protocol. | Paul Sokolovsky | |
2014-04-08 | bytearray: Support bytearray(int) constructor. | Paul Sokolovsky | |
To create bytearray of given length. |