1
2#ifndef Py_COMPILE_H
3#define Py_COMPILE_H
4
5#include "code.h"
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11/* Public interface */
12struct _node; /* Declare the existence of this type */
13PyAPI_FUNC(PyCodeObject *) PyNode_Compile(struct _node *, const char *);
14
15/* Future feature support */
16
17typedef struct {
18    int ff_features;      /* flags set by future statements */
19    int ff_lineno;        /* line number of last future statement */
20} PyFutureFeatures;
21
22#define FUTURE_NESTED_SCOPES "nested_scopes"
23#define FUTURE_GENERATORS "generators"
24#define FUTURE_DIVISION "division"
25#define FUTURE_ABSOLUTE_IMPORT "absolute_import"
26#define FUTURE_WITH_STATEMENT "with_statement"
27#define FUTURE_PRINT_FUNCTION "print_function"
28#define FUTURE_UNICODE_LITERALS "unicode_literals"
29
30
31struct _mod; /* Declare the existence of this type */
32PyAPI_FUNC(PyCodeObject *) PyAST_Compile(struct _mod *, const char *,
33					PyCompilerFlags *, PyArena *);
34PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *);
35
36
37#ifdef __cplusplus
38}
39#endif
40#endif /* !Py_COMPILE_H */
41