• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef Py_INTERNAL_COMPILE_H
2 #define Py_INTERNAL_COMPILE_H
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
6 
7 #ifndef Py_BUILD_CORE
8 #  error "this header requires Py_BUILD_CORE define"
9 #endif
10 
11 struct _arena;   // Type defined in pycore_pyarena.h
12 struct _mod;     // Type defined in pycore_ast.h
13 
14 // Export the symbol for test_peg_generator (built as a library)
15 PyAPI_FUNC(PyCodeObject*) _PyAST_Compile(
16     struct _mod *mod,
17     PyObject *filename,
18     PyCompilerFlags *flags,
19     int optimize,
20     struct _arena *arena);
21 extern PyFutureFeatures* _PyFuture_FromAST(
22     struct _mod * mod,
23     PyObject *filename
24     );
25 
26 extern PyObject* _Py_Mangle(PyObject *p, PyObject *name);
27 
28 typedef 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 
36 extern 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