1#ifndef Py_INTERNAL_COMPILE_H
2#define Py_INTERNAL_COMPILE_H
3#ifdef __cplusplus
4extern "C" {
5#endif
6
7#ifndef Py_BUILD_CORE
8# error "this header requires Py_BUILD_CORE define"
9#endif
10
11struct _arena; // Type defined in pycore_pyarena.h
12struct _mod; // Type defined in pycore_ast.h
13
14// Export the symbol for test_peg_generator (built as a library)
15PyAPI_FUNC(PyCodeObject*) _PyAST_Compile(
16 struct _mod *mod,
17 PyObject *filename,
18 PyCompilerFlags *flags,
19 int optimize,
20 struct _arena *arena);
21extern PyFutureFeatures* _PyFuture_FromAST(
22 struct _mod * mod,
23 PyObject *filename
24 );
25
26extern PyObject* _Py_Mangle(PyObject *p, PyObject *name);
27
28typedef struct {
29 int optimize;
30 int ff_features;
31
32 int recursion_depth; /* current recursion depth */
33 int recursion_limit; /* recursion limit */
34} _PyASTOptimizeState;
35
36extern int _PyAST_Optimize(
37 struct _mod *,
38 struct _arena *arena,
39 _PyASTOptimizeState *state);
40
41#ifdef __cplusplus
42}
43#endif
44#endif /* !Py_INTERNAL_COMPILE_H */
45