summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-04-10py: Add missing dummy functions to pass 1 emitter.Damien George
2014-04-10py: 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-10Make lexerunix not allocate RAM for the entire script.Damien George
Now reads in small chunks at a time.
2014-04-10py: Add emergency exception object for when heap allocation fails.Damien George
2014-04-10py: Make labels unsigned ints (converted from int).Damien George
Labels should never be negative, and this modified type signature reflects that.
2014-04-10py: Fix modstruct to compile on 64-bit machine.Damien George
2014-04-10Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-04-10py, compiler: Implement compiling of relative imports.Damien George
2014-04-10py: Fix lexer so it doesn't allow ! and ..Damien George
2014-04-10py: 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-10py, lexer: Fix parsing of raw strings (allow escaping of quote).Damien George
2014-04-10unix: Add option to only compile, and not execute code.Damien George
2014-04-10objfun: Fix default arguments filling loop, was broken in presense of kwargs.Paul Sokolovsky
2014-04-10objfun: More debug logging when calling a bytecode function.Paul Sokolovsky
2014-04-10py: 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-10makeqstrdata.py: Add support for conditionally defined qstrs.Paul Sokolovsky
Syntax is usual C #if*/#endif, but each qstr must be wrapped individually.
2014-04-10objstr: Add TODO-optimize for using .join with arbitrary iterable.Paul Sokolovsky
2014-04-09Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-04-09stmhal: Make /src/main.py just /main.py; allow SD to be used as root device.Damien George
2014-04-09Merge pull request #455 from lurch/exception-messagesDamien George
Remove exception name from inside the exception message
2014-04-09Merge branch 'str-index' of github.com:xbe/micropython into xbe-str-indexDamien George
2014-04-09py: Implement complex division.Damien George
2014-04-09py: Oops, fix emitcpy to compile with latest changes.Damien George
2014-04-09Remove exception name from inside the exception messageAndrew Scheller
This prevents micropython printing exception messages like ImportError: ImportError: No module named 'foo'
2014-04-09py: 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-09py: Clear state to MP_OBJ_NULL before executing byte code.Damien George
2014-04-09py: str.join can now take arbitrary iterable as argument.Damien George
2014-04-09py: Generators can have their locals closed over.Damien George
2014-04-09py: 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-09py, compiler: Turn id_info_t.param into a set of flags.Damien George
So we can add more flags.
2014-04-09py, compile: Simplify initialisation of compiler structure.Damien George
2014-04-09py, compile: Reduce size of compiler structure.Damien George
2014-04-09py, compile: Combine have_star_arg, have_dbl_star_arg into star_flags.Damien George
Small reduction in ROM, heap and stack usage.
2014-04-09py, 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-09Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-04-09stmhal: Update windows driver; \r\n newlines and addition USB id.Damien George
2014-04-09gc.c: Remove superfluous typedef (bute defined in misc.h).Paul Sokolovsky
2014-04-09stmhal: Add windows cdc .inf driver to flash filesystem.Damien George
2014-04-09stmhal: Improve help() function.Damien George
2014-04-09stmhal: Add functionality to Servo object.Damien George
Can now calibrate, set pulse width, angle and speed.
2014-04-09Merge pull request #454 from dhylands/make-pins-multiple-named-pinsDamien George
Fix make-pins.py to support having multiple names for a pin.
2014-04-08Fix make-pins.py to support having multiple names for a pin.Dave Hylands
SW and X17 now both map to PB3
2014-04-09README: Python is required during build process unconditionally.Paul Sokolovsky
Fixes #449.
2014-04-08py: 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-08Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-04-08py: Add comment mpz function, and free memory used for string printing.Damien George
2014-04-09objint: 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-09py: Add mp_get_buffer(), mp_get_buffer_raise() convenience functions to API.Paul Sokolovsky
2014-04-08tests: Oops: fix del-attr.Damien George
2014-04-08stmhal: Make USRSW re-register the EXTI callback each time it's set.Damien George