Chris@87: /* File automatically generated by Parser/asdl_c.py. */ Chris@87: Chris@87: #include "asdl.h" Chris@87: Chris@87: typedef struct _mod *mod_ty; Chris@87: Chris@87: typedef struct _stmt *stmt_ty; Chris@87: Chris@87: typedef struct _expr *expr_ty; Chris@87: Chris@87: typedef enum _expr_context { Load=1, Store=2, Del=3, AugLoad=4, AugStore=5, Chris@87: Param=6 } expr_context_ty; Chris@87: Chris@87: typedef struct _slice *slice_ty; Chris@87: Chris@87: typedef enum _boolop { And=1, Or=2 } boolop_ty; Chris@87: Chris@87: typedef enum _operator { Add=1, Sub=2, Mult=3, Div=4, Mod=5, Pow=6, LShift=7, Chris@87: RShift=8, BitOr=9, BitXor=10, BitAnd=11, FloorDiv=12 } Chris@87: operator_ty; Chris@87: Chris@87: typedef enum _unaryop { Invert=1, Not=2, UAdd=3, USub=4 } unaryop_ty; Chris@87: Chris@87: typedef enum _cmpop { Eq=1, NotEq=2, Lt=3, LtE=4, Gt=5, GtE=6, Is=7, IsNot=8, Chris@87: In=9, NotIn=10 } cmpop_ty; Chris@87: Chris@87: typedef struct _comprehension *comprehension_ty; Chris@87: Chris@87: typedef struct _excepthandler *excepthandler_ty; Chris@87: Chris@87: typedef struct _arguments *arguments_ty; Chris@87: Chris@87: typedef struct _keyword *keyword_ty; Chris@87: Chris@87: typedef struct _alias *alias_ty; Chris@87: Chris@87: Chris@87: enum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3, Chris@87: Suite_kind=4}; Chris@87: struct _mod { Chris@87: enum _mod_kind kind; Chris@87: union { Chris@87: struct { Chris@87: asdl_seq *body; Chris@87: } Module; Chris@87: Chris@87: struct { Chris@87: asdl_seq *body; Chris@87: } Interactive; Chris@87: Chris@87: struct { Chris@87: expr_ty body; Chris@87: } Expression; Chris@87: Chris@87: struct { Chris@87: asdl_seq *body; Chris@87: } Suite; Chris@87: Chris@87: } v; Chris@87: }; Chris@87: Chris@87: enum _stmt_kind {FunctionDef_kind=1, ClassDef_kind=2, Return_kind=3, Chris@87: Delete_kind=4, Assign_kind=5, AugAssign_kind=6, Print_kind=7, Chris@87: For_kind=8, While_kind=9, If_kind=10, With_kind=11, Chris@87: Raise_kind=12, TryExcept_kind=13, TryFinally_kind=14, Chris@87: Assert_kind=15, Import_kind=16, ImportFrom_kind=17, Chris@87: Exec_kind=18, Global_kind=19, Expr_kind=20, Pass_kind=21, Chris@87: Break_kind=22, Continue_kind=23}; Chris@87: struct _stmt { Chris@87: enum _stmt_kind kind; Chris@87: union { Chris@87: struct { Chris@87: identifier name; Chris@87: arguments_ty args; Chris@87: asdl_seq *body; Chris@87: asdl_seq *decorator_list; Chris@87: } FunctionDef; Chris@87: Chris@87: struct { Chris@87: identifier name; Chris@87: asdl_seq *bases; Chris@87: asdl_seq *body; Chris@87: asdl_seq *decorator_list; Chris@87: } ClassDef; Chris@87: Chris@87: struct { Chris@87: expr_ty value; Chris@87: } Return; Chris@87: Chris@87: struct { Chris@87: asdl_seq *targets; Chris@87: } Delete; Chris@87: Chris@87: struct { Chris@87: asdl_seq *targets; Chris@87: expr_ty value; Chris@87: } Assign; Chris@87: Chris@87: struct { Chris@87: expr_ty target; Chris@87: operator_ty op; Chris@87: expr_ty value; Chris@87: } AugAssign; Chris@87: Chris@87: struct { Chris@87: expr_ty dest; Chris@87: asdl_seq *values; Chris@87: bool nl; Chris@87: } Print; Chris@87: Chris@87: struct { Chris@87: expr_ty target; Chris@87: expr_ty iter; Chris@87: asdl_seq *body; Chris@87: asdl_seq *orelse; Chris@87: } For; Chris@87: Chris@87: struct { Chris@87: expr_ty test; Chris@87: asdl_seq *body; Chris@87: asdl_seq *orelse; Chris@87: } While; Chris@87: Chris@87: struct { Chris@87: expr_ty test; Chris@87: asdl_seq *body; Chris@87: asdl_seq *orelse; Chris@87: } If; Chris@87: Chris@87: struct { Chris@87: expr_ty context_expr; Chris@87: expr_ty optional_vars; Chris@87: asdl_seq *body; Chris@87: } With; Chris@87: Chris@87: struct { Chris@87: expr_ty type; Chris@87: expr_ty inst; Chris@87: expr_ty tback; Chris@87: } Raise; Chris@87: Chris@87: struct { Chris@87: asdl_seq *body; Chris@87: asdl_seq *handlers; Chris@87: asdl_seq *orelse; Chris@87: } TryExcept; Chris@87: Chris@87: struct { Chris@87: asdl_seq *body; Chris@87: asdl_seq *finalbody; Chris@87: } TryFinally; Chris@87: Chris@87: struct { Chris@87: expr_ty test; Chris@87: expr_ty msg; Chris@87: } Assert; Chris@87: Chris@87: struct { Chris@87: asdl_seq *names; Chris@87: } Import; Chris@87: Chris@87: struct { Chris@87: identifier module; Chris@87: asdl_seq *names; Chris@87: int level; Chris@87: } ImportFrom; Chris@87: Chris@87: struct { Chris@87: expr_ty body; Chris@87: expr_ty globals; Chris@87: expr_ty locals; Chris@87: } Exec; Chris@87: Chris@87: struct { Chris@87: asdl_seq *names; Chris@87: } Global; Chris@87: Chris@87: struct { Chris@87: expr_ty value; Chris@87: } Expr; Chris@87: Chris@87: } v; Chris@87: int lineno; Chris@87: int col_offset; Chris@87: }; Chris@87: Chris@87: enum _expr_kind {BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4, Chris@87: IfExp_kind=5, Dict_kind=6, Set_kind=7, ListComp_kind=8, Chris@87: SetComp_kind=9, DictComp_kind=10, GeneratorExp_kind=11, Chris@87: Yield_kind=12, Compare_kind=13, Call_kind=14, Repr_kind=15, Chris@87: Num_kind=16, Str_kind=17, Attribute_kind=18, Chris@87: Subscript_kind=19, Name_kind=20, List_kind=21, Tuple_kind=22}; Chris@87: struct _expr { Chris@87: enum _expr_kind kind; Chris@87: union { Chris@87: struct { Chris@87: boolop_ty op; Chris@87: asdl_seq *values; Chris@87: } BoolOp; Chris@87: Chris@87: struct { Chris@87: expr_ty left; Chris@87: operator_ty op; Chris@87: expr_ty right; Chris@87: } BinOp; Chris@87: Chris@87: struct { Chris@87: unaryop_ty op; Chris@87: expr_ty operand; Chris@87: } UnaryOp; Chris@87: Chris@87: struct { Chris@87: arguments_ty args; Chris@87: expr_ty body; Chris@87: } Lambda; Chris@87: Chris@87: struct { Chris@87: expr_ty test; Chris@87: expr_ty body; Chris@87: expr_ty orelse; Chris@87: } IfExp; Chris@87: Chris@87: struct { Chris@87: asdl_seq *keys; Chris@87: asdl_seq *values; Chris@87: } Dict; Chris@87: Chris@87: struct { Chris@87: asdl_seq *elts; Chris@87: } Set; Chris@87: Chris@87: struct { Chris@87: expr_ty elt; Chris@87: asdl_seq *generators; Chris@87: } ListComp; Chris@87: Chris@87: struct { Chris@87: expr_ty elt; Chris@87: asdl_seq *generators; Chris@87: } SetComp; Chris@87: Chris@87: struct { Chris@87: expr_ty key; Chris@87: expr_ty value; Chris@87: asdl_seq *generators; Chris@87: } DictComp; Chris@87: Chris@87: struct { Chris@87: expr_ty elt; Chris@87: asdl_seq *generators; Chris@87: } GeneratorExp; Chris@87: Chris@87: struct { Chris@87: expr_ty value; Chris@87: } Yield; Chris@87: Chris@87: struct { Chris@87: expr_ty left; Chris@87: asdl_int_seq *ops; Chris@87: asdl_seq *comparators; Chris@87: } Compare; Chris@87: Chris@87: struct { Chris@87: expr_ty func; Chris@87: asdl_seq *args; Chris@87: asdl_seq *keywords; Chris@87: expr_ty starargs; Chris@87: expr_ty kwargs; Chris@87: } Call; Chris@87: Chris@87: struct { Chris@87: expr_ty value; Chris@87: } Repr; Chris@87: Chris@87: struct { Chris@87: object n; Chris@87: } Num; Chris@87: Chris@87: struct { Chris@87: string s; Chris@87: } Str; Chris@87: Chris@87: struct { Chris@87: expr_ty value; Chris@87: identifier attr; Chris@87: expr_context_ty ctx; Chris@87: } Attribute; Chris@87: Chris@87: struct { Chris@87: expr_ty value; Chris@87: slice_ty slice; Chris@87: expr_context_ty ctx; Chris@87: } Subscript; Chris@87: Chris@87: struct { Chris@87: identifier id; Chris@87: expr_context_ty ctx; Chris@87: } Name; Chris@87: Chris@87: struct { Chris@87: asdl_seq *elts; Chris@87: expr_context_ty ctx; Chris@87: } List; Chris@87: Chris@87: struct { Chris@87: asdl_seq *elts; Chris@87: expr_context_ty ctx; Chris@87: } Tuple; Chris@87: Chris@87: } v; Chris@87: int lineno; Chris@87: int col_offset; Chris@87: }; Chris@87: Chris@87: enum _slice_kind {Ellipsis_kind=1, Slice_kind=2, ExtSlice_kind=3, Index_kind=4}; Chris@87: struct _slice { Chris@87: enum _slice_kind kind; Chris@87: union { Chris@87: struct { Chris@87: expr_ty lower; Chris@87: expr_ty upper; Chris@87: expr_ty step; Chris@87: } Slice; Chris@87: Chris@87: struct { Chris@87: asdl_seq *dims; Chris@87: } ExtSlice; Chris@87: Chris@87: struct { Chris@87: expr_ty value; Chris@87: } Index; Chris@87: Chris@87: } v; Chris@87: }; Chris@87: Chris@87: struct _comprehension { Chris@87: expr_ty target; Chris@87: expr_ty iter; Chris@87: asdl_seq *ifs; Chris@87: }; Chris@87: Chris@87: enum _excepthandler_kind {ExceptHandler_kind=1}; Chris@87: struct _excepthandler { Chris@87: enum _excepthandler_kind kind; Chris@87: union { Chris@87: struct { Chris@87: expr_ty type; Chris@87: expr_ty name; Chris@87: asdl_seq *body; Chris@87: } ExceptHandler; Chris@87: Chris@87: } v; Chris@87: int lineno; Chris@87: int col_offset; Chris@87: }; Chris@87: Chris@87: struct _arguments { Chris@87: asdl_seq *args; Chris@87: identifier vararg; Chris@87: identifier kwarg; Chris@87: asdl_seq *defaults; Chris@87: }; Chris@87: Chris@87: struct _keyword { Chris@87: identifier arg; Chris@87: expr_ty value; Chris@87: }; Chris@87: Chris@87: struct _alias { Chris@87: identifier name; Chris@87: identifier asname; Chris@87: }; Chris@87: Chris@87: Chris@87: #define Module(a0, a1) _Py_Module(a0, a1) Chris@87: mod_ty _Py_Module(asdl_seq * body, PyArena *arena); Chris@87: #define Interactive(a0, a1) _Py_Interactive(a0, a1) Chris@87: mod_ty _Py_Interactive(asdl_seq * body, PyArena *arena); Chris@87: #define Expression(a0, a1) _Py_Expression(a0, a1) Chris@87: mod_ty _Py_Expression(expr_ty body, PyArena *arena); Chris@87: #define Suite(a0, a1) _Py_Suite(a0, a1) Chris@87: mod_ty _Py_Suite(asdl_seq * body, PyArena *arena); Chris@87: #define FunctionDef(a0, a1, a2, a3, a4, a5, a6) _Py_FunctionDef(a0, a1, a2, a3, a4, a5, a6) Chris@87: stmt_ty _Py_FunctionDef(identifier name, arguments_ty args, asdl_seq * body, Chris@87: asdl_seq * decorator_list, int lineno, int col_offset, Chris@87: PyArena *arena); Chris@87: #define ClassDef(a0, a1, a2, a3, a4, a5, a6) _Py_ClassDef(a0, a1, a2, a3, a4, a5, a6) Chris@87: stmt_ty _Py_ClassDef(identifier name, asdl_seq * bases, asdl_seq * body, Chris@87: asdl_seq * decorator_list, int lineno, int col_offset, Chris@87: PyArena *arena); Chris@87: #define Return(a0, a1, a2, a3) _Py_Return(a0, a1, a2, a3) Chris@87: stmt_ty _Py_Return(expr_ty value, int lineno, int col_offset, PyArena *arena); Chris@87: #define Delete(a0, a1, a2, a3) _Py_Delete(a0, a1, a2, a3) Chris@87: stmt_ty _Py_Delete(asdl_seq * targets, int lineno, int col_offset, PyArena Chris@87: *arena); Chris@87: #define Assign(a0, a1, a2, a3, a4) _Py_Assign(a0, a1, a2, a3, a4) Chris@87: stmt_ty _Py_Assign(asdl_seq * targets, expr_ty value, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define AugAssign(a0, a1, a2, a3, a4, a5) _Py_AugAssign(a0, a1, a2, a3, a4, a5) Chris@87: stmt_ty _Py_AugAssign(expr_ty target, operator_ty op, expr_ty value, int Chris@87: lineno, int col_offset, PyArena *arena); Chris@87: #define Print(a0, a1, a2, a3, a4, a5) _Py_Print(a0, a1, a2, a3, a4, a5) Chris@87: stmt_ty _Py_Print(expr_ty dest, asdl_seq * values, bool nl, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define For(a0, a1, a2, a3, a4, a5, a6) _Py_For(a0, a1, a2, a3, a4, a5, a6) Chris@87: stmt_ty _Py_For(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq * Chris@87: orelse, int lineno, int col_offset, PyArena *arena); Chris@87: #define While(a0, a1, a2, a3, a4, a5) _Py_While(a0, a1, a2, a3, a4, a5) Chris@87: stmt_ty _Py_While(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno, Chris@87: int col_offset, PyArena *arena); Chris@87: #define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5) Chris@87: stmt_ty _Py_If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno, Chris@87: int col_offset, PyArena *arena); Chris@87: #define With(a0, a1, a2, a3, a4, a5) _Py_With(a0, a1, a2, a3, a4, a5) Chris@87: stmt_ty _Py_With(expr_ty context_expr, expr_ty optional_vars, asdl_seq * body, Chris@87: int lineno, int col_offset, PyArena *arena); Chris@87: #define Raise(a0, a1, a2, a3, a4, a5) _Py_Raise(a0, a1, a2, a3, a4, a5) Chris@87: stmt_ty _Py_Raise(expr_ty type, expr_ty inst, expr_ty tback, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define TryExcept(a0, a1, a2, a3, a4, a5) _Py_TryExcept(a0, a1, a2, a3, a4, a5) Chris@87: stmt_ty _Py_TryExcept(asdl_seq * body, asdl_seq * handlers, asdl_seq * orelse, Chris@87: int lineno, int col_offset, PyArena *arena); Chris@87: #define TryFinally(a0, a1, a2, a3, a4) _Py_TryFinally(a0, a1, a2, a3, a4) Chris@87: stmt_ty _Py_TryFinally(asdl_seq * body, asdl_seq * finalbody, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define Assert(a0, a1, a2, a3, a4) _Py_Assert(a0, a1, a2, a3, a4) Chris@87: stmt_ty _Py_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset, Chris@87: PyArena *arena); Chris@87: #define Import(a0, a1, a2, a3) _Py_Import(a0, a1, a2, a3) Chris@87: stmt_ty _Py_Import(asdl_seq * names, int lineno, int col_offset, PyArena Chris@87: *arena); Chris@87: #define ImportFrom(a0, a1, a2, a3, a4, a5) _Py_ImportFrom(a0, a1, a2, a3, a4, a5) Chris@87: stmt_ty _Py_ImportFrom(identifier module, asdl_seq * names, int level, int Chris@87: lineno, int col_offset, PyArena *arena); Chris@87: #define Exec(a0, a1, a2, a3, a4, a5) _Py_Exec(a0, a1, a2, a3, a4, a5) Chris@87: stmt_ty _Py_Exec(expr_ty body, expr_ty globals, expr_ty locals, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define Global(a0, a1, a2, a3) _Py_Global(a0, a1, a2, a3) Chris@87: stmt_ty _Py_Global(asdl_seq * names, int lineno, int col_offset, PyArena Chris@87: *arena); Chris@87: #define Expr(a0, a1, a2, a3) _Py_Expr(a0, a1, a2, a3) Chris@87: stmt_ty _Py_Expr(expr_ty value, int lineno, int col_offset, PyArena *arena); Chris@87: #define Pass(a0, a1, a2) _Py_Pass(a0, a1, a2) Chris@87: stmt_ty _Py_Pass(int lineno, int col_offset, PyArena *arena); Chris@87: #define Break(a0, a1, a2) _Py_Break(a0, a1, a2) Chris@87: stmt_ty _Py_Break(int lineno, int col_offset, PyArena *arena); Chris@87: #define Continue(a0, a1, a2) _Py_Continue(a0, a1, a2) Chris@87: stmt_ty _Py_Continue(int lineno, int col_offset, PyArena *arena); Chris@87: #define BoolOp(a0, a1, a2, a3, a4) _Py_BoolOp(a0, a1, a2, a3, a4) Chris@87: expr_ty _Py_BoolOp(boolop_ty op, asdl_seq * values, int lineno, int col_offset, Chris@87: PyArena *arena); Chris@87: #define BinOp(a0, a1, a2, a3, a4, a5) _Py_BinOp(a0, a1, a2, a3, a4, a5) Chris@87: expr_ty _Py_BinOp(expr_ty left, operator_ty op, expr_ty right, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define UnaryOp(a0, a1, a2, a3, a4) _Py_UnaryOp(a0, a1, a2, a3, a4) Chris@87: expr_ty _Py_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int col_offset, Chris@87: PyArena *arena); Chris@87: #define Lambda(a0, a1, a2, a3, a4) _Py_Lambda(a0, a1, a2, a3, a4) Chris@87: expr_ty _Py_Lambda(arguments_ty args, expr_ty body, int lineno, int col_offset, Chris@87: PyArena *arena); Chris@87: #define IfExp(a0, a1, a2, a3, a4, a5) _Py_IfExp(a0, a1, a2, a3, a4, a5) Chris@87: expr_ty _Py_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define Dict(a0, a1, a2, a3, a4) _Py_Dict(a0, a1, a2, a3, a4) Chris@87: expr_ty _Py_Dict(asdl_seq * keys, asdl_seq * values, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define Set(a0, a1, a2, a3) _Py_Set(a0, a1, a2, a3) Chris@87: expr_ty _Py_Set(asdl_seq * elts, int lineno, int col_offset, PyArena *arena); Chris@87: #define ListComp(a0, a1, a2, a3, a4) _Py_ListComp(a0, a1, a2, a3, a4) Chris@87: expr_ty _Py_ListComp(expr_ty elt, asdl_seq * generators, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define SetComp(a0, a1, a2, a3, a4) _Py_SetComp(a0, a1, a2, a3, a4) Chris@87: expr_ty _Py_SetComp(expr_ty elt, asdl_seq * generators, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define DictComp(a0, a1, a2, a3, a4, a5) _Py_DictComp(a0, a1, a2, a3, a4, a5) Chris@87: expr_ty _Py_DictComp(expr_ty key, expr_ty value, asdl_seq * generators, int Chris@87: lineno, int col_offset, PyArena *arena); Chris@87: #define GeneratorExp(a0, a1, a2, a3, a4) _Py_GeneratorExp(a0, a1, a2, a3, a4) Chris@87: expr_ty _Py_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3) Chris@87: expr_ty _Py_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena); Chris@87: #define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5) Chris@87: expr_ty _Py_Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators, Chris@87: int lineno, int col_offset, PyArena *arena); Chris@87: #define Call(a0, a1, a2, a3, a4, a5, a6, a7) _Py_Call(a0, a1, a2, a3, a4, a5, a6, a7) Chris@87: expr_ty _Py_Call(expr_ty func, asdl_seq * args, asdl_seq * keywords, expr_ty Chris@87: starargs, expr_ty kwargs, int lineno, int col_offset, PyArena Chris@87: *arena); Chris@87: #define Repr(a0, a1, a2, a3) _Py_Repr(a0, a1, a2, a3) Chris@87: expr_ty _Py_Repr(expr_ty value, int lineno, int col_offset, PyArena *arena); Chris@87: #define Num(a0, a1, a2, a3) _Py_Num(a0, a1, a2, a3) Chris@87: expr_ty _Py_Num(object n, int lineno, int col_offset, PyArena *arena); Chris@87: #define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3) Chris@87: expr_ty _Py_Str(string s, int lineno, int col_offset, PyArena *arena); Chris@87: #define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5) Chris@87: expr_ty _Py_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, int Chris@87: lineno, int col_offset, PyArena *arena); Chris@87: #define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5) Chris@87: expr_ty _Py_Subscript(expr_ty value, slice_ty slice, expr_context_ty ctx, int Chris@87: lineno, int col_offset, PyArena *arena); Chris@87: #define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4) Chris@87: expr_ty _Py_Name(identifier id, expr_context_ty ctx, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define List(a0, a1, a2, a3, a4) _Py_List(a0, a1, a2, a3, a4) Chris@87: expr_ty _Py_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define Tuple(a0, a1, a2, a3, a4) _Py_Tuple(a0, a1, a2, a3, a4) Chris@87: expr_ty _Py_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int Chris@87: col_offset, PyArena *arena); Chris@87: #define Ellipsis(a0) _Py_Ellipsis(a0) Chris@87: slice_ty _Py_Ellipsis(PyArena *arena); Chris@87: #define Slice(a0, a1, a2, a3) _Py_Slice(a0, a1, a2, a3) Chris@87: slice_ty _Py_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena); Chris@87: #define ExtSlice(a0, a1) _Py_ExtSlice(a0, a1) Chris@87: slice_ty _Py_ExtSlice(asdl_seq * dims, PyArena *arena); Chris@87: #define Index(a0, a1) _Py_Index(a0, a1) Chris@87: slice_ty _Py_Index(expr_ty value, PyArena *arena); Chris@87: #define comprehension(a0, a1, a2, a3) _Py_comprehension(a0, a1, a2, a3) Chris@87: comprehension_ty _Py_comprehension(expr_ty target, expr_ty iter, asdl_seq * Chris@87: ifs, PyArena *arena); Chris@87: #define ExceptHandler(a0, a1, a2, a3, a4, a5) _Py_ExceptHandler(a0, a1, a2, a3, a4, a5) Chris@87: excepthandler_ty _Py_ExceptHandler(expr_ty type, expr_ty name, asdl_seq * body, Chris@87: int lineno, int col_offset, PyArena *arena); Chris@87: #define arguments(a0, a1, a2, a3, a4) _Py_arguments(a0, a1, a2, a3, a4) Chris@87: arguments_ty _Py_arguments(asdl_seq * args, identifier vararg, identifier Chris@87: kwarg, asdl_seq * defaults, PyArena *arena); Chris@87: #define keyword(a0, a1, a2) _Py_keyword(a0, a1, a2) Chris@87: keyword_ty _Py_keyword(identifier arg, expr_ty value, PyArena *arena); Chris@87: #define alias(a0, a1, a2) _Py_alias(a0, a1, a2) Chris@87: alias_ty _Py_alias(identifier name, identifier asname, PyArena *arena); Chris@87: Chris@87: PyObject* PyAST_mod2obj(mod_ty t); Chris@87: mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode); Chris@87: int PyAST_Check(PyObject* obj);