aboutsummaryrefslogtreecommitdiff
path: root/py
AgeCommit message (Collapse)Author
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
2014-02-15py: Improve exception bases, reduces ROM usage.Damien George
Thanks to @pfalcon for the tip!
2014-02-15py: Pass all scope flags through to runtime.Damien George
2014-02-15Implement proper exception type hierarchy.Damien George
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.
2014-02-15Change mp_obj_type_t.name from const char * to qstr.Damien George
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.
2014-02-14py: Fix IMPORT_STAR, needs to pop the stack.Damien George
2014-02-14Merge pull request #288 from pfalcon/port-builtinsDamien George
Allow ports to define statically builtin functions.
2014-02-14Merge pull request #282 from pfalcon/from-starDamien George
Implement "from mod import *"
2014-02-15mp_binary_get_val(): Fix value type.Paul Sokolovsky
2014-02-15objexcept: Fix a case of initialized object field.Paul Sokolovsky
2014-02-14objarray: Refactor to use array accessors from binary.c .Paul Sokolovsky
2014-02-14ffi: Implement ffivar.get()/set() methods.Paul Sokolovsky
Done by introducing another factored out helper API in binary.c. This API can be reused also by array and struct modules.
2014-02-14Allow ports to define statically builtin functions.Paul Sokolovsky
Convert unix open() to such.
2014-02-14Implement "from module import *" construct.Paul Sokolovsky
2014-02-12Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-02-12Remove mp_obj_new_exception_msg_1_arg and _2_arg.Damien George
2014-02-13Implement full arg handling for exec().Paul Sokolovsky
2014-02-12Replace global "static" -> "STATIC", to allow "analysis builds". Part 2.Paul Sokolovsky
2014-02-12Replace global "static" -> "STATIC", to allow "analysis builds". Part 1.Paul Sokolovsky
Some tools do not support local/static symbols (one example is GNU ld map file). Exposing all functions will allow to do detailed size comparisons, etc. Also, added bunch of statics where they were missing, and replaced few identity functions with global mp_identity().
2014-02-11Add prototype for gc_dump_info().Paul Sokolovsky
2014-02-11More GC debugging improvements.Paul Sokolovsky
2014-02-11Generalize malloc-via-gc-heap support, make it available to unix port.Paul Sokolovsky
2014-02-11objstr: Mark few local symbols as static, cleanup codestyle.Paul Sokolovsky
Please don't submit patches with tab indentation!
2014-02-11gc: Don't segfault if gc_realloc() fails.Paul Sokolovsky
2014-02-11gc: Make debug output configurable, revamp test function.Paul Sokolovsky
Test function needs to be called by something else. Test heap size reduced so its dump fits on a screenful of a typical terminal.
2014-02-11mp_obj_equal(): Instead of assert(), throw NotImplementedError.Paul Sokolovsky
With a nice traceback, helps debugging much better.
2014-02-11Typo fix in comment.Paul Sokolovsky
2014-02-10Merge pull request #270 from pfalcon/down-with-callocDamien George
Get rid of calloc().
2014-02-10Merge pull request #267 from pfalcon/func-ret-annDamien George
Clean up handling of function return type annotation.