2021-03-23 23:51:50 +00:00
|
|
|
#ifndef Py_INTERNAL_COMPILE_H
|
|
|
|
#define Py_INTERNAL_COMPILE_H
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef Py_BUILD_CORE
|
|
|
|
# error "this header requires Py_BUILD_CORE define"
|
|
|
|
#endif
|
|
|
|
|
2021-03-24 01:23:01 +00:00
|
|
|
struct _arena; // Type defined in pycore_pyarena.h
|
|
|
|
struct _mod; // Type defined in pycore_ast.h
|
2021-03-23 23:51:50 +00:00
|
|
|
|
|
|
|
// Export the symbol for test_peg_generator (built as a library)
|
|
|
|
PyAPI_FUNC(PyCodeObject*) _PyAST_Compile(
|
|
|
|
struct _mod *mod,
|
|
|
|
PyObject *filename,
|
|
|
|
PyCompilerFlags *flags,
|
|
|
|
int optimize,
|
2021-03-24 01:23:01 +00:00
|
|
|
struct _arena *arena);
|
2021-03-23 23:51:50 +00:00
|
|
|
extern PyFutureFeatures* _PyFuture_FromAST(
|
|
|
|
struct _mod * mod,
|
|
|
|
PyObject *filename
|
|
|
|
);
|
|
|
|
|
|
|
|
extern PyObject* _Py_Mangle(PyObject *p, PyObject *name);
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
int optimize;
|
|
|
|
int ff_features;
|
2021-04-25 10:38:00 +00:00
|
|
|
|
|
|
|
int recursion_depth; /* current recursion depth */
|
|
|
|
int recursion_limit; /* recursion limit */
|
2021-03-23 23:51:50 +00:00
|
|
|
} _PyASTOptimizeState;
|
|
|
|
|
|
|
|
extern int _PyAST_Optimize(
|
|
|
|
struct _mod *,
|
2021-03-24 01:23:01 +00:00
|
|
|
struct _arena *arena,
|
2021-03-23 23:51:50 +00:00
|
|
|
_PyASTOptimizeState *state);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif /* !Py_INTERNAL_COMPILE_H */
|