summaryrefslogtreecommitdiffstatshomepage
path: root/py
Commit message (Collapse)AuthorAge
* namedtuple: Inherit unary/binary ops from tuple base class.Paul Sokolovsky2014-03-03
|
* Add mp_obj_is_subclass_fast() - intended for fast argument checking.Paul Sokolovsky2014-03-03
| | | | I.e. as replacement of MP_OBJ_IS_TYPE(), which takes into account subclassing.
* Add basic collections.namedtuple implementation.Paul Sokolovsky2014-03-03
|
* Merge pull request #330 from pfalcon/cortex-aDamien George2014-03-01
|\ | | | | Support building "unix" port for ARM
| * nlrthumb.S: Comment out ".cpu cortex-m4", it causes problems on Cortex-A.Paul Sokolovsky2014-03-01
| |
| * nlr.h: Do proper arch selection, using the same tests as nlr*.S .Paul Sokolovsky2014-03-01
| |
* | py: Implement bit-shift and not operations for mpz.Damien George2014-03-01
|/ | | | | | 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.
* GC: Fix printf formats for debugging; add gc_dump_alloc_table.Damien George2014-02-26
|
* py: Remove more var arg names fro macros with var args.Damien George2014-02-26
|
* py: Reduce size of mp_obj_fun_native_t struct by packing ints.Damien George2014-02-26
|
* py: Take out bitfield entries from their own structure.Damien George2014-02-26
| | | | | Don't need to wrap bitfields in their own struct. Compiler does the correct thing without it.
* py: Remove name of var arg from macros with var args.Damien George2014-02-26
|
* py: Start to implement shl/shr for mpz. Fix return void.Damien George2014-02-26
|
* py: Fix mpn_sub, was increasing wrong source pointer.Damien George2014-02-24
| | | | Also change int -> machine_int_t where appropriate.
* Add arbitrary precision integer support.Damien George2014-02-22
| | | | | Some functionality is still missing (eg and, or, bit shift), and some things are buggy (eg subtract).
* py: Put number parsing code together in parsenum.c.Damien George2014-02-22
|
* py: Rename strtonum to mp_strtonum.Damien George2014-02-22
| | | | | strtonum clashes with BSD function of same name, and our version is different so warrants a unique name. Addresses Issue #305.
* py: Fix casting and printing of small int.Damien George2014-02-22
|
* parse: Refactor parse node encoding to support full range of small ints.Paul Sokolovsky2014-02-22
| | | | | Based on suggestion by @dpgeorge at https://github.com/micropython/micropython/pull/313
* parse: Note that fact that parser's small ints are different than VM small int.Paul Sokolovsky2014-02-21
| | | | | | 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().
* showbc: Update for recent int varlen storage refactor.Paul Sokolovsky2014-02-21
| | | | TODO: De-duplicate DECODE_UINT, etc. definitions.
* __import__: Catch relative import attempts and throw NotImplementedError.Paul Sokolovsky2014-02-21
|
* emitbc: Correct buffer sizes for varlen int encoding.Paul Sokolovsky2014-02-20
| | | | | | | 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.
* compile: Add comments ergarding non-implemented relative imports.Paul Sokolovsky2014-02-20
|
* py: Fix type of integer in decoding int.Damien George2014-02-20
|
* Merge pull request #312 from pfalcon/int-varlenDamien George2014-02-19
|\ | | | | Support varlen encoding for arbitrary int and uint numbers
| * Bytecode int varlen encoding: support arbitrary values for signed ints too.Paul Sokolovsky2014-02-19
| |
| * Bytecode uint varlen encoding: support arbitrary values.Paul Sokolovsky2014-02-19
| |
* | Merge pull request #310 from dhylands/pin_mapDamien George2014-02-19
|\ \ | | | | | | Add pin mapping code.
| * | Add pin mapping code.Dave Hylands2014-02-17
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* / import: Implement "from pkg.mod import sym" syntax properly.Paul Sokolovsky2014-02-20
|/ | | | | | | | 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."
* objint_longlong: Don't assert on invalid syntax, raise SyntaxError instead.Paul Sokolovsky2014-02-18
|
* stm: Initialize sys.path with ["0:/", "0:/src", "0:/lib"].Paul Sokolovsky2014-02-18
| | | | | This is compatible with what search path was before sys.path refactor, with addition of module library path ("0:/lib").
* Support passing positional args as keywords to bytecode functions.Paul Sokolovsky2014-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 Sokolovsky2014-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).
* Propagate scope flags refactor to emitcpy.c.Paul Sokolovsky2014-02-16
|
* builtinimport: Get the basic (and only basic) package imports work.Paul Sokolovsky2014-02-16
|
* builtinimport.c: Recognize "namespace package" and error out as unsupported.Paul Sokolovsky2014-02-16
| | | | | | 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.
* py: Pass keyword arguments to byte code.Damien George2014-02-16
|
* py: Implement *vargs support.Damien George2014-02-16
| | | | Addresses issue #295.
* py: Revent some long int configuration.Damien George2014-02-15
|
* py: VM never throws an exception, instead returns a status and value.Damien George2014-02-15
| | | | | Addresses issue #290, and hopefully sets up things to allow generators throwing exceptions, etc.
* Small change to configuration of long int.Damien George2014-02-15
|
* py: Improve exception bases, reduces ROM usage.Damien George2014-02-15
| | | | Thanks to @pfalcon for the tip!
* py: Pass all scope flags through to runtime.Damien George2014-02-15
|
* Implement proper exception type hierarchy.Damien George2014-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.
* Change mp_obj_type_t.name from const char * to qstr.Damien George2014-02-15
| | | | | | Ultimately all static strings should be qstr. This entry in the type structure is only used for printing error messages (to tell the type of the bad argument), and printing objects that don't supply a .print method.
* py: Fix IMPORT_STAR, needs to pop the stack.Damien George2014-02-14
|
* Merge pull request #288 from pfalcon/port-builtinsDamien George2014-02-14
|\ | | | | Allow ports to define statically builtin functions.
| * Allow ports to define statically builtin functions.Paul Sokolovsky2014-02-14
| | | | | | | | Convert unix open() to such.