blob: 61001016aa16a3f44f35fbd343d284ee89c9b39c [file] [log] [blame]
Andrew Hsieh83760d22013-06-18 12:24:28 -07001
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 */