Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | disable a restriction in the f-string format parser that seems arbitrary and ↵ | Stefan Behnel | 2016-03-25 | 1 | -2/+0 |
| | | | | difficult to implement | ||||
* | set FormattedValueNode.format_spec field to None for empty format specs to ↵ | Stefan Behnel | 2016-03-23 | 1 | -2/+2 |
| | | | | simplify later "empty" tests | ||||
* | speed up character switching in f-string parser a little | Stefan Behnel | 2016-03-23 | 1 | -8/+10 |
| | |||||
* | simplify some error handling code in f-string parser | Stefan Behnel | 2016-03-23 | 1 | -11/+4 |
| | |||||
* | reject f-strings for parsed cnames | Stefan Behnel | 2016-03-22 | 1 | -9/+11 |
| | |||||
* | whitespace | Stefan Behnel | 2016-03-22 | 1 | -2/+5 |
| | |||||
* | remove need for redundant class variable | Stefan Behnel | 2016-03-21 | 1 | -1/+1 |
| | |||||
* | repair issues found by CPython f-string tests | Stefan Behnel | 2016-03-21 | 1 | -24/+35 |
| | |||||
* | Py2.6 compatibility fix | Stefan Behnel | 2016-03-21 | 1 | -1/+1 |
| | |||||
* | Merge branch 'f_string' into f_strings_2 | Stefan Behnel | 2016-03-21 | 1 | -26/+204 |
|\ | |||||
| * | fstrings: remove addressed TODOs | Jelle Zijlstra | 2016-03-20 | 1 | -5/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Docstrings don't support f-strings in cpython, so they don't need to here either. The scanner seems to be working. Current status: - All but three of the tests from CPython's test_fstring pass. Two of the remaining ones rely on exec and the third relies on a runtime NameError that occurs at compile time in Cython. These tests still need to be added to the Cython test suite. - I'm not overly convinced that the refcounting is correct in the C code that's currently emitted. - There's some room for optimization, such as removing empty strings from JoinedStrNode, concatenating adjacent raw strings at compile time, and using _PyUnicodeWriter. - Currently the feature is available in both Python 2 and Python 3 mode. It mostly works in Python 2, except for the !a conversion char. | ||||
| * | fstrings: fix more bugs | Jelle Zijlstra | 2016-03-20 | 1 | -11/+7 |
| | | | | | | | | Not sure about the refcounting | ||||
| * | f-strings: bugfixes | Jelle Zijlstra | 2016-03-20 | 1 | -5/+9 |
| | | |||||
| * | f-string parsing: fix bugs | Jelle Zijlstra | 2016-03-20 | 1 | -2/+2 |
| | | |||||
| * | f-strings: fix nested string literals | Jelle Zijlstra | 2016-03-20 | 1 | -5/+21 |
| | | |||||
| * | f strings: initial parsing work | Jelle Zijlstra | 2016-03-20 | 1 | -25/+190 |
| | | | | | | | | | | Parses f-strings into ExprNodes, but with no support for compiling them. Some known bugs are marked as TODOs. | ||||
* | | Allow default template parameters for C++ classes. | Robert Bradshaw | 2016-02-21 | 1 | -5/+17 |
|/ | | | | | | | | This is done with the T=* syntax, similar to default args of cdef methods. This does, however, expose us to types that we can't explicitly declare. | ||||
* | Merge branch '0.23.x' | Stefan Behnel | 2015-09-06 | 1 | -4/+2 |
|\ | | | | | | | | | Conflicts: CHANGES.rst | ||||
| * | revert integer literal suffixing again and instead generate C hex literals ↵ | Stefan Behnel | 2015-09-06 | 1 | -4/+2 |
| | | | | | | | | if no suffix is used to make the C compiler consider unsigned types for their values (see C standard 6.4.4) | ||||
| * | rewrite literal DEF integer coercion to constants: | Stefan Behnel | 2015-09-05 | 1 | -3/+2 |
| | | | | | | | | | | - append U-suffix only on coercion when the target type is unsigned - append L/LL-suffix when value looks too large for a smaller constant value type | ||||
* | | rewrite literal DEF integer coercion to constants: | Stefan Behnel | 2015-09-05 | 1 | -3/+2 |
| | | | | | | | | | | - append U-suffix only on coercion when the target type is unsigned - append L/LL-suffix when value looks too large for a smaller constant value type | ||||
* | | Merge branch '0.23.x' | Stefan Behnel | 2015-09-02 | 1 | -5/+5 |
|\ \ | |/ | | | | | | | | | Conflicts: Cython/Compiler/Optimize.py Cython/Compiler/StringEncoding.py | ||||
| * | fix bytes literal creation from compile-time DEF expressions (used to become ↵ | Stefan Behnel | 2015-09-02 | 1 | -5/+5 |
| | | | | | | | | Unicode strings due to missing encoding) | ||||
* | | Merge branch '0.23.x' | Stefan Behnel | 2015-09-01 | 1 | -3/+6 |
|\ \ | |/ | |||||
| * | correct processing of large integers (PyLong values) in compile time env ↵ | Stefan Behnel | 2015-09-01 | 1 | -3/+6 |
| | | | | | | | | under Py2.x | ||||
* | | adapt grammar to CPython (3.6-pre) | Stefan Behnel | 2015-08-12 | 1 | -2/+5 |
|/ | | | | | - comma at end of any argument list (even in lambdas) - "yield from" does not accept implicit tuple arguments | ||||
* | replace xrange() by range() to make it work in Py2/Py3 | Stefan Behnel | 2015-07-25 | 1 | -2/+2 |
| | |||||
* | make code usages of Python "long" compatible with Py2/Py3 | Stefan Behnel | 2015-07-25 | 1 | -3/+6 |
| | |||||
* | 2to3: Apply the 'except' fixer | Petr Viktorin | 2015-07-25 | 1 | -1/+1 |
| | |||||
* | Support operator bool() for C++ classes. | Robert Bradshaw | 2015-07-24 | 1 | -1/+9 |
| | |||||
* | adapt async/await implementation to CPython ticket 24619 | Stefan Behnel | 2015-07-23 | 1 | -15/+4 |
| | | | | http://bugs.python.org/issue24619 | ||||
* | disable async/await keywords in nested normal 'def' functions (as CPython does) | Stefan Behnel | 2015-07-04 | 1 | -7/+21 |
| | |||||
* | correctly disable 'await' keyword when leaving 'async def' context | Stefan Behnel | 2015-07-04 | 1 | -1/+1 |
| | |||||
* | Enable overloading the assignment operator. | Ian Henriksen | 2015-06-22 | 1 | -1/+1 |
| | |||||
* | remove usage of deprecated "U" file open mode flag which is enabled anyway | Stefan Behnel | 2015-05-30 | 1 | -6/+3 |
| | |||||
* | implement 'async for' loop statement (PEP 492) | Stefan Behnel | 2015-05-25 | 1 | -15/+15 |
| | |||||
* | implement "async with" (PEP 492) | Stefan Behnel | 2015-05-23 | 1 | -8/+12 |
| | |||||
* | implement "async def" statement and "await" expression (PEP 492) | Stefan Behnel | 2015-05-23 | 1 | -15/+71 |
| | |||||
* | implement PEP 448 also for list/tuple literals | Stefan Behnel | 2015-05-15 | 1 | -25/+29 |
| | |||||
* | implement PEP 448 for set/dict literals | Stefan Behnel | 2015-05-14 | 1 | -46/+106 |
| | |||||
* | rename KeywordArgsNode to MergedDictNode to generalise it | Stefan Behnel | 2015-05-13 | 1 | -1/+1 |
| | |||||
* | fix Py3-style class declarations after implementing extended PEP448 ↵ | Stefan Behnel | 2015-05-13 | 1 | -2/+0 |
| | | | | unpacking syntax | ||||
* | fix generator expressions as sole function call argument | Stefan Behnel | 2015-05-12 | 1 | -1/+1 |
| | |||||
* | fix missing import in Py3.x | Stefan Behnel | 2015-05-12 | 1 | -2/+3 |
| | |||||
* | partially implement PEP 448 for function calls only | Stefan Behnel | 2015-05-12 | 1 | -65/+82 |
| | |||||
* | remove unnecessary re-wrapping of identifier name in parser | Stefan Behnel | 2015-04-24 | 1 | -1/+1 |
| | |||||
* | fix compiler crash due to non-wrapped identifier string in parser | Stefan Behnel | 2015-04-24 | 1 | -1/+1 |
| | |||||
* | intern identifier names in parser to save memory | Stefan Behnel | 2015-04-24 | 1 | -31/+27 |
| | | | | make sure all identifiers are EncodedString objects | ||||
* | clean up some whitespace in parser code | Stefan Behnel | 2014-11-23 | 1 | -9/+12 |
| | |||||
* | clean up regular expression in parser (not problematic as it only matches ↵ | Stefan Behnel | 2014-11-23 | 1 | -1/+1 |
| | | | | what the scanner already accepted) |