Damien George
c9aa1883ed
py: Simplify bytecode prelude when encoding closed over variables.
2015-04-07 00:08:17 +01:00
Damien George
78772ada0d
py: Implement calling functions with *args in native emitter.
2015-04-06 22:48:21 +01:00
Paul Sokolovsky
282ca09f8e
py: Add MICROPY_PY_BUILTINS_REVERSED, disable for minimal ports.
2015-04-07 00:17:11 +03:00
Paul Sokolovsky
e2d44e30c7
py: Add MICROPY_PY_BUILTINS_ENUMERATE, disable for minimal ports.
2015-04-06 23:51:29 +03:00
Paul Sokolovsky
96b60ed956
cc3200: Fix typo after previous refactor.
2015-04-05 22:32:41 +03:00
Paul Sokolovsky
2192824ad8
teensy: Fix function prototype.
2015-04-05 22:15:37 +03:00
Paul Sokolovsky
3a84c8b58d
string0.c: Move from stmhal/ to lib/.
2015-04-05 21:57:55 +03:00
Damien George
e5c4362a98
tests: Add some more tests to improve code coverage of corner cases.
2015-04-05 00:03:43 +01:00
Damien George
97abe22963
tests: Add tests to exercise lexer; and some more complex number tests.
2015-04-04 23:16:22 +01:00
Damien George
9dd3640464
tests: Add missing tests for builtins, and many other things.
2015-04-04 22:05:30 +01:00
Damien George
7e758b1cf8
stmhal, qemu-arm: Enable sys.maxsize attribute.
2015-04-04 22:04:53 +01:00
Daniel Campora
b9d850227d
cc3200: Add WLAN AP specific settings for each board.
2015-04-04 22:09:55 +02:00
Damien George
56606f3475
py: Implement delete for property and descriptors.
...
Without this patch deleting a property, or class with descriptor, will
call the setter with a NULL value and lead to a crash.
2015-04-04 20:15:31 +01:00
Damien George
0528c5a22a
py: In str unicode, str_subscr will never be passed a bytes object.
2015-04-04 19:42:03 +01:00
Damien George
0f6424efda
docs: Bump version to 1.4.1.
2015-04-04 17:41:11 +01:00
Damien George
40fc01f406
stmhal: Enable new str.splitlines() method.
2015-04-04 16:02:23 +01:00
Damien George
2801e6fad8
py: Some trivial cosmetic changes, for code style consistency.
2015-04-04 15:53:11 +01:00
Paul Sokolovsky
7f59b4b2ca
objstr: Fix bugs introduced by inability to have shadow variables.
...
Warnings lead to programming errors - as expected.
2015-04-04 01:55:40 +03:00
Paul Sokolovsky
acf6aec71c
objstr: Avoid variable shadowing.
2015-04-04 01:24:59 +03:00
Paul Sokolovsky
620058cc57
tests: Add test for str.splitlines().
2015-04-04 00:09:54 +03:00
Paul Sokolovsky
ac2f7a7f6a
objstr: Add .splitlines() method.
...
splitlines() occurs ~179 times in CPython3 standard library, so was
deemed worthy to implement. The method has subtle semantic differences
from just .split("\n"). It is also defined as working for any end-of-line
combination, but this is currently not implemented - it works only with
LF line-endings (which should be OK for text strings on any platforms,
but not OK for bytes).
2015-04-04 00:09:48 +03:00
Damien George
82f37bf0d1
tests: Add specific test for closures in native emitter.
2015-04-03 16:14:25 +01:00
Damien George
fa5950eb00
py: Fix bug in native emitter when closing over an argument.
2015-04-03 15:03:24 +00:00
Damien George
99957384ea
py: Get native emitter working again with x86 (now supports closures).
2015-04-03 14:38:41 +00:00
Damien George
4cd9ced8dc
py: Implement closures in native code generator.
...
Currently supports only x64 and Thumb2 archs.
2015-04-03 15:05:53 +01:00
Damien George
2cc5473021
py: Implement (non-compliant) support for delete_fast in native emitter.
...
This implementation is smaller (in code size) than #1024 .
2015-04-03 14:29:30 +01:00
Damien George
c0dcf6e878
README: Add note about pic16bit port.
2015-04-03 14:16:49 +01:00
Damien George
43ea73faa6
pic16bit: Initial version of port to 16-bit PIC family.
...
Reference MCU is dsPIC33J256GP506 with 256k ROM and 8k RAM, on the dsPIC
DSC Starter Kit board. The REPL works, GC works, pyb module has LED and
Switch objects. It passes some tests from the test suite (most it can't
run because it doesn't have the Python features enabled).
2015-04-03 14:11:19 +01:00
Damien George
12ab9eda8d
py: Make heap printing compatible with 16-bit word size.
2015-04-03 14:11:13 +01:00
Damien George
3f327cc4c6
py: Allow MPZ_DIG_SIZE to be optionally configured by a port.
2015-04-03 14:11:13 +01:00
Damien George
567184e21e
py: Allow configurable object representation, with 2 different options.
2015-04-03 14:11:13 +01:00
Damien George
12a5e17afb
py: Add finer configuration of static funcs when not in stackless mode.
...
Also rename call_args_t to mp_call_args_t.
2015-04-02 22:56:58 +01:00
Paul Sokolovsky
dbc0191d5f
unix: Add stackless config settings, for easy access.
2015-04-03 00:27:14 +03:00
Paul Sokolovsky
7f1c98177b
vm: Support strict stackless mode, with proper exception reporting.
...
I.e. in this mode, C stack will never be used to call a Python function,
but if there's no free heap for a call, it will be reported as
RuntimeError (as expected), not MemoryError.
2015-04-03 00:26:47 +03:00
Paul Sokolovsky
f0a8f21190
vm: Implement stackless for CALL_FUNCTION_VAR_KW & CALL_METHOD_VAR_KW.
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
e6c6fe3275
runtime: Split mp_call_prepare_args_n_kw_var() from mp_call_method_n_kw_var().
...
Allow for reuse for stackless design, where preparing args is separate from
calling.
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
390e92688c
vm: Stackless support for MP_BC_CALL_METHOD.
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
332a909d44
vm: If there's no heap to call function in stackless manner, call via C stack.
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
2039757b85
vm: Initial support for calling bytecode functions w/o C stack ("stackless").
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
f88eec0de2
makeqstrdata.py: Add support for strings with backslash escapes.
2015-04-02 01:10:11 +03:00
Damien George
2686f9b3e8
py: Fix emitnative's creation of small ints so it uses the macro.
2015-04-01 00:12:43 +01:00
Daniel Campora
d460a30711
cc3200: Add specific version file for the CC3200 port.
...
Current version has been numbered as 0.9.0 since Timers/PWM support
is still missing.
2015-03-31 14:34:09 +02:00
Daniel Campora
3f42f32648
cc3200: Remove duplicated code from moduos.
...
Error reporting is also changed from detailed to terse, as with the
rest of the CC3200's modules. All this combined saves ~200 bytes.
2015-03-31 14:34:07 +02:00
Paul Sokolovsky
344057ac50
docs: uctypes: Bullet list formatting fixes.
2015-03-31 01:29:07 +03:00
Paul Sokolovsky
9d2c0c231c
docs: uctypes: Describe how to instantiate struct objects.
2015-03-31 01:16:14 +03:00
Paul Sokolovsky
1bc534247c
objtype: Add special unary methods __pos__, __neg__, __invert__.
...
Conditional on MICROPY_PY_ALL_SPECIAL_METHODS.
2015-03-31 01:05:03 +03:00
Paul Sokolovsky
fdaac1dbf8
modbuiltins: round(): Accept second arg, and at least support it to be 0.
...
Per https://docs.python.org/3/library/functions.html#round , 2-args format
guaranteedly returns float.
2015-03-31 01:02:44 +03:00
Ivan Pejić
e178ef2520
docs: Add additional example/note for Timer's callback usage.
...
Add example: using named function for the Timer's callback.
Add note: improving traceback inside interrupt timers.
2015-03-30 00:43:04 +01:00
Damien George
47098efbda
docs: Provide initial documentation for micropython module.
2015-03-30 00:32:29 +01:00
Daniel Campora
7b19e99edd
lib: Update FatFs to R0.11.
...
There are lots of cosmetic changes, but this release brings a very
important bug fix:
- Fixed f_unlink() does not remove cluster chain of the file.
With R0.10c if you try to write a file that is too large to fit in the
free space of the drive, the operation fails, you delete the incomplete
file, and it seems to be erased, but the space is not really freed,
because any subsequent write operations fail because the drive is
"still" full. The only way to recover from this is by formatting the
drive. I can confirm that R0.11 fixes the problem.
2015-03-29 22:12:14 +01:00