summaryrefslogtreecommitdiffstatshomepage
path: root/py/lexer.c
Commit message (Collapse)AuthorAge
* Implement mp_parse_node_free; print properly repr(string).Damien George2014-01-25
|
* mp_lexer_free(): Free lex->indent_level array.Paul Sokolovsky2014-01-23
|
* Fix 1 warning and 1 bug.Damien George2014-01-22
|
* Implement octal and hex escapes in strings.Paul Sokolovsky2014-01-22
|
* Revamp qstrs: they now include length and hash.Damien George2014-01-21
| | | | | Can now have null bytes in strings. Can define ROM qstrs per port using qstrdefsport.h
* Add source file name and line number to error messages.Damien George2014-01-18
| | | | | Byte code has a map from byte-code offset to source-code line number, used to give better error messages.
* Convert parse errors to exceptions.Damien George2014-01-15
| | | | | Parser no longer prints an error, but instead returns an exception ID and message.
* Add "buffer management" and "shrink" API calls to vstr.Paul Sokolovsky2014-01-13
| | | | | | | | | | | | | vstr is initially intended to deal with arbitrary-length strings. By providing a bit lower-level API calls, it will be also useful to deal with arbitrary-length I/O buffers (the difference from strings is that buffers are filled from "outside", via I/O). Another issue, especially aggravated by I/O buffer use, is alloc size vs actual size length. If allocated 1Mb for buffer, but actually read 1 byte, we don't want to keep rest of 1Mb be locked by this I/O result, but rather return it to heap ASAP ("shrink" buffer before passing it to qstr_from_str_take()).
* py: Improve memory management for parser; add lexer error for bad line cont.Damien George2014-01-12
|
* Add ellipsis object.Damien George2014-01-04
|
* Put unicode functions in unicode.c, and tidy their names.Damien George2013-12-30
|
* Change memory allocation API to require size for free and realloc.Damien2013-12-29
|
* Change object representation from 1 big union to individual structs.Damien2013-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).
* Improve REPL compount statement detection.Damien2013-10-22
|
* gc: reserve first block; lexer: free vstr.Damien2013-10-22
|
* Integrate new lexer stream with stm framework.Damien2013-10-20
|
* Abstract out back-end stream functionality from lexer.Damien2013-10-20
|
* Fix up insertion of newline at end of lexer stream.Damien2013-10-18
|
* Improve indent/dedent error checking and reporting.Damien2013-10-09
|
* Initial commit.Damien2013-10-04