diff options
Diffstat (limited to 'Include/Python-ast.h')
| -rw-r--r-- | Include/Python-ast.h | 641 | 
1 files changed, 325 insertions, 316 deletions
| diff --git a/Include/Python-ast.h b/Include/Python-ast.h index 0ad788b..00e92d0 100644 --- a/Include/Python-ast.h +++ b/Include/Python-ast.h @@ -36,351 +36,356 @@ typedef struct _keyword *keyword_ty;  typedef struct _alias *alias_ty; +typedef struct _withitem *withitem_ty; +  enum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3,                   Suite_kind=4};  struct _mod { -        enum _mod_kind kind; -        union { -                struct { -                        asdl_seq *body; -                } Module; -                 -                struct { -                        asdl_seq *body; -                } Interactive; -                 -                struct { -                        expr_ty body; -                } Expression; -                 -                struct { -                        asdl_seq *body; -                } Suite; -                 -        } v; +    enum _mod_kind kind; +    union { +        struct { +            asdl_seq *body; +        } Module; +         +        struct { +            asdl_seq *body; +        } Interactive; +         +        struct { +            expr_ty body; +        } Expression; +         +        struct { +            asdl_seq *body; +        } Suite; +         +    } v;  };  enum _stmt_kind {FunctionDef_kind=1, ClassDef_kind=2, Return_kind=3,                    Delete_kind=4, Assign_kind=5, AugAssign_kind=6, For_kind=7,                    While_kind=8, If_kind=9, With_kind=10, Raise_kind=11, -                  TryExcept_kind=12, TryFinally_kind=13, Assert_kind=14, -                  Import_kind=15, ImportFrom_kind=16, Global_kind=17, -                  Nonlocal_kind=18, Expr_kind=19, Pass_kind=20, Break_kind=21, -                  Continue_kind=22}; +                  Try_kind=12, Assert_kind=13, Import_kind=14, +                  ImportFrom_kind=15, Global_kind=16, Nonlocal_kind=17, +                  Expr_kind=18, Pass_kind=19, Break_kind=20, Continue_kind=21};  struct _stmt { -        enum _stmt_kind kind; -        union { -                struct { -                        identifier name; -                        arguments_ty args; -                        asdl_seq *body; -                        asdl_seq *decorator_list; -                        expr_ty returns; -                } FunctionDef; -                 -                struct { -                        identifier name; -                        asdl_seq *bases; -                        asdl_seq *keywords; -                        expr_ty starargs; -                        expr_ty kwargs; -                        asdl_seq *body; -                        asdl_seq *decorator_list; -                } ClassDef; -                 -                struct { -                        expr_ty value; -                } Return; -                 -                struct { -                        asdl_seq *targets; -                } Delete; -                 -                struct { -                        asdl_seq *targets; -                        expr_ty value; -                } Assign; -                 -                struct { -                        expr_ty target; -                        operator_ty op; -                        expr_ty value; -                } AugAssign; -                 -                struct { -                        expr_ty target; -                        expr_ty iter; -                        asdl_seq *body; -                        asdl_seq *orelse; -                } For; -                 -                struct { -                        expr_ty test; -                        asdl_seq *body; -                        asdl_seq *orelse; -                } While; -                 -                struct { -                        expr_ty test; -                        asdl_seq *body; -                        asdl_seq *orelse; -                } If; -                 -                struct { -                        expr_ty context_expr; -                        expr_ty optional_vars; -                        asdl_seq *body; -                } With; -                 -                struct { -                        expr_ty exc; -                        expr_ty cause; -                } Raise; -                 -                struct { -                        asdl_seq *body; -                        asdl_seq *handlers; -                        asdl_seq *orelse; -                } TryExcept; -                 -                struct { -                        asdl_seq *body; -                        asdl_seq *finalbody; -                } TryFinally; -                 -                struct { -                        expr_ty test; -                        expr_ty msg; -                } Assert; -                 -                struct { -                        asdl_seq *names; -                } Import; -                 -                struct { -                        identifier module; -                        asdl_seq *names; -                        int level; -                } ImportFrom; -                 -                struct { -                        asdl_seq *names; -                } Global; -                 -                struct { -                        asdl_seq *names; -                } Nonlocal; -                 -                struct { -                        expr_ty value; -                } Expr; -                 -        } v; -        int lineno; -        int col_offset; +    enum _stmt_kind kind; +    union { +        struct { +            identifier name; +            arguments_ty args; +            asdl_seq *body; +            asdl_seq *decorator_list; +            expr_ty returns; +        } FunctionDef; +         +        struct { +            identifier name; +            asdl_seq *bases; +            asdl_seq *keywords; +            expr_ty starargs; +            expr_ty kwargs; +            asdl_seq *body; +            asdl_seq *decorator_list; +        } ClassDef; +         +        struct { +            expr_ty value; +        } Return; +         +        struct { +            asdl_seq *targets; +        } Delete; +         +        struct { +            asdl_seq *targets; +            expr_ty value; +        } Assign; +         +        struct { +            expr_ty target; +            operator_ty op; +            expr_ty value; +        } AugAssign; +         +        struct { +            expr_ty target; +            expr_ty iter; +            asdl_seq *body; +            asdl_seq *orelse; +        } For; +         +        struct { +            expr_ty test; +            asdl_seq *body; +            asdl_seq *orelse; +        } While; +         +        struct { +            expr_ty test; +            asdl_seq *body; +            asdl_seq *orelse; +        } If; +         +        struct { +            asdl_seq *items; +            asdl_seq *body; +        } With; +         +        struct { +            expr_ty exc; +            expr_ty cause; +        } Raise; +         +        struct { +            asdl_seq *body; +            asdl_seq *handlers; +            asdl_seq *orelse; +            asdl_seq *finalbody; +        } Try; +         +        struct { +            expr_ty test; +            expr_ty msg; +        } Assert; +         +        struct { +            asdl_seq *names; +        } Import; +         +        struct { +            identifier module; +            asdl_seq *names; +            int level; +        } ImportFrom; +         +        struct { +            asdl_seq *names; +        } Global; +         +        struct { +            asdl_seq *names; +        } Nonlocal; +         +        struct { +            expr_ty value; +        } Expr; +         +    } v; +    int lineno; +    int col_offset;  };  enum _expr_kind {BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4,                    IfExp_kind=5, Dict_kind=6, Set_kind=7, ListComp_kind=8,                    SetComp_kind=9, DictComp_kind=10, GeneratorExp_kind=11, -                  Yield_kind=12, Compare_kind=13, Call_kind=14, Num_kind=15, -                  Str_kind=16, Bytes_kind=17, Ellipsis_kind=18, -                  Attribute_kind=19, Subscript_kind=20, Starred_kind=21, -                  Name_kind=22, List_kind=23, Tuple_kind=24}; +                  Yield_kind=12, YieldFrom_kind=13, Compare_kind=14, +                  Call_kind=15, Num_kind=16, Str_kind=17, Bytes_kind=18, +                  Ellipsis_kind=19, Attribute_kind=20, Subscript_kind=21, +                  Starred_kind=22, Name_kind=23, List_kind=24, Tuple_kind=25};  struct _expr { -        enum _expr_kind kind; -        union { -                struct { -                        boolop_ty op; -                        asdl_seq *values; -                } BoolOp; -                 -                struct { -                        expr_ty left; -                        operator_ty op; -                        expr_ty right; -                } BinOp; -                 -                struct { -                        unaryop_ty op; -                        expr_ty operand; -                } UnaryOp; -                 -                struct { -                        arguments_ty args; -                        expr_ty body; -                } Lambda; -                 -                struct { -                        expr_ty test; -                        expr_ty body; -                        expr_ty orelse; -                } IfExp; -                 -                struct { -                        asdl_seq *keys; -                        asdl_seq *values; -                } Dict; -                 -                struct { -                        asdl_seq *elts; -                } Set; -                 -                struct { -                        expr_ty elt; -                        asdl_seq *generators; -                } ListComp; -                 -                struct { -                        expr_ty elt; -                        asdl_seq *generators; -                } SetComp; -                 -                struct { -                        expr_ty key; -                        expr_ty value; -                        asdl_seq *generators; -                } DictComp; -                 -                struct { -                        expr_ty elt; -                        asdl_seq *generators; -                } GeneratorExp; -                 -                struct { -                        expr_ty value; -                } Yield; -                 -                struct { -                        expr_ty left; -                        asdl_int_seq *ops; -                        asdl_seq *comparators; -                } Compare; -                 -                struct { -                        expr_ty func; -                        asdl_seq *args; -                        asdl_seq *keywords; -                        expr_ty starargs; -                        expr_ty kwargs; -                } Call; -                 -                struct { -                        object n; -                } Num; -                 -                struct { -                        string s; -                } Str; -                 -                struct { -                        string s; -                } Bytes; -                 -                struct { -                        expr_ty value; -                        identifier attr; -                        expr_context_ty ctx; -                } Attribute; -                 -                struct { -                        expr_ty value; -                        slice_ty slice; -                        expr_context_ty ctx; -                } Subscript; -                 -                struct { -                        expr_ty value; -                        expr_context_ty ctx; -                } Starred; -                 -                struct { -                        identifier id; -                        expr_context_ty ctx; -                } Name; -                 -                struct { -                        asdl_seq *elts; -                        expr_context_ty ctx; -                } List; -                 -                struct { -                        asdl_seq *elts; -                        expr_context_ty ctx; -                } Tuple; -                 -        } v; -        int lineno; -        int col_offset; +    enum _expr_kind kind; +    union { +        struct { +            boolop_ty op; +            asdl_seq *values; +        } BoolOp; +         +        struct { +            expr_ty left; +            operator_ty op; +            expr_ty right; +        } BinOp; +         +        struct { +            unaryop_ty op; +            expr_ty operand; +        } UnaryOp; +         +        struct { +            arguments_ty args; +            expr_ty body; +        } Lambda; +         +        struct { +            expr_ty test; +            expr_ty body; +            expr_ty orelse; +        } IfExp; +         +        struct { +            asdl_seq *keys; +            asdl_seq *values; +        } Dict; +         +        struct { +            asdl_seq *elts; +        } Set; +         +        struct { +            expr_ty elt; +            asdl_seq *generators; +        } ListComp; +         +        struct { +            expr_ty elt; +            asdl_seq *generators; +        } SetComp; +         +        struct { +            expr_ty key; +            expr_ty value; +            asdl_seq *generators; +        } DictComp; +         +        struct { +            expr_ty elt; +            asdl_seq *generators; +        } GeneratorExp; +         +        struct { +            expr_ty value; +        } Yield; +         +        struct { +            expr_ty value; +        } YieldFrom; +         +        struct { +            expr_ty left; +            asdl_int_seq *ops; +            asdl_seq *comparators; +        } Compare; +         +        struct { +            expr_ty func; +            asdl_seq *args; +            asdl_seq *keywords; +            expr_ty starargs; +            expr_ty kwargs; +        } Call; +         +        struct { +            object n; +        } Num; +         +        struct { +            string s; +        } Str; +         +        struct { +            bytes s; +        } Bytes; +         +        struct { +            expr_ty value; +            identifier attr; +            expr_context_ty ctx; +        } Attribute; +         +        struct { +            expr_ty value; +            slice_ty slice; +            expr_context_ty ctx; +        } Subscript; +         +        struct { +            expr_ty value; +            expr_context_ty ctx; +        } Starred; +         +        struct { +            identifier id; +            expr_context_ty ctx; +        } Name; +         +        struct { +            asdl_seq *elts; +            expr_context_ty ctx; +        } List; +         +        struct { +            asdl_seq *elts; +            expr_context_ty ctx; +        } Tuple; +         +    } v; +    int lineno; +    int col_offset;  };  enum _slice_kind {Slice_kind=1, ExtSlice_kind=2, Index_kind=3};  struct _slice { -        enum _slice_kind kind; -        union { -                struct { -                        expr_ty lower; -                        expr_ty upper; -                        expr_ty step; -                } Slice; -                 -                struct { -                        asdl_seq *dims; -                } ExtSlice; -                 -                struct { -                        expr_ty value; -                } Index; -                 -        } v; +    enum _slice_kind kind; +    union { +        struct { +            expr_ty lower; +            expr_ty upper; +            expr_ty step; +        } Slice; +         +        struct { +            asdl_seq *dims; +        } ExtSlice; +         +        struct { +            expr_ty value; +        } Index; +         +    } v;  };  struct _comprehension { -        expr_ty target; -        expr_ty iter; -        asdl_seq *ifs; +    expr_ty target; +    expr_ty iter; +    asdl_seq *ifs;  };  enum _excepthandler_kind {ExceptHandler_kind=1};  struct _excepthandler { -        enum _excepthandler_kind kind; -        union { -                struct { -                        expr_ty type; -                        identifier name; -                        asdl_seq *body; -                } ExceptHandler; -                 -        } v; -        int lineno; -        int col_offset; +    enum _excepthandler_kind kind; +    union { +        struct { +            expr_ty type; +            identifier name; +            asdl_seq *body; +        } ExceptHandler; +         +    } v; +    int lineno; +    int col_offset;  };  struct _arguments { -        asdl_seq *args; -        identifier vararg; -        expr_ty varargannotation; -        asdl_seq *kwonlyargs; -        identifier kwarg; -        expr_ty kwargannotation; -        asdl_seq *defaults; -        asdl_seq *kw_defaults; +    asdl_seq *args; +    identifier vararg; +    expr_ty varargannotation; +    asdl_seq *kwonlyargs; +    identifier kwarg; +    expr_ty kwargannotation; +    asdl_seq *defaults; +    asdl_seq *kw_defaults;  };  struct _arg { -        identifier arg; -        expr_ty annotation; +    identifier arg; +    expr_ty annotation;  };  struct _keyword { -        identifier arg; -        expr_ty value; +    identifier arg; +    expr_ty value;  };  struct _alias { -        identifier name; -        identifier asname; +    identifier name; +    identifier asname; +}; + +struct _withitem { +    expr_ty context_expr; +    expr_ty optional_vars;  }; @@ -421,18 +426,16 @@ stmt_ty _Py_While(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,  #define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5)  stmt_ty _Py_If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,                 int col_offset, PyArena *arena); -#define With(a0, a1, a2, a3, a4, a5) _Py_With(a0, a1, a2, a3, a4, a5) -stmt_ty _Py_With(expr_ty context_expr, expr_ty optional_vars, asdl_seq * body, -                 int lineno, int col_offset, PyArena *arena); +#define With(a0, a1, a2, a3, a4) _Py_With(a0, a1, a2, a3, a4) +stmt_ty _Py_With(asdl_seq * items, asdl_seq * body, int lineno, int col_offset, +                 PyArena *arena);  #define Raise(a0, a1, a2, a3, a4) _Py_Raise(a0, a1, a2, a3, a4)  stmt_ty _Py_Raise(expr_ty exc, expr_ty cause, int lineno, int col_offset,                    PyArena *arena); -#define TryExcept(a0, a1, a2, a3, a4, a5) _Py_TryExcept(a0, a1, a2, a3, a4, a5) -stmt_ty _Py_TryExcept(asdl_seq * body, asdl_seq * handlers, asdl_seq * orelse, -                      int lineno, int col_offset, PyArena *arena); -#define TryFinally(a0, a1, a2, a3, a4) _Py_TryFinally(a0, a1, a2, a3, a4) -stmt_ty _Py_TryFinally(asdl_seq * body, asdl_seq * finalbody, int lineno, int -                       col_offset, PyArena *arena); +#define Try(a0, a1, a2, a3, a4, a5, a6) _Py_Try(a0, a1, a2, a3, a4, a5, a6) +stmt_ty _Py_Try(asdl_seq * body, asdl_seq * handlers, asdl_seq * orelse, +                asdl_seq * finalbody, int lineno, int col_offset, PyArena +                *arena);  #define Assert(a0, a1, a2, a3, a4) _Py_Assert(a0, a1, a2, a3, a4)  stmt_ty _Py_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset,                     PyArena *arena); @@ -490,6 +493,9 @@ expr_ty _Py_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int                           col_offset, PyArena *arena);  #define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3)  expr_ty _Py_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena); +#define YieldFrom(a0, a1, a2, a3) _Py_YieldFrom(a0, a1, a2, a3) +expr_ty _Py_YieldFrom(expr_ty value, int lineno, int col_offset, PyArena +                      *arena);  #define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5)  expr_ty _Py_Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators,                      int lineno, int col_offset, PyArena *arena); @@ -502,7 +508,7 @@ expr_ty _Py_Num(object n, int lineno, int col_offset, PyArena *arena);  #define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3)  expr_ty _Py_Str(string s, int lineno, int col_offset, PyArena *arena);  #define Bytes(a0, a1, a2, a3) _Py_Bytes(a0, a1, a2, a3) -expr_ty _Py_Bytes(string s, int lineno, int col_offset, PyArena *arena); +expr_ty _Py_Bytes(bytes s, int lineno, int col_offset, PyArena *arena);  #define Ellipsis(a0, a1, a2) _Py_Ellipsis(a0, a1, a2)  expr_ty _Py_Ellipsis(int lineno, int col_offset, PyArena *arena);  #define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5) @@ -547,6 +553,9 @@ arg_ty _Py_arg(identifier arg, expr_ty annotation, PyArena *arena);  keyword_ty _Py_keyword(identifier arg, expr_ty value, PyArena *arena);  #define alias(a0, a1, a2) _Py_alias(a0, a1, a2)  alias_ty _Py_alias(identifier name, identifier asname, PyArena *arena); +#define withitem(a0, a1, a2) _Py_withitem(a0, a1, a2) +withitem_ty _Py_withitem(expr_ty context_expr, expr_ty optional_vars, PyArena +                         *arena);  PyObject* PyAST_mod2obj(mod_ty t);  mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode); | 
