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. | ||
* | Change mp_obj_type_t.name from const char * to qstr. | Damien George | 2014-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. | ||
* | Replace global "static" -> "STATIC", to allow "analysis builds". Part 1. | Paul Sokolovsky | 2014-02-12 |
| | | | | | | | | 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(). | ||
* | objstr: Mark few local symbols as static, cleanup codestyle. | Paul Sokolovsky | 2014-02-11 |
| | | | | Please don't submit patches with tab indentation! | ||
* | Make mp_obj_str_get_data return char* instead of byte*. | Damien George | 2014-02-08 |
| | | | | | Can't decide which is better for string type, char or byte pointer. Changing to char removes a few casts. Really need to do proper unicode. | ||
* | Fix assert() usage. | Paul Sokolovsky | 2014-02-02 |
| | |||
* | Implement str/bytes rich comparisons. | Paul Sokolovsky | 2014-02-02 |
| | |||
* | Factor out m_seq_get_fast_slice_indexes() fucntions as sequence helper. | Paul Sokolovsky | 2014-02-02 |
| | | | | | Takes slice object and sequence length and computes subsequence indexes for case of slice step=1. | ||
* | py: Tidy up BINARY_OPs; negation done by special NOT bytecode. | Damien George | 2014-02-01 |
| | | | | | IS_NOT and NOT_IN are now compiled to IS + NOT and IN + NOT, with a new special NOT bytecode. | ||
* | py: Make str.replace do 2 passes over the string. | Damien George | 2014-01-31 |
| | |||
* | Implement str.replace and add tests for it. | xbe | 2014-01-30 |
| | |||
* | Factor out quoted string print function for reuse (mp_str_print_quoted()). | Paul Sokolovsky | 2014-01-28 |
| | |||
* | Implement mp_parse_node_free; print properly repr(string). | Damien George | 2014-01-25 |
| | |||
* | py: Implement iterator support for object that has __getitem__. | Damien George | 2014-01-25 |
| | | | | Addresses Issue #203. | ||
* | Add basic implementation of bytes type, piggybacking on str. | Paul Sokolovsky | 2014-01-24 |
| | | | | | This reuses as much str implementation as possible, from this we can make them more separate as needed. | ||
* | py: Implement bool unary op; tidy up unary op dispatch. | Damien George | 2014-01-23 |
| | |||
* | Implement simplest case of str.startswith(). | Paul Sokolovsky | 2014-01-23 |
| | |||
* | Second stage of qstr revamp: uPy str object can be qstr or not. | Damien George | 2014-01-22 |
| | |||
* | Merge branch 'master' of github.com:micropython/micropython | Damien George | 2014-01-21 |
|\ | | | | | | | | | | | | | | | | | Conflicts: py/objstr.c py/py.mk py/stream.c unix/main.c unix/socket.c | ||
| * | Implement str.split(None). | Paul Sokolovsky | 2014-01-21 |
| | | | | | | | | Note that splitting by explicit string is not implemented so far. | ||
| * | str: Implement proper string (instead of byte string) indexing. | Paul Sokolovsky | 2014-01-21 |
| | | | | | | | | Also, support negative indexes. | ||
| * | Implement string multiplication. | Paul Sokolovsky | 2014-01-21 |
| | | |||
| * | objstr: More support for MP_OBJ_QSTR. | Paul Sokolovsky | 2014-01-20 |
| | | |||
* | | 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 | ||
* | Properly print MP_OBJ_QSTR objects. | Paul Sokolovsky | 2014-01-20 |
| | |||
* | Change int to uint for n_args in function with variable arguments. | Damien George | 2014-01-19 |
| | |||
* | str.format: Don't assume that '}' immediately follows '{', skip insides. | Paul Sokolovsky | 2014-01-16 |
| | | | | | That at least makes stuff like "{:x}".format(1) to produce not completely broken output. | ||
* | Merge branch 'str-repr' of github.com:pfalcon/micropython into pfalcon-str-repr | Damien George | 2014-01-15 |
|\ | | | | | | | | | Conflicts: tests/basics/tests/exception1.py | ||
| * | type->print(): Distinguish str() and repr() variety by passing extra param. | Paul Sokolovsky | 2014-01-15 |
|/ | |||
* | Merge remote-tracking branch 'upstream/master' into containment | John R. Lenton | 2014-01-13 |
|\ | |||
| * | Consolidate rt_make_function_[0123] to rt_make_function_n. | Damien George | 2014-01-13 |
| | | |||
| * | Merge pull request #168 from dhylands/add-strstr | Damien George | 2014-01-13 |
| |\ | | | | | | | Added public domain implementations of strchr and strstr. | ||
| | * | Added public domain implementations of strchr and strstr. | Dave Hylands | 2014-01-12 |
| | | | |||
| * | | Cleanup built-ins, and fix some compiler warnings/errors. | Damien George | 2014-01-13 |
| |/ | |||
* | | Merge remote-tracking branch 'upstream/master' into containment | John R. Lenton | 2014-01-13 |
|\| | |||
| * | Implement a basic str.find; fixes #67 | John R. Lenton | 2014-01-12 |
| | | |||
* | | Implemented support for `in` and `not in` operators. | John R. Lenton | 2014-01-11 |
|/ | |||
* | Use memcpy instead of strncpy; add usart.status to stm. | Damien George | 2014-01-09 |
| | |||
* | Implement str.strip | xbe | 2014-01-08 |
| | |||
* | Merge branch 'cplusplus' of https://github.com/ian-v/micropython into ↵ | Damien George | 2014-01-07 |
|\ | | | | | | | | | | | | | ian-v-cplusplus Conflicts: py/objcomplex.c | ||
| * | Make list and str method tables static | ian-v | 2014-01-06 |
| | | |||
| * | Co-exist with C++ (issue #85) | ian-v | 2014-01-06 |
|/ | |||
* | Convert many object types structs to use C99 tagged initializer syntax. | Paul Sokolovsky | 2014-01-05 |
| | |||
* | Implements str iterator | xyb | 2014-01-05 |
| | |||
* | Convert Python types to proper Python type hierarchy. | Damien George | 2014-01-04 |
| | | | | Now much more inline with how CPython does types. | ||
* | Split qstr into pools, and put initial pool in ROM. | Damien George | 2014-01-04 |
| | | | | | | | | | | | | | | | | Qstr's are now split into a linked-list of qstr pools. This has 2 benefits: the first pool can be in ROM (huge benefit, since we no longer use RAM for the core qstrs), and subsequent pools use m_new for the next pool instead of m_renew (thus avoiding a huge single table for all the qstrs). Still would be better to use a hash table, but this scheme takes us part of the way (eventually convert the pools to hash tables). Also fixed bug with import. Also improved the way the module code is referenced (not magic number 1 anymore). | ||
* | str slice: Trim slice indexes to be in range. | Paul Sokolovsky | 2014-01-04 |
| | |||
* | Fix int -> machine_int_t; add print to slice test. | Damien George | 2014-01-04 |
| | |||
* | str: Throw TypeError for invalid index type and clean up comments. | Paul Sokolovsky | 2014-01-04 |
| | |||
* | slice: Allow building with MICROPY_ENABLE_SLICE=0. | Paul Sokolovsky | 2014-01-04 |
| |