aboutsummaryrefslogtreecommitdiff
path: root/py
AgeCommit message (Collapse)Author
2014-03-06py: Add comments to new gc_realloc, it has some bugs.Damien George
2014-03-06py: Small cosmetic changes to gc_realloc.Damien George
2014-03-05Merge pull request #334 from iabdalkader/reallocDamien George
Fix gc_realloc to expand in place
2014-03-05Fix gc_realloc to expand in placemux
* Issue #322
2014-03-03py: Fix overriding of default arguments.Damien George
Addresses issue #327.
2014-03-03py: Unify syntax error handling in compiler; check defualt arg syntax.Damien George
Checks for non-default args following default args, and errors out. Addresses issue #328.
2014-03-03py: Factor and improve issubclass.Damien George
2014-03-03namedtuple: Inherit unary/binary ops from tuple base class.Paul Sokolovsky
2014-03-03Add mp_obj_is_subclass_fast() - intended for fast argument checking.Paul Sokolovsky
I.e. as replacement of MP_OBJ_IS_TYPE(), which takes into account subclassing.
2014-03-03Add basic collections.namedtuple implementation.Paul Sokolovsky
2014-03-01Merge pull request #330 from pfalcon/cortex-aDamien George
Support building "unix" port for ARM
2014-03-01py: Implement bit-shift and not operations for mpz.Damien George
Implement not, shl and shr in mpz library. Add function to create mpzs on the stack, used for memory efficiency when rhs is a small int. Factor out code to parse base-prefix of number into a dedicated function.
2014-03-01nlrthumb.S: Comment out ".cpu cortex-m4", it causes problems on Cortex-A.Paul Sokolovsky
2014-03-01nlr.h: Do proper arch selection, using the same tests as nlr*.S .Paul Sokolovsky
2014-02-26GC: Fix printf formats for debugging; add gc_dump_alloc_table.Damien George
2014-02-26py: Remove more var arg names fro macros with var args.Damien George
2014-02-26py: Reduce size of mp_obj_fun_native_t struct by packing ints.Damien George
2014-02-26py: Take out bitfield entries from their own structure.Damien George
Don't need to wrap bitfields in their own struct. Compiler does the correct thing without it.
2014-02-26py: Remove name of var arg from macros with var args.Damien George
2014-02-26py: Start to implement shl/shr for mpz. Fix return void.Damien George
2014-02-24py: Fix mpn_sub, was increasing wrong source pointer.Damien George
Also change int -> machine_int_t where appropriate.
2014-02-22Add arbitrary precision integer support.Damien George
Some functionality is still missing (eg and, or, bit shift), and some things are buggy (eg subtract).
2014-02-22py: Put number parsing code together in parsenum.c.Damien George
2014-02-22py: Rename strtonum to mp_strtonum.Damien George
strtonum clashes with BSD function of same name, and our version is different so warrants a unique name. Addresses Issue #305.
2014-02-22py: Fix casting and printing of small int.Damien George
2014-02-22parse: Refactor parse node encoding to support full range of small ints.Paul Sokolovsky
Based on suggestion by @dpgeorge at https://github.com/micropython/micropython/pull/313
2014-02-21parse: Note that fact that parser's small ints are different than VM small int.Paul Sokolovsky
Specifically, VM's small ints are 31 bit, while parser's only 28. There's already MP_OBJ_FITS_SMALL_INT(), so, for clarity, rename MP_FIT_SMALL_INT() to MP_PARSE_FITS_SMALL_INT().
2014-02-21showbc: Update for recent int varlen storage refactor.Paul Sokolovsky
TODO: De-duplicate DECODE_UINT, etc. definitions.
2014-02-21__import__: Catch relative import attempts and throw NotImplementedError.Paul Sokolovsky
2014-02-20emitbc: Correct buffer sizes for varlen int encoding.Paul Sokolovsky
Assuming we have truncating (floor) division, way to do ceiling division by N is to use formula (x + (N-1)) / N. Specifically, 63 bits, if stored 7 bits per byte, require exactly 9 bytes. 64 bits overflow that and require 10 bytes.
2014-02-20compile: Add comments ergarding non-implemented relative imports.Paul Sokolovsky
2014-02-20py: Fix type of integer in decoding int.Damien George
2014-02-19Merge pull request #312 from pfalcon/int-varlenDamien George
Support varlen encoding for arbitrary int and uint numbers
2014-02-19Merge pull request #310 from dhylands/pin_mapDamien George
Add pin mapping code.
2014-02-20import: Implement "from pkg.mod import sym" syntax properly.Paul Sokolovsky
http://docs.python.org/3.3/library/functions.html#__import__ : "When the name variable is of the form package.module, normally, the top-level package (the name up till the first dot) is returned, not the module named by name. However, when a non-empty fromlist argument is given, the module named by name is returned."
2014-02-19Bytecode int varlen encoding: support arbitrary values for signed ints too.Paul Sokolovsky
2014-02-19Bytecode uint varlen encoding: support arbitrary values.Paul Sokolovsky
2014-02-17Add pin mapping code.Dave Hylands
This commit also introduces board directories and moves board specific config into the appropriate board directory. boards/stm32f4xx-af.csv was extracted from the STM32F4xx datasheet and hand-tweaked. make-pins.py takes boards/stm32f4xx-af.csv, boards/stm32f4xx-prefix.c, and boards/BOARD-NAME/pins.csv as input and generates the file build/pins_BOARD_NAME.c The generated pin file for PYBOARD4 looks like this: https://gist.github.com/dhylands/9063231 The generated pins file includes all of the supported alternate functions, and includes upsupported alternate functions as comments. See the commnet block at the top of stm/pin_map.c for details on how to use the pin mapper. I also went ahead and modified stm/gpio.c to use the pin mapper.
2014-02-18objint_longlong: Don't assert on invalid syntax, raise SyntaxError instead.Paul Sokolovsky
2014-02-18stm: Initialize sys.path with ["0:/", "0:/src", "0:/lib"].Paul Sokolovsky
This is compatible with what search path was before sys.path refactor, with addition of module library path ("0:/lib").
2014-02-16Support passing positional args as keywords to bytecode functions.Paul Sokolovsky
For this, record argument names along with each bytecode function. The code still includes extensive debug logging support so far.
2014-02-16Make DEBUG_printf() a proper function, implementation is port-dependent.Paul Sokolovsky
In particular, unix outputs to stderr, to allow to run testsuite against micropython built with debug output (by redirecting stderr to /dev/null).
2014-02-16Propagate scope flags refactor to emitcpy.c.Paul Sokolovsky
2014-02-16builtinimport: Get the basic (and only basic) package imports work.Paul Sokolovsky
2014-02-16builtinimport.c: Recognize "namespace package" and error out as unsupported.Paul Sokolovsky
See http://www.python.org/dev/peps/pep-0420/#specification for spec. See https://github.com/micropython/micropython/issues/298 for the discussion of the implemented behavior.
2014-02-16py: Pass keyword arguments to byte code.Damien George
2014-02-16py: Implement *vargs support.Damien George
Addresses issue #295.
2014-02-15py: Revent some long int configuration.Damien George
2014-02-15py: VM never throws an exception, instead returns a status and value.Damien George
Addresses issue #290, and hopefully sets up things to allow generators throwing exceptions, etc.
2014-02-15Small change to configuration of long int.Damien George