Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Implement proper exception type hierarchy. | Damien George | 2014-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. | ||
* | Replace global "static" -> "STATIC", to allow "analysis builds". Part 2. | Paul Sokolovsky | 2014-02-12 |
| | |||
* | py: Fix bug with LOAD_METHOD; fix int->machine_int_t for small int. | Damien George | 2014-01-29 |
| | | | | | | | | LOAD_METHOD bug was: emitbc did not correctly calculate the amount of stack usage for a LOAD_METHOD operation. small int bug was: int was being used to pass small ints, when it should have been machine_int_t. | ||
* | Implement mp_parse_node_free; print properly repr(string). | Damien George | 2014-01-25 |
| | |||
* | Add parse_node_free_struct() and use it to free parse tree after compilation. | Paul Sokolovsky | 2014-01-25 |
| | | | | TODO: Check lexer/parse/compile error path for leaks too. | ||
* | py: Change macro var args in parser to be C99 compliant. | Damien George | 2014-01-23 |
| | |||
* | Revamp qstrs: they now include length and hash. | Damien George | 2014-01-21 |
| | | | | | Can now have null bytes in strings. Can define ROM qstrs per port using qstrdefsport.h | ||
* | py: Add module/function/class name to exceptions. | Damien George | 2014-01-19 |
| | | | | | | | Exceptions know source file, line and block name. Also tidy up some debug printing functions and provide a global flag to enable/disable them. | ||
* | Add source file name and line number to error messages. | Damien George | 2014-01-18 |
| | | | | | Byte code has a map from byte-code offset to source-code line number, used to give better error messages. | ||
* | Implement eval. | Damien George | 2014-01-15 |
| | |||
* | Convert parse errors to exceptions. | Damien George | 2014-01-15 |
| | | | | | Parser no longer prints an error, but instead returns an exception ID and message. | ||
* | Parse long Python ints properly. | Paul Sokolovsky | 2014-01-12 |
| | | | | | | Long int is something which doesn't fit into SMALL_INT partion of machine_int_t. But it's also something which doesn't fit into machine_int_t in the first place. | ||
* | py: Improve memory management for parser; add lexer error for bad line cont. | Damien George | 2014-01-12 |
| | |||
* | Put unicode functions in unicode.c, and tidy their names. | Damien George | 2013-12-30 |
| | |||
* | Change memory allocation API to require size for free and realloc. | Damien | 2013-12-29 |
| | |||
* | Parse upper-case hex numbers correctly. | Damien | 2013-12-29 |
| | |||
* | Change object representation from 1 big union to individual structs. | Damien | 2013-12-21 |
| | | | | | | | | | | A big change. Micro Python objects are allocated as individual structs with the first element being a pointer to the type information (which is itself an object). This scheme follows CPython. Much more flexible, not necessarily slower, uses same heap memory, and can allocate objects statically. Also change name prefix, from py_ to mp_ (mp for Micro Python). | ||
* | Add basic complex number support. | Damien | 2013-11-02 |
| | |||
* | Make grammar rules const so the go in .text section. | Damien | 2013-10-19 |
| | |||
* | Implement REPL. | Damien | 2013-10-18 |
| | |||
* | Tidy up SMALL_INT optimisations and CPython compatibility. | Damien | 2013-10-12 |
| | |||
* | Separate out mpy core and unix version. | Damien | 2013-10-12 |
| | |||
* | Improve indent/dedent error checking and reporting. | Damien | 2013-10-09 |
| | |||
* | Optimise typedargslist_name to not create a node if just an id. | Damien | 2013-10-06 |
| | |||
* | Make range of small int 24 bits. | Damien | 2013-10-06 |
| | |||
* | Add support for inline thumb assembly. | Damien | 2013-10-05 |
| | |||
* | Initial commit. | Damien | 2013-10-04 |