10a8c90248264a8b26970b4473770bcc3df8515fJosh Gao/* File automatically generated by Parser/asdl_c.py. */
20a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
30a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#include "asdl.h"
40a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
50a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef struct _mod *mod_ty;
60a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
70a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef struct _stmt *stmt_ty;
80a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
90a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef struct _expr *expr_ty;
100a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
110a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef enum _expr_context { Load=1, Store=2, Del=3, AugLoad=4, AugStore=5,
120a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                             Param=6 } expr_context_ty;
130a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
140a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef struct _slice *slice_ty;
150a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
160a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef enum _boolop { And=1, Or=2 } boolop_ty;
170a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
180a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef enum _operator { Add=1, Sub=2, Mult=3, Div=4, Mod=5, Pow=6, LShift=7,
190a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                         RShift=8, BitOr=9, BitXor=10, BitAnd=11, FloorDiv=12 }
200a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                         operator_ty;
210a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
220a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef enum _unaryop { Invert=1, Not=2, UAdd=3, USub=4 } unaryop_ty;
230a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
240a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef enum _cmpop { Eq=1, NotEq=2, Lt=3, LtE=4, Gt=5, GtE=6, Is=7, IsNot=8,
250a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                      In=9, NotIn=10 } cmpop_ty;
260a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
270a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef struct _comprehension *comprehension_ty;
280a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
290a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef struct _excepthandler *excepthandler_ty;
300a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
310a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef struct _arguments *arguments_ty;
320a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
330a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef struct _keyword *keyword_ty;
340a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
350a8c90248264a8b26970b4473770bcc3df8515fJosh Gaotypedef struct _alias *alias_ty;
360a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
370a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
380a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoenum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3,
390a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                 Suite_kind=4};
400a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostruct _mod {
410a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        enum _mod_kind kind;
420a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        union {
430a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
440a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *body;
450a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Module;
460a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
470a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
480a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *body;
490a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Interactive;
500a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
510a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
520a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty body;
530a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Expression;
540a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
550a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
560a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *body;
570a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Suite;
580a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
590a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        } v;
600a8c90248264a8b26970b4473770bcc3df8515fJosh Gao};
610a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
620a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoenum _stmt_kind {FunctionDef_kind=1, ClassDef_kind=2, Return_kind=3,
630a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  Delete_kind=4, Assign_kind=5, AugAssign_kind=6, Print_kind=7,
640a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  For_kind=8, While_kind=9, If_kind=10, With_kind=11,
650a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  Raise_kind=12, TryExcept_kind=13, TryFinally_kind=14,
660a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  Assert_kind=15, Import_kind=16, ImportFrom_kind=17,
670a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  Exec_kind=18, Global_kind=19, Expr_kind=20, Pass_kind=21,
680a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  Break_kind=22, Continue_kind=23};
690a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostruct _stmt {
700a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        enum _stmt_kind kind;
710a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        union {
720a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
730a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        identifier name;
740a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        arguments_ty args;
750a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *body;
760a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *decorator_list;
770a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } FunctionDef;
780a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
790a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
800a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        identifier name;
810a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *bases;
820a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *body;
830a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *decorator_list;
840a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } ClassDef;
850a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
860a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
870a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty value;
880a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Return;
890a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
900a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
910a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *targets;
920a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Delete;
930a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
940a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
950a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *targets;
960a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty value;
970a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Assign;
980a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
990a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1000a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty target;
1010a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        operator_ty op;
1020a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty value;
1030a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } AugAssign;
1040a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1050a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1060a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty dest;
1070a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *values;
1080a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        bool nl;
1090a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Print;
1100a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1110a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1120a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty target;
1130a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty iter;
1140a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *body;
1150a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *orelse;
1160a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } For;
1170a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1180a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1190a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty test;
1200a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *body;
1210a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *orelse;
1220a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } While;
1230a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1240a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1250a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty test;
1260a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *body;
1270a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *orelse;
1280a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } If;
1290a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1300a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1310a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty context_expr;
1320a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty optional_vars;
1330a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *body;
1340a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } With;
1350a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1360a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1370a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty type;
1380a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty inst;
1390a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty tback;
1400a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Raise;
1410a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1420a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1430a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *body;
1440a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *handlers;
1450a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *orelse;
1460a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } TryExcept;
1470a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1480a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1490a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *body;
1500a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *finalbody;
1510a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } TryFinally;
1520a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1530a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1540a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty test;
1550a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty msg;
1560a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Assert;
1570a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1580a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1590a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *names;
1600a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Import;
1610a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1620a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1630a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        identifier module;
1640a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *names;
1650a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        int level;
1660a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } ImportFrom;
1670a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1680a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1690a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty body;
1700a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty globals;
1710a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty locals;
1720a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Exec;
1730a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1740a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1750a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *names;
1760a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Global;
1770a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1780a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1790a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty value;
1800a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Expr;
1810a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1820a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        } v;
1830a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        int lineno;
1840a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        int col_offset;
1850a8c90248264a8b26970b4473770bcc3df8515fJosh Gao};
1860a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
1870a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoenum _expr_kind {BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4,
1880a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  IfExp_kind=5, Dict_kind=6, Set_kind=7, ListComp_kind=8,
1890a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  SetComp_kind=9, DictComp_kind=10, GeneratorExp_kind=11,
1900a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  Yield_kind=12, Compare_kind=13, Call_kind=14, Repr_kind=15,
1910a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  Num_kind=16, Str_kind=17, Attribute_kind=18,
1920a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  Subscript_kind=19, Name_kind=20, List_kind=21, Tuple_kind=22};
1930a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostruct _expr {
1940a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        enum _expr_kind kind;
1950a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        union {
1960a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
1970a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        boolop_ty op;
1980a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *values;
1990a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } BoolOp;
2000a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2010a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2020a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty left;
2030a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        operator_ty op;
2040a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty right;
2050a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } BinOp;
2060a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2070a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2080a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        unaryop_ty op;
2090a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty operand;
2100a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } UnaryOp;
2110a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2120a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2130a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        arguments_ty args;
2140a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty body;
2150a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Lambda;
2160a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2170a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2180a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty test;
2190a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty body;
2200a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty orelse;
2210a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } IfExp;
2220a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2230a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2240a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *keys;
2250a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *values;
2260a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Dict;
2270a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2280a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2290a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *elts;
2300a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Set;
2310a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2320a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2330a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty elt;
2340a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *generators;
2350a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } ListComp;
2360a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2370a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2380a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty elt;
2390a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *generators;
2400a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } SetComp;
2410a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2420a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2430a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty key;
2440a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty value;
2450a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *generators;
2460a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } DictComp;
2470a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2480a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2490a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty elt;
2500a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *generators;
2510a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } GeneratorExp;
2520a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2530a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2540a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty value;
2550a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Yield;
2560a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2570a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2580a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty left;
2590a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_int_seq *ops;
2600a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *comparators;
2610a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Compare;
2620a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2630a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2640a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty func;
2650a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *args;
2660a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *keywords;
2670a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty starargs;
2680a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty kwargs;
2690a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Call;
2700a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2710a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2720a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty value;
2730a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Repr;
2740a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2750a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2760a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        object n;
2770a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Num;
2780a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2790a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2800a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        string s;
2810a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Str;
2820a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2830a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2840a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty value;
2850a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        identifier attr;
2860a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_context_ty ctx;
2870a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Attribute;
2880a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2890a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2900a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty value;
2910a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        slice_ty slice;
2920a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_context_ty ctx;
2930a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Subscript;
2940a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
2950a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
2960a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        identifier id;
2970a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_context_ty ctx;
2980a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Name;
2990a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3000a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
3010a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *elts;
3020a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_context_ty ctx;
3030a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } List;
3040a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3050a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
3060a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *elts;
3070a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_context_ty ctx;
3080a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Tuple;
3090a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3100a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        } v;
3110a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        int lineno;
3120a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        int col_offset;
3130a8c90248264a8b26970b4473770bcc3df8515fJosh Gao};
3140a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3150a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoenum _slice_kind {Ellipsis_kind=1, Slice_kind=2, ExtSlice_kind=3, Index_kind=4};
3160a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostruct _slice {
3170a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        enum _slice_kind kind;
3180a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        union {
3190a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
3200a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty lower;
3210a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty upper;
3220a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty step;
3230a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Slice;
3240a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3250a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
3260a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *dims;
3270a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } ExtSlice;
3280a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3290a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
3300a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty value;
3310a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } Index;
3320a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3330a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        } v;
3340a8c90248264a8b26970b4473770bcc3df8515fJosh Gao};
3350a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3360a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostruct _comprehension {
3370a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        expr_ty target;
3380a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        expr_ty iter;
3390a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        asdl_seq *ifs;
3400a8c90248264a8b26970b4473770bcc3df8515fJosh Gao};
3410a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3420a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoenum _excepthandler_kind {ExceptHandler_kind=1};
3430a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostruct _excepthandler {
3440a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        enum _excepthandler_kind kind;
3450a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        union {
3460a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                struct {
3470a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty type;
3480a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        expr_ty name;
3490a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq *body;
3500a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                } ExceptHandler;
3510a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3520a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        } v;
3530a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        int lineno;
3540a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        int col_offset;
3550a8c90248264a8b26970b4473770bcc3df8515fJosh Gao};
3560a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3570a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostruct _arguments {
3580a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        asdl_seq *args;
3590a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        identifier vararg;
3600a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        identifier kwarg;
3610a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        asdl_seq *defaults;
3620a8c90248264a8b26970b4473770bcc3df8515fJosh Gao};
3630a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3640a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostruct _keyword {
3650a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        identifier arg;
3660a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        expr_ty value;
3670a8c90248264a8b26970b4473770bcc3df8515fJosh Gao};
3680a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3690a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostruct _alias {
3700a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        identifier name;
3710a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        identifier asname;
3720a8c90248264a8b26970b4473770bcc3df8515fJosh Gao};
3730a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3740a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
3750a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Module(a0, a1) _Py_Module(a0, a1)
3760a8c90248264a8b26970b4473770bcc3df8515fJosh Gaomod_ty _Py_Module(asdl_seq * body, PyArena *arena);
3770a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Interactive(a0, a1) _Py_Interactive(a0, a1)
3780a8c90248264a8b26970b4473770bcc3df8515fJosh Gaomod_ty _Py_Interactive(asdl_seq * body, PyArena *arena);
3790a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Expression(a0, a1) _Py_Expression(a0, a1)
3800a8c90248264a8b26970b4473770bcc3df8515fJosh Gaomod_ty _Py_Expression(expr_ty body, PyArena *arena);
3810a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Suite(a0, a1) _Py_Suite(a0, a1)
3820a8c90248264a8b26970b4473770bcc3df8515fJosh Gaomod_ty _Py_Suite(asdl_seq * body, PyArena *arena);
3830a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define FunctionDef(a0, a1, a2, a3, a4, a5, a6) _Py_FunctionDef(a0, a1, a2, a3, a4, a5, a6)
3840a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_FunctionDef(identifier name, arguments_ty args, asdl_seq * body,
3850a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        asdl_seq * decorator_list, int lineno, int col_offset,
3860a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                        PyArena *arena);
3870a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define ClassDef(a0, a1, a2, a3, a4, a5, a6) _Py_ClassDef(a0, a1, a2, a3, a4, a5, a6)
3880a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_ClassDef(identifier name, asdl_seq * bases, asdl_seq * body,
3890a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                     asdl_seq * decorator_list, int lineno, int col_offset,
3900a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                     PyArena *arena);
3910a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Return(a0, a1, a2, a3) _Py_Return(a0, a1, a2, a3)
3920a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_Return(expr_ty value, int lineno, int col_offset, PyArena *arena);
3930a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Delete(a0, a1, a2, a3) _Py_Delete(a0, a1, a2, a3)
3940a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_Delete(asdl_seq * targets, int lineno, int col_offset, PyArena
3950a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                   *arena);
3960a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Assign(a0, a1, a2, a3, a4) _Py_Assign(a0, a1, a2, a3, a4)
3970a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_Assign(asdl_seq * targets, expr_ty value, int lineno, int
3980a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                   col_offset, PyArena *arena);
3990a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define AugAssign(a0, a1, a2, a3, a4, a5) _Py_AugAssign(a0, a1, a2, a3, a4, a5)
4000a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_AugAssign(expr_ty target, operator_ty op, expr_ty value, int
4010a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                      lineno, int col_offset, PyArena *arena);
4020a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Print(a0, a1, a2, a3, a4, a5) _Py_Print(a0, a1, a2, a3, a4, a5)
4030a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_Print(expr_ty dest, asdl_seq * values, bool nl, int lineno, int
4040a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  col_offset, PyArena *arena);
4050a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define For(a0, a1, a2, a3, a4, a5, a6) _Py_For(a0, a1, a2, a3, a4, a5, a6)
4060a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_For(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq *
4070a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                orelse, int lineno, int col_offset, PyArena *arena);
4080a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define While(a0, a1, a2, a3, a4, a5) _Py_While(a0, a1, a2, a3, a4, a5)
4090a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_While(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
4100a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  int col_offset, PyArena *arena);
4110a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5)
4120a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
4130a8c90248264a8b26970b4473770bcc3df8515fJosh Gao               int col_offset, PyArena *arena);
4140a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define With(a0, a1, a2, a3, a4, a5) _Py_With(a0, a1, a2, a3, a4, a5)
4150a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_With(expr_ty context_expr, expr_ty optional_vars, asdl_seq * body,
4160a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                 int lineno, int col_offset, PyArena *arena);
4170a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Raise(a0, a1, a2, a3, a4, a5) _Py_Raise(a0, a1, a2, a3, a4, a5)
4180a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_Raise(expr_ty type, expr_ty inst, expr_ty tback, int lineno, int
4190a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  col_offset, PyArena *arena);
4200a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define TryExcept(a0, a1, a2, a3, a4, a5) _Py_TryExcept(a0, a1, a2, a3, a4, a5)
4210a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_TryExcept(asdl_seq * body, asdl_seq * handlers, asdl_seq * orelse,
4220a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                      int lineno, int col_offset, PyArena *arena);
4230a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define TryFinally(a0, a1, a2, a3, a4) _Py_TryFinally(a0, a1, a2, a3, a4)
4240a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_TryFinally(asdl_seq * body, asdl_seq * finalbody, int lineno, int
4250a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                       col_offset, PyArena *arena);
4260a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Assert(a0, a1, a2, a3, a4) _Py_Assert(a0, a1, a2, a3, a4)
4270a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset,
4280a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                   PyArena *arena);
4290a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Import(a0, a1, a2, a3) _Py_Import(a0, a1, a2, a3)
4300a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_Import(asdl_seq * names, int lineno, int col_offset, PyArena
4310a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                   *arena);
4320a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define ImportFrom(a0, a1, a2, a3, a4, a5) _Py_ImportFrom(a0, a1, a2, a3, a4, a5)
4330a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_ImportFrom(identifier module, asdl_seq * names, int level, int
4340a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                       lineno, int col_offset, PyArena *arena);
4350a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Exec(a0, a1, a2, a3, a4, a5) _Py_Exec(a0, a1, a2, a3, a4, a5)
4360a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_Exec(expr_ty body, expr_ty globals, expr_ty locals, int lineno, int
4370a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                 col_offset, PyArena *arena);
4380a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Global(a0, a1, a2, a3) _Py_Global(a0, a1, a2, a3)
4390a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_Global(asdl_seq * names, int lineno, int col_offset, PyArena
4400a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                   *arena);
4410a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Expr(a0, a1, a2, a3) _Py_Expr(a0, a1, a2, a3)
4420a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_Expr(expr_ty value, int lineno, int col_offset, PyArena *arena);
4430a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Pass(a0, a1, a2) _Py_Pass(a0, a1, a2)
4440a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_Pass(int lineno, int col_offset, PyArena *arena);
4450a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Break(a0, a1, a2) _Py_Break(a0, a1, a2)
4460a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_Break(int lineno, int col_offset, PyArena *arena);
4470a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Continue(a0, a1, a2) _Py_Continue(a0, a1, a2)
4480a8c90248264a8b26970b4473770bcc3df8515fJosh Gaostmt_ty _Py_Continue(int lineno, int col_offset, PyArena *arena);
4490a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define BoolOp(a0, a1, a2, a3, a4) _Py_BoolOp(a0, a1, a2, a3, a4)
4500a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_BoolOp(boolop_ty op, asdl_seq * values, int lineno, int col_offset,
4510a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                   PyArena *arena);
4520a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define BinOp(a0, a1, a2, a3, a4, a5) _Py_BinOp(a0, a1, a2, a3, a4, a5)
4530a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_BinOp(expr_ty left, operator_ty op, expr_ty right, int lineno, int
4540a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  col_offset, PyArena *arena);
4550a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define UnaryOp(a0, a1, a2, a3, a4) _Py_UnaryOp(a0, a1, a2, a3, a4)
4560a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int col_offset,
4570a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                    PyArena *arena);
4580a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Lambda(a0, a1, a2, a3, a4) _Py_Lambda(a0, a1, a2, a3, a4)
4590a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_Lambda(arguments_ty args, expr_ty body, int lineno, int col_offset,
4600a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                   PyArena *arena);
4610a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define IfExp(a0, a1, a2, a3, a4, a5) _Py_IfExp(a0, a1, a2, a3, a4, a5)
4620a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, int
4630a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  col_offset, PyArena *arena);
4640a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Dict(a0, a1, a2, a3, a4) _Py_Dict(a0, a1, a2, a3, a4)
4650a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_Dict(asdl_seq * keys, asdl_seq * values, int lineno, int
4660a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                 col_offset, PyArena *arena);
4670a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Set(a0, a1, a2, a3) _Py_Set(a0, a1, a2, a3)
4680a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_Set(asdl_seq * elts, int lineno, int col_offset, PyArena *arena);
4690a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define ListComp(a0, a1, a2, a3, a4) _Py_ListComp(a0, a1, a2, a3, a4)
4700a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_ListComp(expr_ty elt, asdl_seq * generators, int lineno, int
4710a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                     col_offset, PyArena *arena);
4720a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define SetComp(a0, a1, a2, a3, a4) _Py_SetComp(a0, a1, a2, a3, a4)
4730a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_SetComp(expr_ty elt, asdl_seq * generators, int lineno, int
4740a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                    col_offset, PyArena *arena);
4750a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define DictComp(a0, a1, a2, a3, a4, a5) _Py_DictComp(a0, a1, a2, a3, a4, a5)
4760a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_DictComp(expr_ty key, expr_ty value, asdl_seq * generators, int
4770a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                     lineno, int col_offset, PyArena *arena);
4780a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define GeneratorExp(a0, a1, a2, a3, a4) _Py_GeneratorExp(a0, a1, a2, a3, a4)
4790a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int
4800a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                         col_offset, PyArena *arena);
4810a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3)
4820a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena);
4830a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5)
4840a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators,
4850a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                    int lineno, int col_offset, PyArena *arena);
4860a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Call(a0, a1, a2, a3, a4, a5, a6, a7) _Py_Call(a0, a1, a2, a3, a4, a5, a6, a7)
4870a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_Call(expr_ty func, asdl_seq * args, asdl_seq * keywords, expr_ty
4880a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                 starargs, expr_ty kwargs, int lineno, int col_offset, PyArena
4890a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                 *arena);
4900a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Repr(a0, a1, a2, a3) _Py_Repr(a0, a1, a2, a3)
4910a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_Repr(expr_ty value, int lineno, int col_offset, PyArena *arena);
4920a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Num(a0, a1, a2, a3) _Py_Num(a0, a1, a2, a3)
4930a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_Num(object n, int lineno, int col_offset, PyArena *arena);
4940a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3)
4950a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_Str(string s, int lineno, int col_offset, PyArena *arena);
4960a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5)
4970a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, int
4980a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                      lineno, int col_offset, PyArena *arena);
4990a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5)
5000a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_Subscript(expr_ty value, slice_ty slice, expr_context_ty ctx, int
5010a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                      lineno, int col_offset, PyArena *arena);
5020a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4)
5030a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_Name(identifier id, expr_context_ty ctx, int lineno, int
5040a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                 col_offset, PyArena *arena);
5050a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define List(a0, a1, a2, a3, a4) _Py_List(a0, a1, a2, a3, a4)
5060a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int
5070a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                 col_offset, PyArena *arena);
5080a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Tuple(a0, a1, a2, a3, a4) _Py_Tuple(a0, a1, a2, a3, a4)
5090a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexpr_ty _Py_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int
5100a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                  col_offset, PyArena *arena);
5110a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Ellipsis(a0) _Py_Ellipsis(a0)
5120a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoslice_ty _Py_Ellipsis(PyArena *arena);
5130a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Slice(a0, a1, a2, a3) _Py_Slice(a0, a1, a2, a3)
5140a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoslice_ty _Py_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena);
5150a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define ExtSlice(a0, a1) _Py_ExtSlice(a0, a1)
5160a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoslice_ty _Py_ExtSlice(asdl_seq * dims, PyArena *arena);
5170a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define Index(a0, a1) _Py_Index(a0, a1)
5180a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoslice_ty _Py_Index(expr_ty value, PyArena *arena);
5190a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define comprehension(a0, a1, a2, a3) _Py_comprehension(a0, a1, a2, a3)
5200a8c90248264a8b26970b4473770bcc3df8515fJosh Gaocomprehension_ty _Py_comprehension(expr_ty target, expr_ty iter, asdl_seq *
5210a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                                   ifs, PyArena *arena);
5220a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define ExceptHandler(a0, a1, a2, a3, a4, a5) _Py_ExceptHandler(a0, a1, a2, a3, a4, a5)
5230a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoexcepthandler_ty _Py_ExceptHandler(expr_ty type, expr_ty name, asdl_seq * body,
5240a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                                   int lineno, int col_offset, PyArena *arena);
5250a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define arguments(a0, a1, a2, a3, a4) _Py_arguments(a0, a1, a2, a3, a4)
5260a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoarguments_ty _Py_arguments(asdl_seq * args, identifier vararg, identifier
5270a8c90248264a8b26970b4473770bcc3df8515fJosh Gao                           kwarg, asdl_seq * defaults, PyArena *arena);
5280a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define keyword(a0, a1, a2) _Py_keyword(a0, a1, a2)
5290a8c90248264a8b26970b4473770bcc3df8515fJosh Gaokeyword_ty _Py_keyword(identifier arg, expr_ty value, PyArena *arena);
5300a8c90248264a8b26970b4473770bcc3df8515fJosh Gao#define alias(a0, a1, a2) _Py_alias(a0, a1, a2)
5310a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoalias_ty _Py_alias(identifier name, identifier asname, PyArena *arena);
5320a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
5330a8c90248264a8b26970b4473770bcc3df8515fJosh GaoPyObject* PyAST_mod2obj(mod_ty t);
5340a8c90248264a8b26970b4473770bcc3df8515fJosh Gaomod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode);
5350a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoint PyAST_Check(PyObject* obj);
536