summaryrefslogtreecommitdiffstatshomepage
path: root/py
Commit message (Collapse)AuthorAge
* py, compiler: Implement compiling of relative imports.Damien George2014-04-10
|
* py: Fix lexer so it doesn't allow ! and ..Damien George2014-04-10
|
* py: Make form-feed character a space (following C isspace).Damien George2014-04-10
| | | | Eg, in CPython stdlib, email/header.py has a form-feed character.
* py, lexer: Fix parsing of raw strings (allow escaping of quote).Damien George2014-04-10
|
* Merge pull request #455 from lurch/exception-messagesDamien George2014-04-09
|\ | | | | Remove exception name from inside the exception message
| * Remove exception name from inside the exception messageAndrew Scheller2014-04-09
| | | | | | | | | | This prevents micropython printing exception messages like ImportError: ImportError: No module named 'foo'
* | Merge branch 'str-index' of github.com:xbe/micropython into xbe-str-indexDamien George2014-04-09
|\ \
| * | py: Implement str.[r]index() and add tests for them.xbe2014-04-08
| | |
| * | py: Update comment in str.replace().xbe2014-04-08
| | |
* | | py: Implement complex division.Damien George2014-04-09
| | |
* | | py: Oops, fix emitcpy to compile with latest changes.Damien George2014-04-09
| | |
* | | py: Add mp_obj_is_integer; make mp_get_index check for long int.Damien George2014-04-09
| | | | | | | | | | | | | | | 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.
* | | py: Clear state to MP_OBJ_NULL before executing byte code.Damien George2014-04-09
| | |
* | | py: str.join can now take arbitrary iterable as argument.Damien George2014-04-09
| | |
* | | py: Generators can have their locals closed over.Damien George2014-04-09
| |/ |/|
* | py: Properly implement deletion of locals and derefs, and detect errors.Damien George2014-04-09
| | | | | | | | | | Needed to reinstate 2 delete opcodes, to specifically check that a local is not deleted twice.
* | py, compiler: Turn id_info_t.param into a set of flags.Damien George2014-04-09
| | | | | | | | So we can add more flags.
* | py, compile: Simplify initialisation of compiler structure.Damien George2014-04-09
| |
* | py, compile: Reduce size of compiler structure.Damien George2014-04-09
| |
* | py, compile: Combine have_star_arg, have_dbl_star_arg into star_flags.Damien George2014-04-09
| | | | | | | | Small reduction in ROM, heap and stack usage.
* | py, compiler: Clean up and compress scope/compile structures.Damien George2014-04-09
| | | | | | | | | | Convert int types to uint where sensible, and then to uint8_t or uint16_t where possible to reduce RAM usage.
* | gc.c: Remove superfluous typedef (bute defined in misc.h).Paul Sokolovsky2014-04-09
| |
* | py: Make it so that printing a small int does not allocate heap memory.Damien George2014-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'master' of github.com:micropython/micropythonDamien George2014-04-08
|\ \
| * | objint: Implement int.from_bytes() class method and .to_bytes() method.Paul Sokolovsky2014-04-09
| | | | | | | | | | | | | | | | | | | | | 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.
| * | py: Add mp_get_buffer(), mp_get_buffer_raise() convenience functions to API.Paul Sokolovsky2014-04-09
| | |
* | | py: Add comment mpz function, and free memory used for string printing.Damien George2014-04-08
|/ /
* | py: Reinstate old pfenv_print_int function for stmhal's printf.Damien George2014-04-08
| |
* | py: Remove obsolete mp_delete_subscr declaration.Damien George2014-04-08
| |
* | py: Remove DELETE_SUBSCR opcode, combine with STORE_SUBSCR.Damien George2014-04-08
| | | | | | | | | | This makes the runtime and object APIs more consistent. mp_store_subscr functionality now moved into objects (ie list and dict store_item).
* | Merge branch 'master' of github.com:micropython/micropythonDamien George2014-04-08
|\ \
| * | py: Make bytearray a proper type.Paul Sokolovsky2014-04-08
| |/
* / py: Finish implementation of all del opcodes.Damien George2014-04-08
|/ | | | | | | 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.
* Merge branch 'master' of github.com:micropython/micropythonDamien George2014-04-08
|\
| * bytes: Support buffer protocol.Paul Sokolovsky2014-04-08
| |
| * bytearray: Support bytearray(int) constructor.Paul Sokolovsky2014-04-08
| | | | | | | | To create bytearray of given length.
* | py: Improve inline assembler; add a few more opcodes.Damien George2014-04-08
| |
* | py: implement UNPACK_EX byte code (for: a, *b, c = d)Damien George2014-04-08
| |
* | py: Raise exception for unimplemented byte codes.Damien George2014-04-08
| |
* | py: Improve compiler syntax errors; catch more errors.Damien George2014-04-08
|/
* Add a check for NULL nlr_top in nlr_jump.Damien George2014-04-08
| | | | | | If no nlr_buf has been pushed, and an nlr_jump is called, then control is transferred to nlr_jump_fail (which should bail out with a fatal error).
* py: Continue line if last character is backslash.Damien George2014-04-08
|
* py: Improve GC locking/unlocking, and make it part of the API.Damien George2014-04-08
|
* Merge pull request #451 from lurch/repr-fixesDamien George2014-04-08
|\ | | | | Display \r and \t escape codes in string repr
| * Display \r and \t escape codes in string reprAndrew Scheller2014-04-08
| |
* | Improve REPL detecting when input needs to continue.Damien George2014-04-08
|/ | | | | | | | Full CPython compatibility with this requires actually parsing the input so far collected, and if it fails parsing due to lack of tokens, then continue collecting input. It's not worth doing it this way. Not having compatibility at this level does not hurt the goals of Micro Python.
* py: Rename pfenv_print_int to pfenv_print_mp_int, and add back former.Damien George2014-04-08
| | | | | | | | | | | | | | stmhal relies on pfenv_* to implement its printf. Thus, it needs a pfenv_print_int which prints a proper 32-bit integer. With latest change to pfenv, this function became one that took mp_obj_t, and extracted the integer value from that object. To fix temporarily, pfenv_print_int has been renamed to pfenv_print_mp_int (to indicate it takes a mp_obj_t for the int), and pfenv_print_int has been added (which takes a normal C int). Currently, pfenv_print_int proxies to pfenv_print_mp_int, but this means it looses the MSB. Need to find a way to fix this, but the only way I can think of will duplicate lots of code.
* Fix truncation problem when using longlong implementation.Dave Hylands2014-04-07
|
* Add string formatting support for longlong and mpz.Dave Hylands2014-04-07
|
* Merge pull request #439 from lurch/makefile-tweaksDamien George2014-04-07
|\ | | | | Makefile tweaks