14adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao/* File automatically generated by Parser/asdl_c.py. */
24adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
34adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#include "asdl.h"
44adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
54adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef struct _mod *mod_ty;
64adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
74adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef struct _stmt *stmt_ty;
84adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
94adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef struct _expr *expr_ty;
104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef enum _expr_context { Load=1, Store=2, Del=3, AugLoad=4, AugStore=5,
124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                             Param=6 } expr_context_ty;
134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef struct _slice *slice_ty;
154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef enum _boolop { And=1, Or=2 } boolop_ty;
174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef enum _operator { Add=1, Sub=2, Mult=3, Div=4, Mod=5, Pow=6, LShift=7,
194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                         RShift=8, BitOr=9, BitXor=10, BitAnd=11, FloorDiv=12 }
204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                         operator_ty;
214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef enum _unaryop { Invert=1, Not=2, UAdd=3, USub=4 } unaryop_ty;
234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef enum _cmpop { Eq=1, NotEq=2, Lt=3, LtE=4, Gt=5, GtE=6, Is=7, IsNot=8,
254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                      In=9, NotIn=10 } cmpop_ty;
264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef struct _comprehension *comprehension_ty;
284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef struct _excepthandler *excepthandler_ty;
304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef struct _arguments *arguments_ty;
324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef struct _keyword *keyword_ty;
344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotypedef struct _alias *alias_ty;
364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoenum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3,
394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                 Suite_kind=4};
404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostruct _mod {
414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        enum _mod_kind kind;
424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        union {
434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *body;
454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Module;
464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *body;
494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Interactive;
504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty body;
534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Expression;
544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *body;
574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Suite;
584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        } v;
604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao};
614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoenum _stmt_kind {FunctionDef_kind=1, ClassDef_kind=2, Return_kind=3,
634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  Delete_kind=4, Assign_kind=5, AugAssign_kind=6, Print_kind=7,
644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  For_kind=8, While_kind=9, If_kind=10, With_kind=11,
654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  Raise_kind=12, TryExcept_kind=13, TryFinally_kind=14,
664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  Assert_kind=15, Import_kind=16, ImportFrom_kind=17,
674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  Exec_kind=18, Global_kind=19, Expr_kind=20, Pass_kind=21,
684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  Break_kind=22, Continue_kind=23};
694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostruct _stmt {
704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        enum _stmt_kind kind;
714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        union {
724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        identifier name;
744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        arguments_ty args;
754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *body;
764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *decorator_list;
774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } FunctionDef;
784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        identifier name;
814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *bases;
824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *body;
834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *decorator_list;
844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } ClassDef;
854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty value;
884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Return;
894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *targets;
924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Delete;
934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *targets;
964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty value;
974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Assign;
984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty target;
1014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        operator_ty op;
1024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty value;
1034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } AugAssign;
1044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty dest;
1074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *values;
1084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        bool nl;
1094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Print;
1104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty target;
1134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty iter;
1144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *body;
1154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *orelse;
1164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } For;
1174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty test;
1204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *body;
1214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *orelse;
1224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } While;
1234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty test;
1264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *body;
1274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *orelse;
1284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } If;
1294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty context_expr;
1324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty optional_vars;
1334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *body;
1344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } With;
1354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty type;
1384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty inst;
1394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty tback;
1404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Raise;
1414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *body;
1444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *handlers;
1454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *orelse;
1464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } TryExcept;
1474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *body;
1504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *finalbody;
1514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } TryFinally;
1524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty test;
1554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty msg;
1564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Assert;
1574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *names;
1604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Import;
1614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        identifier module;
1644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *names;
1654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        int level;
1664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } ImportFrom;
1674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty body;
1704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty globals;
1714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty locals;
1724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Exec;
1734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *names;
1764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Global;
1774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty value;
1804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Expr;
1814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        } v;
1834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        int lineno;
1844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        int col_offset;
1854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao};
1864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
1874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoenum _expr_kind {BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4,
1884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  IfExp_kind=5, Dict_kind=6, Set_kind=7, ListComp_kind=8,
1894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  SetComp_kind=9, DictComp_kind=10, GeneratorExp_kind=11,
1904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  Yield_kind=12, Compare_kind=13, Call_kind=14, Repr_kind=15,
1914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  Num_kind=16, Str_kind=17, Attribute_kind=18,
1924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  Subscript_kind=19, Name_kind=20, List_kind=21, Tuple_kind=22};
1934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostruct _expr {
1944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        enum _expr_kind kind;
1954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        union {
1964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
1974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        boolop_ty op;
1984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *values;
1994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } BoolOp;
2004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty left;
2034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        operator_ty op;
2044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty right;
2054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } BinOp;
2064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        unaryop_ty op;
2094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty operand;
2104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } UnaryOp;
2114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        arguments_ty args;
2144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty body;
2154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Lambda;
2164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty test;
2194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty body;
2204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty orelse;
2214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } IfExp;
2224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *keys;
2254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *values;
2264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Dict;
2274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *elts;
2304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Set;
2314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty elt;
2344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *generators;
2354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } ListComp;
2364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty elt;
2394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *generators;
2404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } SetComp;
2414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty key;
2444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty value;
2454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *generators;
2464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } DictComp;
2474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty elt;
2504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *generators;
2514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } GeneratorExp;
2524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty value;
2554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Yield;
2564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty left;
2594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_int_seq *ops;
2604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *comparators;
2614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Compare;
2624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty func;
2654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *args;
2664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *keywords;
2674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty starargs;
2684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty kwargs;
2694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Call;
2704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty value;
2734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Repr;
2744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        object n;
2774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Num;
2784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        string s;
2814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Str;
2824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty value;
2854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        identifier attr;
2864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_context_ty ctx;
2874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Attribute;
2884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty value;
2914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        slice_ty slice;
2924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_context_ty ctx;
2934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Subscript;
2944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
2954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
2964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        identifier id;
2974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_context_ty ctx;
2984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Name;
2994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
3014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *elts;
3024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_context_ty ctx;
3034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } List;
3044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
3064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *elts;
3074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_context_ty ctx;
3084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Tuple;
3094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        } v;
3114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        int lineno;
3124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        int col_offset;
3134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao};
3144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoenum _slice_kind {Ellipsis_kind=1, Slice_kind=2, ExtSlice_kind=3, Index_kind=4};
3164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostruct _slice {
3174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        enum _slice_kind kind;
3184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        union {
3194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
3204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty lower;
3214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty upper;
3224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty step;
3234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Slice;
3244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
3264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *dims;
3274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } ExtSlice;
3284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
3304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty value;
3314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } Index;
3324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        } v;
3344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao};
3354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostruct _comprehension {
3374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        expr_ty target;
3384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        expr_ty iter;
3394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        asdl_seq *ifs;
3404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao};
3414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoenum _excepthandler_kind {ExceptHandler_kind=1};
3434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostruct _excepthandler {
3444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        enum _excepthandler_kind kind;
3454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        union {
3464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                struct {
3474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty type;
3484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        expr_ty name;
3494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq *body;
3504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                } ExceptHandler;
3514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        } v;
3534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        int lineno;
3544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        int col_offset;
3554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao};
3564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostruct _arguments {
3584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        asdl_seq *args;
3594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        identifier vararg;
3604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        identifier kwarg;
3614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        asdl_seq *defaults;
3624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao};
3634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostruct _keyword {
3654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        identifier arg;
3664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        expr_ty value;
3674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao};
3684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostruct _alias {
3704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        identifier name;
3714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao        identifier asname;
3724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao};
3734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
3754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Module(a0, a1) _Py_Module(a0, a1)
3764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaomod_ty _Py_Module(asdl_seq * body, PyArena *arena);
3774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Interactive(a0, a1) _Py_Interactive(a0, a1)
3784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaomod_ty _Py_Interactive(asdl_seq * body, PyArena *arena);
3794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Expression(a0, a1) _Py_Expression(a0, a1)
3804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaomod_ty _Py_Expression(expr_ty body, PyArena *arena);
3814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Suite(a0, a1) _Py_Suite(a0, a1)
3824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaomod_ty _Py_Suite(asdl_seq * body, PyArena *arena);
3834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define FunctionDef(a0, a1, a2, a3, a4, a5, a6) _Py_FunctionDef(a0, a1, a2, a3, a4, a5, a6)
3844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_FunctionDef(identifier name, arguments_ty args, asdl_seq * body,
3854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        asdl_seq * decorator_list, int lineno, int col_offset,
3864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                        PyArena *arena);
3874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define ClassDef(a0, a1, a2, a3, a4, a5, a6) _Py_ClassDef(a0, a1, a2, a3, a4, a5, a6)
3884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_ClassDef(identifier name, asdl_seq * bases, asdl_seq * body,
3894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                     asdl_seq * decorator_list, int lineno, int col_offset,
3904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                     PyArena *arena);
3914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Return(a0, a1, a2, a3) _Py_Return(a0, a1, a2, a3)
3924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_Return(expr_ty value, int lineno, int col_offset, PyArena *arena);
3934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Delete(a0, a1, a2, a3) _Py_Delete(a0, a1, a2, a3)
3944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_Delete(asdl_seq * targets, int lineno, int col_offset, PyArena
3954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                   *arena);
3964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Assign(a0, a1, a2, a3, a4) _Py_Assign(a0, a1, a2, a3, a4)
3974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_Assign(asdl_seq * targets, expr_ty value, int lineno, int
3984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                   col_offset, PyArena *arena);
3994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define AugAssign(a0, a1, a2, a3, a4, a5) _Py_AugAssign(a0, a1, a2, a3, a4, a5)
4004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_AugAssign(expr_ty target, operator_ty op, expr_ty value, int
4014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                      lineno, int col_offset, PyArena *arena);
4024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Print(a0, a1, a2, a3, a4, a5) _Py_Print(a0, a1, a2, a3, a4, a5)
4034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_Print(expr_ty dest, asdl_seq * values, bool nl, int lineno, int
4044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  col_offset, PyArena *arena);
4054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define For(a0, a1, a2, a3, a4, a5, a6) _Py_For(a0, a1, a2, a3, a4, a5, a6)
4064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_For(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq *
4074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                orelse, int lineno, int col_offset, PyArena *arena);
4084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define While(a0, a1, a2, a3, a4, a5) _Py_While(a0, a1, a2, a3, a4, a5)
4094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_While(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
4104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  int col_offset, PyArena *arena);
4114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5)
4124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
4134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao               int col_offset, PyArena *arena);
4144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define With(a0, a1, a2, a3, a4, a5) _Py_With(a0, a1, a2, a3, a4, a5)
4154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_With(expr_ty context_expr, expr_ty optional_vars, asdl_seq * body,
4164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                 int lineno, int col_offset, PyArena *arena);
4174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Raise(a0, a1, a2, a3, a4, a5) _Py_Raise(a0, a1, a2, a3, a4, a5)
4184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_Raise(expr_ty type, expr_ty inst, expr_ty tback, int lineno, int
4194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  col_offset, PyArena *arena);
4204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define TryExcept(a0, a1, a2, a3, a4, a5) _Py_TryExcept(a0, a1, a2, a3, a4, a5)
4214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_TryExcept(asdl_seq * body, asdl_seq * handlers, asdl_seq * orelse,
4224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                      int lineno, int col_offset, PyArena *arena);
4234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define TryFinally(a0, a1, a2, a3, a4) _Py_TryFinally(a0, a1, a2, a3, a4)
4244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_TryFinally(asdl_seq * body, asdl_seq * finalbody, int lineno, int
4254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                       col_offset, PyArena *arena);
4264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Assert(a0, a1, a2, a3, a4) _Py_Assert(a0, a1, a2, a3, a4)
4274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset,
4284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                   PyArena *arena);
4294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Import(a0, a1, a2, a3) _Py_Import(a0, a1, a2, a3)
4304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_Import(asdl_seq * names, int lineno, int col_offset, PyArena
4314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                   *arena);
4324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define ImportFrom(a0, a1, a2, a3, a4, a5) _Py_ImportFrom(a0, a1, a2, a3, a4, a5)
4334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_ImportFrom(identifier module, asdl_seq * names, int level, int
4344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                       lineno, int col_offset, PyArena *arena);
4354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Exec(a0, a1, a2, a3, a4, a5) _Py_Exec(a0, a1, a2, a3, a4, a5)
4364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_Exec(expr_ty body, expr_ty globals, expr_ty locals, int lineno, int
4374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                 col_offset, PyArena *arena);
4384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Global(a0, a1, a2, a3) _Py_Global(a0, a1, a2, a3)
4394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_Global(asdl_seq * names, int lineno, int col_offset, PyArena
4404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                   *arena);
4414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Expr(a0, a1, a2, a3) _Py_Expr(a0, a1, a2, a3)
4424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_Expr(expr_ty value, int lineno, int col_offset, PyArena *arena);
4434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Pass(a0, a1, a2) _Py_Pass(a0, a1, a2)
4444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_Pass(int lineno, int col_offset, PyArena *arena);
4454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Break(a0, a1, a2) _Py_Break(a0, a1, a2)
4464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_Break(int lineno, int col_offset, PyArena *arena);
4474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Continue(a0, a1, a2) _Py_Continue(a0, a1, a2)
4484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaostmt_ty _Py_Continue(int lineno, int col_offset, PyArena *arena);
4494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define BoolOp(a0, a1, a2, a3, a4) _Py_BoolOp(a0, a1, a2, a3, a4)
4504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_BoolOp(boolop_ty op, asdl_seq * values, int lineno, int col_offset,
4514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                   PyArena *arena);
4524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define BinOp(a0, a1, a2, a3, a4, a5) _Py_BinOp(a0, a1, a2, a3, a4, a5)
4534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_BinOp(expr_ty left, operator_ty op, expr_ty right, int lineno, int
4544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  col_offset, PyArena *arena);
4554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define UnaryOp(a0, a1, a2, a3, a4) _Py_UnaryOp(a0, a1, a2, a3, a4)
4564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int col_offset,
4574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                    PyArena *arena);
4584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Lambda(a0, a1, a2, a3, a4) _Py_Lambda(a0, a1, a2, a3, a4)
4594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_Lambda(arguments_ty args, expr_ty body, int lineno, int col_offset,
4604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                   PyArena *arena);
4614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define IfExp(a0, a1, a2, a3, a4, a5) _Py_IfExp(a0, a1, a2, a3, a4, a5)
4624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, int
4634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  col_offset, PyArena *arena);
4644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Dict(a0, a1, a2, a3, a4) _Py_Dict(a0, a1, a2, a3, a4)
4654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_Dict(asdl_seq * keys, asdl_seq * values, int lineno, int
4664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                 col_offset, PyArena *arena);
4674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Set(a0, a1, a2, a3) _Py_Set(a0, a1, a2, a3)
4684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_Set(asdl_seq * elts, int lineno, int col_offset, PyArena *arena);
4694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define ListComp(a0, a1, a2, a3, a4) _Py_ListComp(a0, a1, a2, a3, a4)
4704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_ListComp(expr_ty elt, asdl_seq * generators, int lineno, int
4714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                     col_offset, PyArena *arena);
4724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define SetComp(a0, a1, a2, a3, a4) _Py_SetComp(a0, a1, a2, a3, a4)
4734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_SetComp(expr_ty elt, asdl_seq * generators, int lineno, int
4744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                    col_offset, PyArena *arena);
4754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define DictComp(a0, a1, a2, a3, a4, a5) _Py_DictComp(a0, a1, a2, a3, a4, a5)
4764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_DictComp(expr_ty key, expr_ty value, asdl_seq * generators, int
4774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                     lineno, int col_offset, PyArena *arena);
4784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define GeneratorExp(a0, a1, a2, a3, a4) _Py_GeneratorExp(a0, a1, a2, a3, a4)
4794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int
4804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                         col_offset, PyArena *arena);
4814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3)
4824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena);
4834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5)
4844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators,
4854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                    int lineno, int col_offset, PyArena *arena);
4864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Call(a0, a1, a2, a3, a4, a5, a6, a7) _Py_Call(a0, a1, a2, a3, a4, a5, a6, a7)
4874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_Call(expr_ty func, asdl_seq * args, asdl_seq * keywords, expr_ty
4884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                 starargs, expr_ty kwargs, int lineno, int col_offset, PyArena
4894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                 *arena);
4904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Repr(a0, a1, a2, a3) _Py_Repr(a0, a1, a2, a3)
4914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_Repr(expr_ty value, int lineno, int col_offset, PyArena *arena);
4924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Num(a0, a1, a2, a3) _Py_Num(a0, a1, a2, a3)
4934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_Num(object n, int lineno, int col_offset, PyArena *arena);
4944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3)
4954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_Str(string s, int lineno, int col_offset, PyArena *arena);
4964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5)
4974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, int
4984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                      lineno, int col_offset, PyArena *arena);
4994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5)
5004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_Subscript(expr_ty value, slice_ty slice, expr_context_ty ctx, int
5014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                      lineno, int col_offset, PyArena *arena);
5024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4)
5034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_Name(identifier id, expr_context_ty ctx, int lineno, int
5044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                 col_offset, PyArena *arena);
5054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define List(a0, a1, a2, a3, a4) _Py_List(a0, a1, a2, a3, a4)
5064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int
5074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                 col_offset, PyArena *arena);
5084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Tuple(a0, a1, a2, a3, a4) _Py_Tuple(a0, a1, a2, a3, a4)
5094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexpr_ty _Py_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int
5104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                  col_offset, PyArena *arena);
5114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Ellipsis(a0) _Py_Ellipsis(a0)
5124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoslice_ty _Py_Ellipsis(PyArena *arena);
5134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Slice(a0, a1, a2, a3) _Py_Slice(a0, a1, a2, a3)
5144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoslice_ty _Py_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena);
5154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define ExtSlice(a0, a1) _Py_ExtSlice(a0, a1)
5164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoslice_ty _Py_ExtSlice(asdl_seq * dims, PyArena *arena);
5174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define Index(a0, a1) _Py_Index(a0, a1)
5184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoslice_ty _Py_Index(expr_ty value, PyArena *arena);
5194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define comprehension(a0, a1, a2, a3) _Py_comprehension(a0, a1, a2, a3)
5204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaocomprehension_ty _Py_comprehension(expr_ty target, expr_ty iter, asdl_seq *
5214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                                   ifs, PyArena *arena);
5224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define ExceptHandler(a0, a1, a2, a3, a4, a5) _Py_ExceptHandler(a0, a1, a2, a3, a4, a5)
5234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexcepthandler_ty _Py_ExceptHandler(expr_ty type, expr_ty name, asdl_seq * body,
5244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                                   int lineno, int col_offset, PyArena *arena);
5254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define arguments(a0, a1, a2, a3, a4) _Py_arguments(a0, a1, a2, a3, a4)
5264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoarguments_ty _Py_arguments(asdl_seq * args, identifier vararg, identifier
5274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao                           kwarg, asdl_seq * defaults, PyArena *arena);
5284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define keyword(a0, a1, a2) _Py_keyword(a0, a1, a2)
5294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaokeyword_ty _Py_keyword(identifier arg, expr_ty value, PyArena *arena);
5304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#define alias(a0, a1, a2) _Py_alias(a0, a1, a2)
5314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoalias_ty _Py_alias(identifier name, identifier asname, PyArena *arena);
5324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao
5334adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPyObject* PyAST_mod2obj(mod_ty t);
5344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaomod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode);
5354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoint PyAST_Check(PyObject* obj);
536