<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/lexer.c, branch cross</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=cross</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=cross'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-05-20T11:46:20+00:00</updated>
<entry>
<title>py: Declare constant data as properly constant.</title>
<updated>2016-05-20T11:46:20+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-20T11:38:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3ff16ff52e45d4c0bf1df5fa650b72d6d835451b'/>
<id>urn:sha1:3ff16ff52e45d4c0bf1df5fa650b72d6d835451b</id>
<content type='text'>
Otherwise some compilers (eg without optimisation) will put this read-only
data in RAM instead of ROM.
</content>
</entry>
<entry>
<title>py: add async/await/async for/async with syntax</title>
<updated>2016-04-13T14:26:38+00:00</updated>
<author>
<name>pohmelie</name>
<email>multisosnooley@gmail.com</email>
</author>
<published>2016-01-27T20:23:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=81ebba7e0236163b7594938201bf3a6b802ebfaa'/>
<id>urn:sha1:81ebba7e0236163b7594938201bf3a6b802ebfaa</id>
<content type='text'>
They are sugar for marking function as generator, "yield from"
and pep492 python "semantically equivalents" respectively.

@dpgeorge was the original author of this patch, but @pohmelie made
changes to implement `async for` and `async with`.
</content>
</entry>
<entry>
<title>py: Add MICROPY_DYNAMIC_COMPILER option to config compiler at runtime.</title>
<updated>2016-02-25T10:05:46+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-02-11T22:30:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ea23520403777f9b026f49245d39f8be1ccdbdac'/>
<id>urn:sha1:ea23520403777f9b026f49245d39f8be1ccdbdac</id>
<content type='text'>
This new compile-time option allows to make the bytecode compiler
configurable at runtime by setting the fields in the mp_dynamic_compiler
structure.  By using this feature, the compiler can generate bytecode
that targets any MicroPython runtime/VM, regardless of the host and
target compile-time settings.

Options so far that fall under this dynamic setting are:
- maximum number of bits that a small int can hold;
- whether caching of lookups is used in the bytecode;
- whether to use unicode strings or not (lexer behaviour differs, and
  therefore generated string constants differ).
</content>
</entry>
<entry>
<title>py: Add MICROPY_ENABLE_COMPILER and MICROPY_PY_BUILTINS_EVAL_EXEC opts.</title>
<updated>2015-12-18T12:35:44+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-12-18T12:35:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=dd5353a4054024a411aa343a22ffcd16195a16ad'/>
<id>urn:sha1:dd5353a4054024a411aa343a22ffcd16195a16ad</id>
<content type='text'>
MICROPY_ENABLE_COMPILER can be used to enable/disable the entire compiler,
which is useful when only loading of pre-compiled bytecode is supported.
It is enabled by default.

MICROPY_PY_BUILTINS_EVAL_EXEC controls support of eval and exec builtin
functions.  By default they are only included if MICROPY_ENABLE_COMPILER
is enabled.

Disabling both options saves about 40k of code size on 32-bit x86.
</content>
</entry>
<entry>
<title>py/lexer: Properly classify floats that look like hex numbers.</title>
<updated>2015-09-07T16:33:44+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-09-07T16:33:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=2b000474d9350ede1c1aedb83ba8976d81ba4cf8'/>
<id>urn:sha1:2b000474d9350ede1c1aedb83ba8976d81ba4cf8</id>
<content type='text'>
Eg 0e0 almost looks like a hex number but in fact is a float.
</content>
</entry>
<entry>
<title>py/lexer: Raise SyntaxError when unicode char point out of range.</title>
<updated>2015-09-07T16:19:17+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-09-07T16:19:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0be3c70cd88da39ee4dcc328ba3bde1e5abcd406'/>
<id>urn:sha1:0be3c70cd88da39ee4dcc328ba3bde1e5abcd406</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py/lexer: Raise NotImplError for unicode name escape, instead of assert.</title>
<updated>2015-09-07T16:08:49+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-09-07T16:08:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=081f9325f522b25e2f6b4266dca3f2d2dd1c69ac'/>
<id>urn:sha1:081f9325f522b25e2f6b4266dca3f2d2dd1c69ac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py/lexer: Raise SyntaxError when str hex escape sequence is malformed.</title>
<updated>2015-07-23T22:20:37+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-07-23T22:20:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d241c2a5926c0c8147a05b10ad3e7a54d480f55b'/>
<id>urn:sha1:d241c2a5926c0c8147a05b10ad3e7a54d480f55b</id>
<content type='text'>
Addresses issue #1390.
</content>
</entry>
<entry>
<title>py: Cast argument for printf to int, to be compatible with more ports.</title>
<updated>2015-06-22T16:40:12+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-06-22T16:40:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7f19a39a3b79f552f158020f33c693913b884e7c'/>
<id>urn:sha1:7f19a39a3b79f552f158020f33c693913b884e7c</id>
<content type='text'>
This allows stmhal to be compiled with MICROPY_DEBUG_PRINTERS.
</content>
</entry>
<entry>
<title>py: Support unicode (utf-8 encoded) identifiers in Python source.</title>
<updated>2015-06-09T10:58:07+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-06-09T10:58:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7ed58cb66379f4d87e3e8fbb68baada19048ac18'/>
<id>urn:sha1:7ed58cb66379f4d87e3e8fbb68baada19048ac18</id>
<content type='text'>
Enabled simply by making the identifier lexing code 8-bit clean.
</content>
</entry>
</feed>
