<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Parser/tokenizer.c, branch berkerpeksag-update-codeowners</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/'/>
<entry>
<title>bpo-36623: Clean parser headers and include files (GH-12253)</title>
<updated>2019-04-13T16:05:14+00:00</updated>
<author>
<name>Pablo Galindo</name>
<email>Pablogsal@gmail.com</email>
</author>
<published>2019-04-13T16:05:14+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=f2cf1e3e2892a6326949c2570f1bb6d6c95715fb'/>
<id>f2cf1e3e2892a6326949c2570f1bb6d6c95715fb</id>
<content type='text'>
After the removal of pgen, multiple header and function prototypes that lack implementation or are unused are still lying around.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After the removal of pgen, multiple header and function prototypes that lack implementation or are unused are still lying around.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-36459: Fix a possible double PyMem_FREE() due to tokenizer.c's tok_nextc() (12601)</title>
<updated>2019-03-28T13:53:00+00:00</updated>
<author>
<name>Zackery Spytz</name>
<email>zspytz@gmail.com</email>
</author>
<published>2019-03-28T13:53:00+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=cda139d1ded6708665b53e4ed32ccc1d2627e1da'/>
<id>cda139d1ded6708665b53e4ed32ccc1d2627e1da</id>
<content type='text'>
Remove the PyMem_FREE() call added in cb90c89.  The buffer will be
freed when PyTokenizer_Free() is called on the tokenizer state.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the PyMem_FREE() call added in cb90c89.  The buffer will be
freed when PyTokenizer_Free() is called on the tokenizer state.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-36367: Free buffer if realloc fails in tokenize.c (GH-12442)</title>
<updated>2019-03-19T17:17:58+00:00</updated>
<author>
<name>Pablo Galindo</name>
<email>Pablogsal@gmail.com</email>
</author>
<published>2019-03-19T17:17:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=cb90c89de14aab636739b3e810cf949e47b54a0c'/>
<id>cb90c89de14aab636739b3e810cf949e47b54a0c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-35975: Support parsing earlier minor versions of Python 3 (GH-12086)</title>
<updated>2019-03-07T20:38:08+00:00</updated>
<author>
<name>Guido van Rossum</name>
<email>guido@python.org</email>
</author>
<published>2019-03-07T20:38:08+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=495da292255b92dd73758fdd0e4c7d27d82b1e57'/>
<id>495da292255b92dd73758fdd0e4c7d27d82b1e57</id>
<content type='text'>
This adds a `feature_version` flag to `ast.parse()` (documented) and `compile()` (hidden) that allow tweaking the parser to support older versions of the grammar. In particular if `feature_version` is 5 or 6, the hacks for the `async` and `await` keyword from PEP 492 are reinstated. (For 7 or higher, these are unconditionally treated as keywords, but they are still special tokens rather than `NAME` tokens that the parser driver recognizes.)



https://bugs.python.org/issue35975</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds a `feature_version` flag to `ast.parse()` (documented) and `compile()` (hidden) that allow tweaking the parser to support older versions of the grammar. In particular if `feature_version` is 5 or 6, the hacks for the `async` and `await` keyword from PEP 492 are reinstated. (For 7 or higher, these are unconditionally treated as keywords, but they are still special tokens rather than `NAME` tokens that the parser driver recognizes.)



https://bugs.python.org/issue35975</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-35808: Retire pgen and use pgen2 to generate the parser (GH-11814)</title>
<updated>2019-03-01T23:34:44+00:00</updated>
<author>
<name>Pablo Galindo</name>
<email>Pablogsal@gmail.com</email>
</author>
<published>2019-03-01T23:34:44+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=1f24a719e7be5e49b876a5dc7daf21d01ee69faa'/>
<id>1f24a719e7be5e49b876a5dc7daf21d01ee69faa</id>
<content type='text'>
Pgen is the oldest piece of technology in the CPython repository, building it requires various #if[n]def PGEN hacks in other parts of the code and it also depends more and more on CPython internals. This commit removes the old pgen C code and replaces it for a new version implemented in pure Python. This is a modified and adapted version of lib2to3/pgen2 that can generate grammar files compatibles with the current parser.

This commit also eliminates all the #ifdef and code branches related to pgen, simplifying the code and making it more maintainable. The regen-grammar step now uses $(PYTHON_FOR_REGEN) that can be any version of the interpreter, so the new pgen code maintains compatibility with older versions of the interpreter (this also allows regenerating the grammar with the current CI solution that uses Python3.5). The new pgen Python module also makes use of the Grammar/Tokens file that holds the token specification, so is always kept in sync and avoids having to maintain duplicate token definitions.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pgen is the oldest piece of technology in the CPython repository, building it requires various #if[n]def PGEN hacks in other parts of the code and it also depends more and more on CPython internals. This commit removes the old pgen C code and replaces it for a new version implemented in pure Python. This is a modified and adapted version of lib2to3/pgen2 that can generate grammar files compatibles with the current parser.

This commit also eliminates all the #ifdef and code branches related to pgen, simplifying the code and making it more maintainable. The regen-grammar step now uses $(PYTHON_FOR_REGEN) that can be any version of the interpreter, so the new pgen code maintains compatibility with older versions of the interpreter (this also allows regenerating the grammar with the current CI solution that uses Python3.5). The new pgen Python module also makes use of the Grammar/Tokens file that holds the token specification, so is always kept in sync and avoids having to maintain duplicate token definitions.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-35766: Merge typed_ast back into CPython (GH-11645)</title>
<updated>2019-01-31T11:40:27+00:00</updated>
<author>
<name>Guido van Rossum</name>
<email>guido@python.org</email>
</author>
<published>2019-01-31T11:40:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=dcfcd146f8e6fc5c2fc16a4c192a0c5f5ca8c53c'/>
<id>dcfcd146f8e6fc5c2fc16a4c192a0c5f5ca8c53c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-16806: Fix `lineno` and `col_offset` for multi-line string tokens (GH-10021)</title>
<updated>2019-01-13T04:05:13+00:00</updated>
<author>
<name>Anthony Sottile</name>
<email>asottile@umich.edu</email>
</author>
<published>2019-01-13T04:05:13+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=995d9b92979768125ced4da3a56f755bcdf80f6e'/>
<id>995d9b92979768125ced4da3a56f755bcdf80f6e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-30455: Generate all token related code and docs from Grammar/Tokens. (GH-10370)</title>
<updated>2018-12-22T09:18:40+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2018-12-22T09:18:40+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=8ac658114dec4964479baecfbc439fceb40eaa79'/>
<id>8ac658114dec4964479baecfbc439fceb40eaa79</id>
<content type='text'>
"Include/token.h", "Lib/token.py" (containing now some data moved from
"Lib/tokenize.py") and new files "Parser/token.c" (containing the code
moved from "Parser/tokenizer.c") and "Doc/library/token-list.inc" (included
in "Doc/library/token.rst") are now generated from "Grammar/Tokens" by
"Tools/scripts/generate_token.py". The script overwrites files only if
needed and can be used on the read-only sources tree.

"Lib/symbol.py" is now generated by "Tools/scripts/generate_symbol_py.py"
instead of been executable itself.

Added new make targets "regen-token" and "regen-symbol" which are now
dependencies of "regen-all".

The documentation contains now strings for operators and punctuation tokens.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
"Include/token.h", "Lib/token.py" (containing now some data moved from
"Lib/tokenize.py") and new files "Parser/token.c" (containing the code
moved from "Parser/tokenizer.c") and "Doc/library/token-list.inc" (included
in "Doc/library/token.rst") are now generated from "Grammar/Tokens" by
"Tools/scripts/generate_token.py". The script overwrites files only if
needed and can be used on the read-only sources tree.

"Lib/symbol.py" is now generated by "Tools/scripts/generate_symbol_py.py"
instead of been executable itself.

Added new make targets "regen-token" and "regen-symbol" which are now
dependencies of "regen-all".

The documentation contains now strings for operators and punctuation tokens.
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-33306: Improve SyntaxError messages for unbalanced parentheses. (GH-6516)</title>
<updated>2018-12-17T15:34:14+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2018-12-17T15:34:14+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=94cf308ee231bfbfaa9ddc50b9764545a1318773'/>
<id>94cf308ee231bfbfaa9ddc50b9764545a1318773</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-35436: Add missing PyErr_NoMemory() calls and other minor bug fixes. (GH-11015)</title>
<updated>2018-12-07T10:11:30+00:00</updated>
<author>
<name>Zackery Spytz</name>
<email>zspytz@gmail.com</email>
</author>
<published>2018-12-07T10:11:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=4c49da0cb7434c676d70b9ccf38aca82ac0d64a9'/>
<id>4c49da0cb7434c676d70b9ccf38aca82ac0d64a9</id>
<content type='text'>
Set MemoryError when appropriate, add missing failure checks,
and fix some potential leaks.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Set MemoryError when appropriate, add missing failure checks,
and fix some potential leaks.</pre>
</div>
</content>
</entry>
</feed>
