14710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm/* File automatically generated by Parser/asdl_c.py. */
24710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
34710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#include "asdl.h"
44710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
54710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef struct _mod *mod_ty;
64710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
74710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef struct _stmt *stmt_ty;
84710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
94710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef struct _expr *expr_ty;
104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef enum _expr_context { Load=1, Store=2, Del=3, AugLoad=4, AugStore=5,
124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                             Param=6 } expr_context_ty;
134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef struct _slice *slice_ty;
154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef enum _boolop { And=1, Or=2 } boolop_ty;
174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef enum _operator { Add=1, Sub=2, Mult=3, Div=4, Mod=5, Pow=6, LShift=7,
194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                         RShift=8, BitOr=9, BitXor=10, BitAnd=11, FloorDiv=12 }
204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                         operator_ty;
214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef enum _unaryop { Invert=1, Not=2, UAdd=3, USub=4 } unaryop_ty;
234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef enum _cmpop { Eq=1, NotEq=2, Lt=3, LtE=4, Gt=5, GtE=6, Is=7, IsNot=8,
254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                      In=9, NotIn=10 } cmpop_ty;
264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef struct _comprehension *comprehension_ty;
284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef struct _excepthandler *excepthandler_ty;
304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef struct _arguments *arguments_ty;
324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef struct _keyword *keyword_ty;
344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmtypedef struct _alias *alias_ty;
364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmenum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3,
394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                 Suite_kind=4};
404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstruct _mod {
414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        enum _mod_kind kind;
424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        union {
434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *body;
454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Module;
464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *body;
494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Interactive;
504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty body;
534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Expression;
544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *body;
574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Suite;
584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        } v;
604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm};
614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmenum _stmt_kind {FunctionDef_kind=1, ClassDef_kind=2, Return_kind=3,
634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  Delete_kind=4, Assign_kind=5, AugAssign_kind=6, Print_kind=7,
644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  For_kind=8, While_kind=9, If_kind=10, With_kind=11,
654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  Raise_kind=12, TryExcept_kind=13, TryFinally_kind=14,
664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  Assert_kind=15, Import_kind=16, ImportFrom_kind=17,
674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  Exec_kind=18, Global_kind=19, Expr_kind=20, Pass_kind=21,
684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  Break_kind=22, Continue_kind=23};
694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstruct _stmt {
704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        enum _stmt_kind kind;
714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        union {
724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        identifier name;
744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        arguments_ty args;
754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *body;
764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *decorator_list;
774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } FunctionDef;
784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        identifier name;
814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *bases;
824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *body;
834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *decorator_list;
844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } ClassDef;
854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty value;
884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Return;
894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *targets;
924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Delete;
934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *targets;
964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty value;
974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Assign;
984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty target;
1014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        operator_ty op;
1024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty value;
1034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } AugAssign;
1044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty dest;
1074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *values;
1084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        bool nl;
1094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Print;
1104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty target;
1134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty iter;
1144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *body;
1154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *orelse;
1164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } For;
1174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty test;
1204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *body;
1214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *orelse;
1224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } While;
1234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty test;
1264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *body;
1274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *orelse;
1284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } If;
1294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty context_expr;
1324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty optional_vars;
1334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *body;
1344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } With;
1354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty type;
1384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty inst;
1394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty tback;
1404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Raise;
1414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *body;
1444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *handlers;
1454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *orelse;
1464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } TryExcept;
1474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *body;
1504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *finalbody;
1514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } TryFinally;
1524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty test;
1554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty msg;
1564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Assert;
1574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *names;
1604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Import;
1614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        identifier module;
1644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *names;
1654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        int level;
1664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } ImportFrom;
1674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty body;
1704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty globals;
1714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty locals;
1724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Exec;
1734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *names;
1764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Global;
1774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty value;
1804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Expr;
1814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        } v;
1834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        int lineno;
1844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        int col_offset;
1854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm};
1864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
1874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmenum _expr_kind {BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4,
1884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  IfExp_kind=5, Dict_kind=6, Set_kind=7, ListComp_kind=8,
1894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  SetComp_kind=9, DictComp_kind=10, GeneratorExp_kind=11,
1904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  Yield_kind=12, Compare_kind=13, Call_kind=14, Repr_kind=15,
1914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  Num_kind=16, Str_kind=17, Attribute_kind=18,
1924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  Subscript_kind=19, Name_kind=20, List_kind=21, Tuple_kind=22};
1934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstruct _expr {
1944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        enum _expr_kind kind;
1954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        union {
1964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
1974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        boolop_ty op;
1984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *values;
1994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } BoolOp;
2004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty left;
2034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        operator_ty op;
2044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty right;
2054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } BinOp;
2064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        unaryop_ty op;
2094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty operand;
2104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } UnaryOp;
2114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        arguments_ty args;
2144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty body;
2154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Lambda;
2164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty test;
2194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty body;
2204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty orelse;
2214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } IfExp;
2224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *keys;
2254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *values;
2264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Dict;
2274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *elts;
2304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Set;
2314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty elt;
2344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *generators;
2354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } ListComp;
2364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty elt;
2394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *generators;
2404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } SetComp;
2414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty key;
2444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty value;
2454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *generators;
2464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } DictComp;
2474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty elt;
2504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *generators;
2514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } GeneratorExp;
2524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty value;
2554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Yield;
2564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty left;
2594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_int_seq *ops;
2604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *comparators;
2614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Compare;
2624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty func;
2654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *args;
2664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *keywords;
2674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty starargs;
2684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty kwargs;
2694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Call;
2704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty value;
2734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Repr;
2744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        object n;
2774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Num;
2784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        string s;
2814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Str;
2824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty value;
2854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        identifier attr;
2864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_context_ty ctx;
2874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Attribute;
2884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty value;
2914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        slice_ty slice;
2924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_context_ty ctx;
2934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Subscript;
2944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
2954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
2964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        identifier id;
2974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_context_ty ctx;
2984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Name;
2994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
3014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *elts;
3024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_context_ty ctx;
3034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } List;
3044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
3064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *elts;
3074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_context_ty ctx;
3084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Tuple;
3094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        } v;
3114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        int lineno;
3124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        int col_offset;
3134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm};
3144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmenum _slice_kind {Ellipsis_kind=1, Slice_kind=2, ExtSlice_kind=3, Index_kind=4};
3164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstruct _slice {
3174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        enum _slice_kind kind;
3184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        union {
3194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
3204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty lower;
3214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty upper;
3224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty step;
3234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Slice;
3244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
3264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *dims;
3274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } ExtSlice;
3284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
3304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty value;
3314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } Index;
3324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        } v;
3344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm};
3354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstruct _comprehension {
3374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        expr_ty target;
3384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        expr_ty iter;
3394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        asdl_seq *ifs;
3404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm};
3414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmenum _excepthandler_kind {ExceptHandler_kind=1};
3434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstruct _excepthandler {
3444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        enum _excepthandler_kind kind;
3454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        union {
3464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                struct {
3474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty type;
3484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        expr_ty name;
3494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq *body;
3504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                } ExceptHandler;
3514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        } v;
3534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        int lineno;
3544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        int col_offset;
3554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm};
3564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstruct _arguments {
3584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        asdl_seq *args;
3594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        identifier vararg;
3604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        identifier kwarg;
3614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        asdl_seq *defaults;
3624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm};
3634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstruct _keyword {
3654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        identifier arg;
3664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        expr_ty value;
3674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm};
3684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstruct _alias {
3704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        identifier name;
3714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm        identifier asname;
3724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm};
3734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
3754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Module(a0, a1) _Py_Module(a0, a1)
3764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmmod_ty _Py_Module(asdl_seq * body, PyArena *arena);
3774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Interactive(a0, a1) _Py_Interactive(a0, a1)
3784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmmod_ty _Py_Interactive(asdl_seq * body, PyArena *arena);
3794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Expression(a0, a1) _Py_Expression(a0, a1)
3804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmmod_ty _Py_Expression(expr_ty body, PyArena *arena);
3814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Suite(a0, a1) _Py_Suite(a0, a1)
3824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmmod_ty _Py_Suite(asdl_seq * body, PyArena *arena);
3834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define FunctionDef(a0, a1, a2, a3, a4, a5, a6) _Py_FunctionDef(a0, a1, a2, a3, a4, a5, a6)
3844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_FunctionDef(identifier name, arguments_ty args, asdl_seq * body,
3854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        asdl_seq * decorator_list, int lineno, int col_offset,
3864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                        PyArena *arena);
3874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define ClassDef(a0, a1, a2, a3, a4, a5, a6) _Py_ClassDef(a0, a1, a2, a3, a4, a5, a6)
3884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_ClassDef(identifier name, asdl_seq * bases, asdl_seq * body,
3894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                     asdl_seq * decorator_list, int lineno, int col_offset,
3904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                     PyArena *arena);
3914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Return(a0, a1, a2, a3) _Py_Return(a0, a1, a2, a3)
3924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_Return(expr_ty value, int lineno, int col_offset, PyArena *arena);
3934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Delete(a0, a1, a2, a3) _Py_Delete(a0, a1, a2, a3)
3944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_Delete(asdl_seq * targets, int lineno, int col_offset, PyArena
3954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                   *arena);
3964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Assign(a0, a1, a2, a3, a4) _Py_Assign(a0, a1, a2, a3, a4)
3974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_Assign(asdl_seq * targets, expr_ty value, int lineno, int
3984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                   col_offset, PyArena *arena);
3994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define AugAssign(a0, a1, a2, a3, a4, a5) _Py_AugAssign(a0, a1, a2, a3, a4, a5)
4004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_AugAssign(expr_ty target, operator_ty op, expr_ty value, int
4014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                      lineno, int col_offset, PyArena *arena);
4024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Print(a0, a1, a2, a3, a4, a5) _Py_Print(a0, a1, a2, a3, a4, a5)
4034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_Print(expr_ty dest, asdl_seq * values, bool nl, int lineno, int
4044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  col_offset, PyArena *arena);
4054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define For(a0, a1, a2, a3, a4, a5, a6) _Py_For(a0, a1, a2, a3, a4, a5, a6)
4064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_For(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq *
4074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                orelse, int lineno, int col_offset, PyArena *arena);
4084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define While(a0, a1, a2, a3, a4, a5) _Py_While(a0, a1, a2, a3, a4, a5)
4094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_While(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
4104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  int col_offset, PyArena *arena);
4114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5)
4124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
4134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm               int col_offset, PyArena *arena);
4144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define With(a0, a1, a2, a3, a4, a5) _Py_With(a0, a1, a2, a3, a4, a5)
4154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_With(expr_ty context_expr, expr_ty optional_vars, asdl_seq * body,
4164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                 int lineno, int col_offset, PyArena *arena);
4174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Raise(a0, a1, a2, a3, a4, a5) _Py_Raise(a0, a1, a2, a3, a4, a5)
4184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_Raise(expr_ty type, expr_ty inst, expr_ty tback, int lineno, int
4194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  col_offset, PyArena *arena);
4204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define TryExcept(a0, a1, a2, a3, a4, a5) _Py_TryExcept(a0, a1, a2, a3, a4, a5)
4214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_TryExcept(asdl_seq * body, asdl_seq * handlers, asdl_seq * orelse,
4224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                      int lineno, int col_offset, PyArena *arena);
4234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define TryFinally(a0, a1, a2, a3, a4) _Py_TryFinally(a0, a1, a2, a3, a4)
4244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_TryFinally(asdl_seq * body, asdl_seq * finalbody, int lineno, int
4254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                       col_offset, PyArena *arena);
4264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Assert(a0, a1, a2, a3, a4) _Py_Assert(a0, a1, a2, a3, a4)
4274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset,
4284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                   PyArena *arena);
4294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Import(a0, a1, a2, a3) _Py_Import(a0, a1, a2, a3)
4304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_Import(asdl_seq * names, int lineno, int col_offset, PyArena
4314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                   *arena);
4324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define ImportFrom(a0, a1, a2, a3, a4, a5) _Py_ImportFrom(a0, a1, a2, a3, a4, a5)
4334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_ImportFrom(identifier module, asdl_seq * names, int level, int
4344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                       lineno, int col_offset, PyArena *arena);
4354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Exec(a0, a1, a2, a3, a4, a5) _Py_Exec(a0, a1, a2, a3, a4, a5)
4364710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_Exec(expr_ty body, expr_ty globals, expr_ty locals, int lineno, int
4374710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                 col_offset, PyArena *arena);
4384710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Global(a0, a1, a2, a3) _Py_Global(a0, a1, a2, a3)
4394710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_Global(asdl_seq * names, int lineno, int col_offset, PyArena
4404710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                   *arena);
4414710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Expr(a0, a1, a2, a3) _Py_Expr(a0, a1, a2, a3)
4424710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_Expr(expr_ty value, int lineno, int col_offset, PyArena *arena);
4434710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Pass(a0, a1, a2) _Py_Pass(a0, a1, a2)
4444710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_Pass(int lineno, int col_offset, PyArena *arena);
4454710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Break(a0, a1, a2) _Py_Break(a0, a1, a2)
4464710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_Break(int lineno, int col_offset, PyArena *arena);
4474710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Continue(a0, a1, a2) _Py_Continue(a0, a1, a2)
4484710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmstmt_ty _Py_Continue(int lineno, int col_offset, PyArena *arena);
4494710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define BoolOp(a0, a1, a2, a3, a4) _Py_BoolOp(a0, a1, a2, a3, a4)
4504710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_BoolOp(boolop_ty op, asdl_seq * values, int lineno, int col_offset,
4514710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                   PyArena *arena);
4524710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define BinOp(a0, a1, a2, a3, a4, a5) _Py_BinOp(a0, a1, a2, a3, a4, a5)
4534710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_BinOp(expr_ty left, operator_ty op, expr_ty right, int lineno, int
4544710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  col_offset, PyArena *arena);
4554710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define UnaryOp(a0, a1, a2, a3, a4) _Py_UnaryOp(a0, a1, a2, a3, a4)
4564710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int col_offset,
4574710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                    PyArena *arena);
4584710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Lambda(a0, a1, a2, a3, a4) _Py_Lambda(a0, a1, a2, a3, a4)
4594710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_Lambda(arguments_ty args, expr_ty body, int lineno, int col_offset,
4604710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                   PyArena *arena);
4614710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define IfExp(a0, a1, a2, a3, a4, a5) _Py_IfExp(a0, a1, a2, a3, a4, a5)
4624710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, int
4634710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  col_offset, PyArena *arena);
4644710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Dict(a0, a1, a2, a3, a4) _Py_Dict(a0, a1, a2, a3, a4)
4654710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_Dict(asdl_seq * keys, asdl_seq * values, int lineno, int
4664710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                 col_offset, PyArena *arena);
4674710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Set(a0, a1, a2, a3) _Py_Set(a0, a1, a2, a3)
4684710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_Set(asdl_seq * elts, int lineno, int col_offset, PyArena *arena);
4694710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define ListComp(a0, a1, a2, a3, a4) _Py_ListComp(a0, a1, a2, a3, a4)
4704710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_ListComp(expr_ty elt, asdl_seq * generators, int lineno, int
4714710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                     col_offset, PyArena *arena);
4724710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define SetComp(a0, a1, a2, a3, a4) _Py_SetComp(a0, a1, a2, a3, a4)
4734710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_SetComp(expr_ty elt, asdl_seq * generators, int lineno, int
4744710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                    col_offset, PyArena *arena);
4754710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define DictComp(a0, a1, a2, a3, a4, a5) _Py_DictComp(a0, a1, a2, a3, a4, a5)
4764710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_DictComp(expr_ty key, expr_ty value, asdl_seq * generators, int
4774710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                     lineno, int col_offset, PyArena *arena);
4784710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define GeneratorExp(a0, a1, a2, a3, a4) _Py_GeneratorExp(a0, a1, a2, a3, a4)
4794710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int
4804710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                         col_offset, PyArena *arena);
4814710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3)
4824710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena);
4834710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5)
4844710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators,
4854710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                    int lineno, int col_offset, PyArena *arena);
4864710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Call(a0, a1, a2, a3, a4, a5, a6, a7) _Py_Call(a0, a1, a2, a3, a4, a5, a6, a7)
4874710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_Call(expr_ty func, asdl_seq * args, asdl_seq * keywords, expr_ty
4884710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                 starargs, expr_ty kwargs, int lineno, int col_offset, PyArena
4894710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                 *arena);
4904710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Repr(a0, a1, a2, a3) _Py_Repr(a0, a1, a2, a3)
4914710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_Repr(expr_ty value, int lineno, int col_offset, PyArena *arena);
4924710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Num(a0, a1, a2, a3) _Py_Num(a0, a1, a2, a3)
4934710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_Num(object n, int lineno, int col_offset, PyArena *arena);
4944710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3)
4954710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_Str(string s, int lineno, int col_offset, PyArena *arena);
4964710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5)
4974710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, int
4984710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                      lineno, int col_offset, PyArena *arena);
4994710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5)
5004710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_Subscript(expr_ty value, slice_ty slice, expr_context_ty ctx, int
5014710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                      lineno, int col_offset, PyArena *arena);
5024710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4)
5034710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_Name(identifier id, expr_context_ty ctx, int lineno, int
5044710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                 col_offset, PyArena *arena);
5054710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define List(a0, a1, a2, a3, a4) _Py_List(a0, a1, a2, a3, a4)
5064710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int
5074710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                 col_offset, PyArena *arena);
5084710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Tuple(a0, a1, a2, a3, a4) _Py_Tuple(a0, a1, a2, a3, a4)
5094710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexpr_ty _Py_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int
5104710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                  col_offset, PyArena *arena);
5114710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Ellipsis(a0) _Py_Ellipsis(a0)
5124710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmslice_ty _Py_Ellipsis(PyArena *arena);
5134710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Slice(a0, a1, a2, a3) _Py_Slice(a0, a1, a2, a3)
5144710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmslice_ty _Py_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena);
5154710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define ExtSlice(a0, a1) _Py_ExtSlice(a0, a1)
5164710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmslice_ty _Py_ExtSlice(asdl_seq * dims, PyArena *arena);
5174710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define Index(a0, a1) _Py_Index(a0, a1)
5184710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmslice_ty _Py_Index(expr_ty value, PyArena *arena);
5194710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define comprehension(a0, a1, a2, a3) _Py_comprehension(a0, a1, a2, a3)
5204710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmcomprehension_ty _Py_comprehension(expr_ty target, expr_ty iter, asdl_seq *
5214710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                                   ifs, PyArena *arena);
5224710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define ExceptHandler(a0, a1, a2, a3, a4, a5) _Py_ExceptHandler(a0, a1, a2, a3, a4, a5)
5234710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmexcepthandler_ty _Py_ExceptHandler(expr_ty type, expr_ty name, asdl_seq * body,
5244710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                                   int lineno, int col_offset, PyArena *arena);
5254710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define arguments(a0, a1, a2, a3, a4) _Py_arguments(a0, a1, a2, a3, a4)
5264710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmarguments_ty _Py_arguments(asdl_seq * args, identifier vararg, identifier
5274710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm                           kwarg, asdl_seq * defaults, PyArena *arena);
5284710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define keyword(a0, a1, a2) _Py_keyword(a0, a1, a2)
5294710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmkeyword_ty _Py_keyword(identifier arg, expr_ty value, PyArena *arena);
5304710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm#define alias(a0, a1, a2) _Py_alias(a0, a1, a2)
5314710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmalias_ty _Py_alias(identifier name, identifier asname, PyArena *arena);
5324710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylm
5334710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmPyObject* PyAST_mod2obj(mod_ty t);
5344710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmmod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode);
5354710c53dcad1ebf3755f3efb9e80ac24bd72a9b2darylmint PyAST_Check(PyObject* obj);
536