cpython/Python
Pablo Galindo 1f24a719e7
bpo-35808: Retire pgen and use pgen2 to generate the parser (GH-11814)
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.
2019-03-01 15:34:44 -08:00
..
clinic bpo-36101: remove non-ascii characters in docstring (GH-12018) 2019-02-25 08:18:48 +09:00
_warnings.c bpo-35459: Use PyDict_GetItemWithError() instead of PyDict_GetItem(). (GH-11112) 2019-02-25 17:59:46 +02:00
asdl.c
ast.c bpo-36052: Raise a SyntaxError when assigning a value to __debug__ with := (GH-11958) 2019-02-21 10:11:53 +00:00
ast_opt.c bpo-33416: Add end positions to Python AST (GH-11605) 2019-01-22 11:18:22 +00:00
ast_unparse.c bpo-34854: Fix compiling string annotations containing lambdas. (GH-9645) 2018-09-30 21:07:05 +03:00
bltinmodule.c bpo-36030: Remove _PyStack_AsTuple() and _PyStack_AsTupleSlice() (GH-12032) 2019-02-25 22:37:26 +01:00
bootstrap_hash.c bpo-35550: Fix incorrect Solaris define guards (GH-11275) 2018-12-30 18:16:40 -08:00
ceval.c bpo-33608: Simplify ceval's DISPATCH by hoisting eval_breaker ahead of time. (gh-12062) 2019-03-01 13:15:45 -07:00
ceval_gil.h bpo-33608: Factor out a private, per-interpreter _Py_AddPendingCall(). (GH-11617) 2019-02-24 15:40:47 -08:00
codecs.c bpo-35459: Use PyDict_GetItemWithError() instead of PyDict_GetItem(). (GH-11112) 2019-02-25 17:59:46 +02:00
compile.c bpo-35798: Fix duplicate SyntaxWarning: "is" with a literal. (GH-11639) 2019-02-16 08:29:46 +02:00
condvar.h bpo-12822: use monotonic clock for condvar if possible (GH-11723) 2019-02-20 10:00:09 +09:00
context.c bpo-36101: remove non-ascii characters in docstring (GH-12018) 2019-02-25 08:18:48 +09:00
coreconfig.c bpo-36142: Add preconfig.c (GH-12128) 2019-03-01 17:52:56 +01:00
dtoa.c bpo-30923: Silence fall-through warnings included in -Wextra since gcc-7.0. (#3157) 2017-08-21 13:09:59 +02:00
dup2.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
dynamic_annotations.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
dynload_aix.c
dynload_dl.c
dynload_hpux.c
dynload_shlib.c bpo-28401: prevent Py_DEBUG builds from trying to import limited ABI modules (GH-1766) 2018-11-16 15:52:52 -08:00
dynload_stub.c
dynload_win.c bpo-33895: Relase GIL while calling functions that acquire Windows loader lock (GH-7789) 2019-02-02 09:16:42 -08:00
errors.c bpo-35459: Use PyDict_GetItemWithError() instead of PyDict_GetItem(). (GH-11112) 2019-02-25 17:59:46 +02:00
fileutils.c bpo-34523: Fix C locale coercion on FreeBSD CURRENT (GH-10672) 2018-11-23 13:08:26 +01:00
formatter_unicode.c bpo-33954: Fix _PyUnicode_InsertThousandsGrouping() (GH-10623) 2018-11-26 13:40:01 +01:00
frozen.c bpo-25711: Rewrite zipimport in pure Python. (GH-6809) 2018-09-18 22:22:29 +03:00
frozenmain.c bpo-36142: Rework error reporting in pymain_main() (GH-12113) 2019-03-01 12:14:41 +01:00
future.c bpo-34683: Make SyntaxError column offsets consistently 1-indexed (gh-9338) 2018-09-24 14:12:49 -07:00
getargs.c bpo-35459: Use PyDict_GetItemWithError() instead of PyDict_GetItem(). (GH-11112) 2019-02-25 17:59:46 +02:00
getcompiler.c closes bpo-31696: don't mention GCC in sys.version when building with clang (#3891) 2017-10-05 21:15:14 -07:00
getcopyright.c Bump copyright years to 2019. (GH-11404) 2019-01-02 07:46:53 -08:00
getopt.c bpo-35081: Add pycore_ prefix to internal header files (GH-10263) 2018-11-01 00:52:28 +01:00
getplatform.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
getversion.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
graminit.c bpo-35808: Retire pgen and use pgen2 to generate the parser (GH-11814) 2019-03-01 15:34:44 -08:00
hamt.c bpo-35059: Cast void* to PyObject* (GH-10650) 2018-11-22 10:25:22 +01:00
import.c bpo-35459: Use PyDict_GetItemWithError() instead of PyDict_GetItem(). (GH-11112) 2019-02-25 17:59:46 +02:00
importdl.c bpo-31315: Fix an assertion failure in imp.create_dynamic(), when spec.name is not a string. (#3257) 2017-09-19 14:39:47 +03:00
importdl.h
importlib.h bpo-35321: Set the spec origin to frozen in frozen modules (#11732) 2019-02-04 16:56:26 -08:00
importlib_external.h bpo-16806: Fix lineno and col_offset for multi-line string tokens (GH-10021) 2019-01-13 13:05:13 +09:00
importlib_zipimport.h bpo-16806: Fix lineno and col_offset for multi-line string tokens (GH-10021) 2019-01-13 13:05:13 +09:00
makeopcodetargets.py
marshal.c bpo-35436: Add missing PyErr_NoMemory() calls and other minor bug fixes. (GH-11015) 2018-12-07 12:11:30 +02:00
modsupport.c bpo-29852: Argument Clinic Py_ssize_t converter now supports None (#716) 2017-03-30 09:15:31 +03:00
mysnprintf.c
mystrtoul.c bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
opcode_targets.h bpo-33041: Rework compiling an "async for" loop. (#6142) 2018-03-23 14:34:35 +02:00
pathconfig.c bpo-36142: Rework error reporting in pymain_main() (GH-12113) 2019-03-01 12:14:41 +01:00
peephole.c bpo-9566: Fix compiler warnings in peephole.c (GH-10652) 2018-12-07 17:54:18 +01:00
preconfig.c bpo-36142: Add preconfig.c (GH-12128) 2019-03-01 17:52:56 +01:00
pyarena.c Fix typos in comments (GH-9905) 2018-10-19 23:30:03 +02:00
pyctype.c
pyfpe.c bpo-29137: Remove fpectl module (#4789) 2018-01-05 23:15:34 -08:00
pyhash.c bpo-31849: Fix warning in pyhash.c (GH-6799) 2018-06-04 19:57:08 +09:00
pylifecycle.c bpo-36142: Rework error reporting in pymain_main() (GH-12113) 2019-03-01 12:14:41 +01:00
pymath.c bpo-35214: Add _Py_ prefix to MEMORY_SANITIZER def. (GH-10503) 2018-11-12 22:01:22 -08:00
pystate.c bpo-33608: Use _Py_AddPendingCall() in _PyCrossInterpreterData_Release(). (gh-12024) 2019-03-01 12:35:10 -07:00
pystrcmp.c
pystrhex.c closes bpo-34646: Remove PyAPI_* macros from declarations. (GH-9218) 2018-09-12 12:06:42 -07:00
pystrtod.c bpo-35436: Add missing PyErr_NoMemory() calls and other minor bug fixes. (GH-11015) 2018-12-07 12:11:30 +02:00
Python-ast.c bpo-35766 follow-up: Kill half-support for FunctionType in PyAST_obj2mod (#11714) 2019-02-01 11:37:34 -08:00
pythonrun.c Re-init _Py_UnhandledKeyboardInterrupt before run. (GH-11963) 2019-02-20 17:35:54 -08:00
pytime.c bpo-34373: fix test_mktime and test_pthread_getcpuclickid tests on AIX (GH-8726) 2018-12-28 23:57:37 +10:00
README
strdup.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
structmember.c Added the const qualifier to char* variables that refer to readonly internal 2016-11-20 10:16:47 +02:00
symtable.c bpo-35459: Use PyDict_GetItemWithError() instead of PyDict_GetItem(). (GH-11112) 2019-02-25 17:59:46 +02:00
sysmodule.c bpo-35890 : Fix some API calling consistency (GH-11742) 2019-02-02 20:26:55 -08:00
thread.c bpo-35081: Rename internal headers (GH-10275) 2018-11-12 16:53:38 +01:00
thread_nt.h bpo-33316: PyThread_release_lock always fails (GH-6541) 2019-02-02 08:22:55 -08:00
thread_pthread.h bpo-12822: use monotonic clock for condvar if possible (GH-11723) 2019-02-20 10:00:09 +09:00
traceback.c bpo-33029: Fix signatures of getter and setter functions. (GH-10746) 2018-11-27 19:34:35 +02:00
wordcode_helpers.h bpo-31338 (#3374) 2017-09-14 18:13:16 -07:00

Miscellaneous source files for the main Python shared library