:c:func:`PyParser_SimpleParseStringFlagsFilename` below, leaving *filename* set
to ``NULL`` and *flags* set to ``0``.
+ .. deprecated-removed:: 3.9 3.10
+
.. c:function:: struct _node* PyParser_SimpleParseStringFlags( const char *str, int start, int flags)
:c:func:`PyParser_SimpleParseStringFlagsFilename` below, leaving *filename* set
to ``NULL``.
+ .. deprecated-removed:: 3.9 3.10
+
.. c:function:: struct _node* PyParser_SimpleParseStringFlagsFilename( const char *str, const char *filename, int start, int flags)
many times. *filename* is decoded from the filesystem encoding
(:func:`sys.getfilesystemencoding`).
+ .. deprecated-removed:: 3.9 3.10
+
.. c:function:: struct _node* PyParser_SimpleParseFile(FILE *fp, const char *filename, int start)
This is a simplified interface to :c:func:`PyParser_SimpleParseFileFlags` below,
leaving *flags* set to ``0``.
+ .. deprecated-removed:: 3.9 3.10
+
.. c:function:: struct _node* PyParser_SimpleParseFileFlags(FILE *fp, const char *filename, int start, int flags)
Similar to :c:func:`PyParser_SimpleParseStringFlagsFilename`, but the Python
source code is read from *fp* instead of an in-memory string.
+ .. deprecated-removed:: 3.9 3.10
+
.. c:function:: PyObject* PyRun_String(const char *str, int start, PyObject *globals, PyObject *locals)
users can leverage the Abstract Syntax Tree (AST) generation and compilation
stage, using the :mod:`ast` module.
+* The Public C API functions :c:func:`PyParser_SimpleParseStringFlags`,
+ :c:func:`PyParser_SimpleParseStringFlagsFilename` and
+ :c:func:`PyParser_SimpleParseFileFlags` are deprecated and will be removed
+ in Python 3.10 together with the old parser.
+
* Using :data:`NotImplemented` in a boolean context has been deprecated,
as it is almost exclusively the result of incorrect rich comparator
implementations. It will be made a :exc:`TypeError` in a future version
#define PyParser_SimpleParseFile(FP, S, B) \
PyParser_SimpleParseFileFlags(FP, S, B, 0)
#endif
-PyAPI_FUNC(struct _node *) PyParser_SimpleParseStringFlags(const char *, int,
- int);
+Py_DEPRECATED(3.9) PyAPI_FUNC(struct _node *) PyParser_SimpleParseStringFlags(const char *,
+ int, int);
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
-PyAPI_FUNC(struct _node *) PyParser_SimpleParseStringFlagsFilename(const char *,
- const char *,
- int, int);
+Py_DEPRECATED(3.9) PyAPI_FUNC(struct _node *) PyParser_SimpleParseStringFlagsFilename(const char *,
+ const char *,
+ int, int);
#endif
-PyAPI_FUNC(struct _node *) PyParser_SimpleParseFileFlags(FILE *, const char *,
- int, int);
-
+Py_DEPRECATED(3.9) PyAPI_FUNC(struct _node *) PyParser_SimpleParseFileFlags(FILE *, const char *,
+ int, int);
#ifndef Py_LIMITED_API
PyAPI_FUNC(PyObject *) PyRun_StringFlags(const char *, int, PyObject *,
PyObject *, PyCompilerFlags *);
--- /dev/null
+Deprecate :c:func:`PyParser_SimpleParseStringFlags`, :c:func:`PyParser_SimpleParseStringFlagsFilename` and :c:func:`PyParser_SimpleParseFileFlags`.
\ No newline at end of file