File: /Users/paulross/dev/Python-3.6.2/Include/compile.h

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       1: #ifndef Py_COMPILE_H
       2: #define Py_COMPILE_H
       3: 
       4: #ifndef Py_LIMITED_API
       5: #include "code.h"
       6: 
       7: #ifdef __cplusplus
       8: extern "C" {
       9: #endif
      10: 
      11: /* Public interface */
      12: struct _node; /* Declare the existence of this type */
      13: PyAPI_FUNC(PyCodeObject *) PyNode_Compile(struct _node *, const char *);
      14: 
      15: /* Future feature support */
      16: 
      17: typedef 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: #define FUTURE_BARRY_AS_BDFL "barry_as_FLUFL"
      30: #define FUTURE_GENERATOR_STOP "generator_stop"
      31: 
      32: struct _mod; /* Declare the existence of this type */
      33: #define PyAST_Compile(mod, s, f, ar) PyAST_CompileEx(mod, s, f, -1, ar)
      34: PyAPI_FUNC(PyCodeObject *) PyAST_CompileEx(
      35:     struct _mod *mod,
      36:     const char *filename,       /* decoded from the filesystem encoding */
      37:     PyCompilerFlags *flags,
      38:     int optimize,
      39:     PyArena *arena);
      40: PyAPI_FUNC(PyCodeObject *) PyAST_CompileObject(
      41:     struct _mod *mod,
      42:     PyObject *filename,
      43:     PyCompilerFlags *flags,
      44:     int optimize,
      45:     PyArena *arena);
      46: PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(
      47:     struct _mod * mod,
      48:     const char *filename        /* decoded from the filesystem encoding */
      49:     );
      50: PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromASTObject(
      51:     struct _mod * mod,
      52:     PyObject *filename
      53:     );
      54: 
      55: /* _Py_Mangle is defined in compile.c */
      56: PyAPI_FUNC(PyObject*) _Py_Mangle(PyObject *p, PyObject *name);
      57: 
      58: #define PY_INVALID_STACK_EFFECT INT_MAX
      59: PyAPI_FUNC(int) PyCompile_OpcodeStackEffect(int opcode, int oparg);
      60: 
      61: #ifdef __cplusplus
      62: }
      63: #endif
      64: 
      65: #endif /* !Py_LIMITED_API */
      66: 
      67: /* These definitions must match corresponding definitions in graminit.h.
      68:    There's code in compile.c that checks that they are the same. */
      69: #define Py_single_input 256
      70: #define Py_file_input 257
      71: #define Py_eval_input 258
      72: 
      73: #endif /* !Py_COMPILE_H */
      74: