Home | History | Annotate | Download | only in Include
      1 /* File automatically generated by Parser/asdl_c.py. */
      2 
      3 #include "asdl.h"
      4 
      5 typedef struct _mod *mod_ty;
      6 
      7 typedef struct _stmt *stmt_ty;
      8 
      9 typedef struct _expr *expr_ty;
     10 
     11 typedef enum _expr_context { Load=1, Store=2, Del=3, AugLoad=4, AugStore=5,
     12                              Param=6 } expr_context_ty;
     13 
     14 typedef struct _slice *slice_ty;
     15 
     16 typedef enum _boolop { And=1, Or=2 } boolop_ty;
     17 
     18 typedef enum _operator { Add=1, Sub=2, Mult=3, MatMult=4, Div=5, Mod=6, Pow=7,
     19                          LShift=8, RShift=9, BitOr=10, BitXor=11, BitAnd=12,
     20                          FloorDiv=13 } operator_ty;
     21 
     22 typedef enum _unaryop { Invert=1, Not=2, UAdd=3, USub=4 } unaryop_ty;
     23 
     24 typedef enum _cmpop { Eq=1, NotEq=2, Lt=3, LtE=4, Gt=5, GtE=6, Is=7, IsNot=8,
     25                       In=9, NotIn=10 } cmpop_ty;
     26 
     27 typedef struct _comprehension *comprehension_ty;
     28 
     29 typedef struct _excepthandler *excepthandler_ty;
     30 
     31 typedef struct _arguments *arguments_ty;
     32 
     33 typedef struct _arg *arg_ty;
     34 
     35 typedef struct _keyword *keyword_ty;
     36 
     37 typedef struct _alias *alias_ty;
     38 
     39 typedef struct _withitem *withitem_ty;
     40 
     41 
     42 enum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3,
     43                  Suite_kind=4};
     44 struct _mod {
     45     enum _mod_kind kind;
     46     union {
     47         struct {
     48             asdl_seq *body;
     49         } Module;
     50 
     51         struct {
     52             asdl_seq *body;
     53         } Interactive;
     54 
     55         struct {
     56             expr_ty body;
     57         } Expression;
     58 
     59         struct {
     60             asdl_seq *body;
     61         } Suite;
     62 
     63     } v;
     64 };
     65 
     66 enum _stmt_kind {FunctionDef_kind=1, AsyncFunctionDef_kind=2, ClassDef_kind=3,
     67                   Return_kind=4, Delete_kind=5, Assign_kind=6,
     68                   AugAssign_kind=7, AnnAssign_kind=8, For_kind=9,
     69                   AsyncFor_kind=10, While_kind=11, If_kind=12, With_kind=13,
     70                   AsyncWith_kind=14, Raise_kind=15, Try_kind=16,
     71                   Assert_kind=17, Import_kind=18, ImportFrom_kind=19,
     72                   Global_kind=20, Nonlocal_kind=21, Expr_kind=22, Pass_kind=23,
     73                   Break_kind=24, Continue_kind=25};
     74 struct _stmt {
     75     enum _stmt_kind kind;
     76     union {
     77         struct {
     78             identifier name;
     79             arguments_ty args;
     80             asdl_seq *body;
     81             asdl_seq *decorator_list;
     82             expr_ty returns;
     83         } FunctionDef;
     84 
     85         struct {
     86             identifier name;
     87             arguments_ty args;
     88             asdl_seq *body;
     89             asdl_seq *decorator_list;
     90             expr_ty returns;
     91         } AsyncFunctionDef;
     92 
     93         struct {
     94             identifier name;
     95             asdl_seq *bases;
     96             asdl_seq *keywords;
     97             asdl_seq *body;
     98             asdl_seq *decorator_list;
     99         } ClassDef;
    100 
    101         struct {
    102             expr_ty value;
    103         } Return;
    104 
    105         struct {
    106             asdl_seq *targets;
    107         } Delete;
    108 
    109         struct {
    110             asdl_seq *targets;
    111             expr_ty value;
    112         } Assign;
    113 
    114         struct {
    115             expr_ty target;
    116             operator_ty op;
    117             expr_ty value;
    118         } AugAssign;
    119 
    120         struct {
    121             expr_ty target;
    122             expr_ty annotation;
    123             expr_ty value;
    124             int simple;
    125         } AnnAssign;
    126 
    127         struct {
    128             expr_ty target;
    129             expr_ty iter;
    130             asdl_seq *body;
    131             asdl_seq *orelse;
    132         } For;
    133 
    134         struct {
    135             expr_ty target;
    136             expr_ty iter;
    137             asdl_seq *body;
    138             asdl_seq *orelse;
    139         } AsyncFor;
    140 
    141         struct {
    142             expr_ty test;
    143             asdl_seq *body;
    144             asdl_seq *orelse;
    145         } While;
    146 
    147         struct {
    148             expr_ty test;
    149             asdl_seq *body;
    150             asdl_seq *orelse;
    151         } If;
    152 
    153         struct {
    154             asdl_seq *items;
    155             asdl_seq *body;
    156         } With;
    157 
    158         struct {
    159             asdl_seq *items;
    160             asdl_seq *body;
    161         } AsyncWith;
    162 
    163         struct {
    164             expr_ty exc;
    165             expr_ty cause;
    166         } Raise;
    167 
    168         struct {
    169             asdl_seq *body;
    170             asdl_seq *handlers;
    171             asdl_seq *orelse;
    172             asdl_seq *finalbody;
    173         } Try;
    174 
    175         struct {
    176             expr_ty test;
    177             expr_ty msg;
    178         } Assert;
    179 
    180         struct {
    181             asdl_seq *names;
    182         } Import;
    183 
    184         struct {
    185             identifier module;
    186             asdl_seq *names;
    187             int level;
    188         } ImportFrom;
    189 
    190         struct {
    191             asdl_seq *names;
    192         } Global;
    193 
    194         struct {
    195             asdl_seq *names;
    196         } Nonlocal;
    197 
    198         struct {
    199             expr_ty value;
    200         } Expr;
    201 
    202     } v;
    203     int lineno;
    204     int col_offset;
    205 };
    206 
    207 enum _expr_kind {BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4,
    208                   IfExp_kind=5, Dict_kind=6, Set_kind=7, ListComp_kind=8,
    209                   SetComp_kind=9, DictComp_kind=10, GeneratorExp_kind=11,
    210                   Await_kind=12, Yield_kind=13, YieldFrom_kind=14,
    211                   Compare_kind=15, Call_kind=16, Num_kind=17, Str_kind=18,
    212                   FormattedValue_kind=19, JoinedStr_kind=20, Bytes_kind=21,
    213                   NameConstant_kind=22, Ellipsis_kind=23, Constant_kind=24,
    214                   Attribute_kind=25, Subscript_kind=26, Starred_kind=27,
    215                   Name_kind=28, List_kind=29, Tuple_kind=30};
    216 struct _expr {
    217     enum _expr_kind kind;
    218     union {
    219         struct {
    220             boolop_ty op;
    221             asdl_seq *values;
    222         } BoolOp;
    223 
    224         struct {
    225             expr_ty left;
    226             operator_ty op;
    227             expr_ty right;
    228         } BinOp;
    229 
    230         struct {
    231             unaryop_ty op;
    232             expr_ty operand;
    233         } UnaryOp;
    234 
    235         struct {
    236             arguments_ty args;
    237             expr_ty body;
    238         } Lambda;
    239 
    240         struct {
    241             expr_ty test;
    242             expr_ty body;
    243             expr_ty orelse;
    244         } IfExp;
    245 
    246         struct {
    247             asdl_seq *keys;
    248             asdl_seq *values;
    249         } Dict;
    250 
    251         struct {
    252             asdl_seq *elts;
    253         } Set;
    254 
    255         struct {
    256             expr_ty elt;
    257             asdl_seq *generators;
    258         } ListComp;
    259 
    260         struct {
    261             expr_ty elt;
    262             asdl_seq *generators;
    263         } SetComp;
    264 
    265         struct {
    266             expr_ty key;
    267             expr_ty value;
    268             asdl_seq *generators;
    269         } DictComp;
    270 
    271         struct {
    272             expr_ty elt;
    273             asdl_seq *generators;
    274         } GeneratorExp;
    275 
    276         struct {
    277             expr_ty value;
    278         } Await;
    279 
    280         struct {
    281             expr_ty value;
    282         } Yield;
    283 
    284         struct {
    285             expr_ty value;
    286         } YieldFrom;
    287 
    288         struct {
    289             expr_ty left;
    290             asdl_int_seq *ops;
    291             asdl_seq *comparators;
    292         } Compare;
    293 
    294         struct {
    295             expr_ty func;
    296             asdl_seq *args;
    297             asdl_seq *keywords;
    298         } Call;
    299 
    300         struct {
    301             object n;
    302         } Num;
    303 
    304         struct {
    305             string s;
    306         } Str;
    307 
    308         struct {
    309             expr_ty value;
    310             int conversion;
    311             expr_ty format_spec;
    312         } FormattedValue;
    313 
    314         struct {
    315             asdl_seq *values;
    316         } JoinedStr;
    317 
    318         struct {
    319             bytes s;
    320         } Bytes;
    321 
    322         struct {
    323             singleton value;
    324         } NameConstant;
    325 
    326         struct {
    327             constant value;
    328         } Constant;
    329 
    330         struct {
    331             expr_ty value;
    332             identifier attr;
    333             expr_context_ty ctx;
    334         } Attribute;
    335 
    336         struct {
    337             expr_ty value;
    338             slice_ty slice;
    339             expr_context_ty ctx;
    340         } Subscript;
    341 
    342         struct {
    343             expr_ty value;
    344             expr_context_ty ctx;
    345         } Starred;
    346 
    347         struct {
    348             identifier id;
    349             expr_context_ty ctx;
    350         } Name;
    351 
    352         struct {
    353             asdl_seq *elts;
    354             expr_context_ty ctx;
    355         } List;
    356 
    357         struct {
    358             asdl_seq *elts;
    359             expr_context_ty ctx;
    360         } Tuple;
    361 
    362     } v;
    363     int lineno;
    364     int col_offset;
    365 };
    366 
    367 enum _slice_kind {Slice_kind=1, ExtSlice_kind=2, Index_kind=3};
    368 struct _slice {
    369     enum _slice_kind kind;
    370     union {
    371         struct {
    372             expr_ty lower;
    373             expr_ty upper;
    374             expr_ty step;
    375         } Slice;
    376 
    377         struct {
    378             asdl_seq *dims;
    379         } ExtSlice;
    380 
    381         struct {
    382             expr_ty value;
    383         } Index;
    384 
    385     } v;
    386 };
    387 
    388 struct _comprehension {
    389     expr_ty target;
    390     expr_ty iter;
    391     asdl_seq *ifs;
    392     int is_async;
    393 };
    394 
    395 enum _excepthandler_kind {ExceptHandler_kind=1};
    396 struct _excepthandler {
    397     enum _excepthandler_kind kind;
    398     union {
    399         struct {
    400             expr_ty type;
    401             identifier name;
    402             asdl_seq *body;
    403         } ExceptHandler;
    404 
    405     } v;
    406     int lineno;
    407     int col_offset;
    408 };
    409 
    410 struct _arguments {
    411     asdl_seq *args;
    412     arg_ty vararg;
    413     asdl_seq *kwonlyargs;
    414     asdl_seq *kw_defaults;
    415     arg_ty kwarg;
    416     asdl_seq *defaults;
    417 };
    418 
    419 struct _arg {
    420     identifier arg;
    421     expr_ty annotation;
    422     int lineno;
    423     int col_offset;
    424 };
    425 
    426 struct _keyword {
    427     identifier arg;
    428     expr_ty value;
    429 };
    430 
    431 struct _alias {
    432     identifier name;
    433     identifier asname;
    434 };
    435 
    436 struct _withitem {
    437     expr_ty context_expr;
    438     expr_ty optional_vars;
    439 };
    440 
    441 
    442 #define Module(a0, a1) _Py_Module(a0, a1)
    443 mod_ty _Py_Module(asdl_seq * body, PyArena *arena);
    444 #define Interactive(a0, a1) _Py_Interactive(a0, a1)
    445 mod_ty _Py_Interactive(asdl_seq * body, PyArena *arena);
    446 #define Expression(a0, a1) _Py_Expression(a0, a1)
    447 mod_ty _Py_Expression(expr_ty body, PyArena *arena);
    448 #define Suite(a0, a1) _Py_Suite(a0, a1)
    449 mod_ty _Py_Suite(asdl_seq * body, PyArena *arena);
    450 #define FunctionDef(a0, a1, a2, a3, a4, a5, a6, a7) _Py_FunctionDef(a0, a1, a2, a3, a4, a5, a6, a7)
    451 stmt_ty _Py_FunctionDef(identifier name, arguments_ty args, asdl_seq * body,
    452                         asdl_seq * decorator_list, expr_ty returns, int lineno,
    453                         int col_offset, PyArena *arena);
    454 #define AsyncFunctionDef(a0, a1, a2, a3, a4, a5, a6, a7) _Py_AsyncFunctionDef(a0, a1, a2, a3, a4, a5, a6, a7)
    455 stmt_ty _Py_AsyncFunctionDef(identifier name, arguments_ty args, asdl_seq *
    456                              body, asdl_seq * decorator_list, expr_ty returns,
    457                              int lineno, int col_offset, PyArena *arena);
    458 #define ClassDef(a0, a1, a2, a3, a4, a5, a6, a7) _Py_ClassDef(a0, a1, a2, a3, a4, a5, a6, a7)
    459 stmt_ty _Py_ClassDef(identifier name, asdl_seq * bases, asdl_seq * keywords,
    460                      asdl_seq * body, asdl_seq * decorator_list, int lineno,
    461                      int col_offset, PyArena *arena);
    462 #define Return(a0, a1, a2, a3) _Py_Return(a0, a1, a2, a3)
    463 stmt_ty _Py_Return(expr_ty value, int lineno, int col_offset, PyArena *arena);
    464 #define Delete(a0, a1, a2, a3) _Py_Delete(a0, a1, a2, a3)
    465 stmt_ty _Py_Delete(asdl_seq * targets, int lineno, int col_offset, PyArena
    466                    *arena);
    467 #define Assign(a0, a1, a2, a3, a4) _Py_Assign(a0, a1, a2, a3, a4)
    468 stmt_ty _Py_Assign(asdl_seq * targets, expr_ty value, int lineno, int
    469                    col_offset, PyArena *arena);
    470 #define AugAssign(a0, a1, a2, a3, a4, a5) _Py_AugAssign(a0, a1, a2, a3, a4, a5)
    471 stmt_ty _Py_AugAssign(expr_ty target, operator_ty op, expr_ty value, int
    472                       lineno, int col_offset, PyArena *arena);
    473 #define AnnAssign(a0, a1, a2, a3, a4, a5, a6) _Py_AnnAssign(a0, a1, a2, a3, a4, a5, a6)
    474 stmt_ty _Py_AnnAssign(expr_ty target, expr_ty annotation, expr_ty value, int
    475                       simple, int lineno, int col_offset, PyArena *arena);
    476 #define For(a0, a1, a2, a3, a4, a5, a6) _Py_For(a0, a1, a2, a3, a4, a5, a6)
    477 stmt_ty _Py_For(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq *
    478                 orelse, int lineno, int col_offset, PyArena *arena);
    479 #define AsyncFor(a0, a1, a2, a3, a4, a5, a6) _Py_AsyncFor(a0, a1, a2, a3, a4, a5, a6)
    480 stmt_ty _Py_AsyncFor(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq *
    481                      orelse, int lineno, int col_offset, PyArena *arena);
    482 #define While(a0, a1, a2, a3, a4, a5) _Py_While(a0, a1, a2, a3, a4, a5)
    483 stmt_ty _Py_While(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
    484                   int col_offset, PyArena *arena);
    485 #define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5)
    486 stmt_ty _Py_If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
    487                int col_offset, PyArena *arena);
    488 #define With(a0, a1, a2, a3, a4) _Py_With(a0, a1, a2, a3, a4)
    489 stmt_ty _Py_With(asdl_seq * items, asdl_seq * body, int lineno, int col_offset,
    490                  PyArena *arena);
    491 #define AsyncWith(a0, a1, a2, a3, a4) _Py_AsyncWith(a0, a1, a2, a3, a4)
    492 stmt_ty _Py_AsyncWith(asdl_seq * items, asdl_seq * body, int lineno, int
    493                       col_offset, PyArena *arena);
    494 #define Raise(a0, a1, a2, a3, a4) _Py_Raise(a0, a1, a2, a3, a4)
    495 stmt_ty _Py_Raise(expr_ty exc, expr_ty cause, int lineno, int col_offset,
    496                   PyArena *arena);
    497 #define Try(a0, a1, a2, a3, a4, a5, a6) _Py_Try(a0, a1, a2, a3, a4, a5, a6)
    498 stmt_ty _Py_Try(asdl_seq * body, asdl_seq * handlers, asdl_seq * orelse,
    499                 asdl_seq * finalbody, int lineno, int col_offset, PyArena
    500                 *arena);
    501 #define Assert(a0, a1, a2, a3, a4) _Py_Assert(a0, a1, a2, a3, a4)
    502 stmt_ty _Py_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset,
    503                    PyArena *arena);
    504 #define Import(a0, a1, a2, a3) _Py_Import(a0, a1, a2, a3)
    505 stmt_ty _Py_Import(asdl_seq * names, int lineno, int col_offset, PyArena
    506                    *arena);
    507 #define ImportFrom(a0, a1, a2, a3, a4, a5) _Py_ImportFrom(a0, a1, a2, a3, a4, a5)
    508 stmt_ty _Py_ImportFrom(identifier module, asdl_seq * names, int level, int
    509                        lineno, int col_offset, PyArena *arena);
    510 #define Global(a0, a1, a2, a3) _Py_Global(a0, a1, a2, a3)
    511 stmt_ty _Py_Global(asdl_seq * names, int lineno, int col_offset, PyArena
    512                    *arena);
    513 #define Nonlocal(a0, a1, a2, a3) _Py_Nonlocal(a0, a1, a2, a3)
    514 stmt_ty _Py_Nonlocal(asdl_seq * names, int lineno, int col_offset, PyArena
    515                      *arena);
    516 #define Expr(a0, a1, a2, a3) _Py_Expr(a0, a1, a2, a3)
    517 stmt_ty _Py_Expr(expr_ty value, int lineno, int col_offset, PyArena *arena);
    518 #define Pass(a0, a1, a2) _Py_Pass(a0, a1, a2)
    519 stmt_ty _Py_Pass(int lineno, int col_offset, PyArena *arena);
    520 #define Break(a0, a1, a2) _Py_Break(a0, a1, a2)
    521 stmt_ty _Py_Break(int lineno, int col_offset, PyArena *arena);
    522 #define Continue(a0, a1, a2) _Py_Continue(a0, a1, a2)
    523 stmt_ty _Py_Continue(int lineno, int col_offset, PyArena *arena);
    524 #define BoolOp(a0, a1, a2, a3, a4) _Py_BoolOp(a0, a1, a2, a3, a4)
    525 expr_ty _Py_BoolOp(boolop_ty op, asdl_seq * values, int lineno, int col_offset,
    526                    PyArena *arena);
    527 #define BinOp(a0, a1, a2, a3, a4, a5) _Py_BinOp(a0, a1, a2, a3, a4, a5)
    528 expr_ty _Py_BinOp(expr_ty left, operator_ty op, expr_ty right, int lineno, int
    529                   col_offset, PyArena *arena);
    530 #define UnaryOp(a0, a1, a2, a3, a4) _Py_UnaryOp(a0, a1, a2, a3, a4)
    531 expr_ty _Py_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int col_offset,
    532                     PyArena *arena);
    533 #define Lambda(a0, a1, a2, a3, a4) _Py_Lambda(a0, a1, a2, a3, a4)
    534 expr_ty _Py_Lambda(arguments_ty args, expr_ty body, int lineno, int col_offset,
    535                    PyArena *arena);
    536 #define IfExp(a0, a1, a2, a3, a4, a5) _Py_IfExp(a0, a1, a2, a3, a4, a5)
    537 expr_ty _Py_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, int
    538                   col_offset, PyArena *arena);
    539 #define Dict(a0, a1, a2, a3, a4) _Py_Dict(a0, a1, a2, a3, a4)
    540 expr_ty _Py_Dict(asdl_seq * keys, asdl_seq * values, int lineno, int
    541                  col_offset, PyArena *arena);
    542 #define Set(a0, a1, a2, a3) _Py_Set(a0, a1, a2, a3)
    543 expr_ty _Py_Set(asdl_seq * elts, int lineno, int col_offset, PyArena *arena);
    544 #define ListComp(a0, a1, a2, a3, a4) _Py_ListComp(a0, a1, a2, a3, a4)
    545 expr_ty _Py_ListComp(expr_ty elt, asdl_seq * generators, int lineno, int
    546                      col_offset, PyArena *arena);
    547 #define SetComp(a0, a1, a2, a3, a4) _Py_SetComp(a0, a1, a2, a3, a4)
    548 expr_ty _Py_SetComp(expr_ty elt, asdl_seq * generators, int lineno, int
    549                     col_offset, PyArena *arena);
    550 #define DictComp(a0, a1, a2, a3, a4, a5) _Py_DictComp(a0, a1, a2, a3, a4, a5)
    551 expr_ty _Py_DictComp(expr_ty key, expr_ty value, asdl_seq * generators, int
    552                      lineno, int col_offset, PyArena *arena);
    553 #define GeneratorExp(a0, a1, a2, a3, a4) _Py_GeneratorExp(a0, a1, a2, a3, a4)
    554 expr_ty _Py_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int
    555                          col_offset, PyArena *arena);
    556 #define Await(a0, a1, a2, a3) _Py_Await(a0, a1, a2, a3)
    557 expr_ty _Py_Await(expr_ty value, int lineno, int col_offset, PyArena *arena);
    558 #define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3)
    559 expr_ty _Py_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena);
    560 #define YieldFrom(a0, a1, a2, a3) _Py_YieldFrom(a0, a1, a2, a3)
    561 expr_ty _Py_YieldFrom(expr_ty value, int lineno, int col_offset, PyArena
    562                       *arena);
    563 #define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5)
    564 expr_ty _Py_Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators,
    565                     int lineno, int col_offset, PyArena *arena);
    566 #define Call(a0, a1, a2, a3, a4, a5) _Py_Call(a0, a1, a2, a3, a4, a5)
    567 expr_ty _Py_Call(expr_ty func, asdl_seq * args, asdl_seq * keywords, int
    568                  lineno, int col_offset, PyArena *arena);
    569 #define Num(a0, a1, a2, a3) _Py_Num(a0, a1, a2, a3)
    570 expr_ty _Py_Num(object n, int lineno, int col_offset, PyArena *arena);
    571 #define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3)
    572 expr_ty _Py_Str(string s, int lineno, int col_offset, PyArena *arena);
    573 #define FormattedValue(a0, a1, a2, a3, a4, a5) _Py_FormattedValue(a0, a1, a2, a3, a4, a5)
    574 expr_ty _Py_FormattedValue(expr_ty value, int conversion, expr_ty format_spec,
    575                            int lineno, int col_offset, PyArena *arena);
    576 #define JoinedStr(a0, a1, a2, a3) _Py_JoinedStr(a0, a1, a2, a3)
    577 expr_ty _Py_JoinedStr(asdl_seq * values, int lineno, int col_offset, PyArena
    578                       *arena);
    579 #define Bytes(a0, a1, a2, a3) _Py_Bytes(a0, a1, a2, a3)
    580 expr_ty _Py_Bytes(bytes s, int lineno, int col_offset, PyArena *arena);
    581 #define NameConstant(a0, a1, a2, a3) _Py_NameConstant(a0, a1, a2, a3)
    582 expr_ty _Py_NameConstant(singleton value, int lineno, int col_offset, PyArena
    583                          *arena);
    584 #define Ellipsis(a0, a1, a2) _Py_Ellipsis(a0, a1, a2)
    585 expr_ty _Py_Ellipsis(int lineno, int col_offset, PyArena *arena);
    586 #define Constant(a0, a1, a2, a3) _Py_Constant(a0, a1, a2, a3)
    587 expr_ty _Py_Constant(constant value, int lineno, int col_offset, PyArena
    588                      *arena);
    589 #define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5)
    590 expr_ty _Py_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, int
    591                       lineno, int col_offset, PyArena *arena);
    592 #define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5)
    593 expr_ty _Py_Subscript(expr_ty value, slice_ty slice, expr_context_ty ctx, int
    594                       lineno, int col_offset, PyArena *arena);
    595 #define Starred(a0, a1, a2, a3, a4) _Py_Starred(a0, a1, a2, a3, a4)
    596 expr_ty _Py_Starred(expr_ty value, expr_context_ty ctx, int lineno, int
    597                     col_offset, PyArena *arena);
    598 #define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4)
    599 expr_ty _Py_Name(identifier id, expr_context_ty ctx, int lineno, int
    600                  col_offset, PyArena *arena);
    601 #define List(a0, a1, a2, a3, a4) _Py_List(a0, a1, a2, a3, a4)
    602 expr_ty _Py_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int
    603                  col_offset, PyArena *arena);
    604 #define Tuple(a0, a1, a2, a3, a4) _Py_Tuple(a0, a1, a2, a3, a4)
    605 expr_ty _Py_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int
    606                   col_offset, PyArena *arena);
    607 #define Slice(a0, a1, a2, a3) _Py_Slice(a0, a1, a2, a3)
    608 slice_ty _Py_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena);
    609 #define ExtSlice(a0, a1) _Py_ExtSlice(a0, a1)
    610 slice_ty _Py_ExtSlice(asdl_seq * dims, PyArena *arena);
    611 #define Index(a0, a1) _Py_Index(a0, a1)
    612 slice_ty _Py_Index(expr_ty value, PyArena *arena);
    613 #define comprehension(a0, a1, a2, a3, a4) _Py_comprehension(a0, a1, a2, a3, a4)
    614 comprehension_ty _Py_comprehension(expr_ty target, expr_ty iter, asdl_seq *
    615                                    ifs, int is_async, PyArena *arena);
    616 #define ExceptHandler(a0, a1, a2, a3, a4, a5) _Py_ExceptHandler(a0, a1, a2, a3, a4, a5)
    617 excepthandler_ty _Py_ExceptHandler(expr_ty type, identifier name, asdl_seq *
    618                                    body, int lineno, int col_offset, PyArena
    619                                    *arena);
    620 #define arguments(a0, a1, a2, a3, a4, a5, a6) _Py_arguments(a0, a1, a2, a3, a4, a5, a6)
    621 arguments_ty _Py_arguments(asdl_seq * args, arg_ty vararg, asdl_seq *
    622                            kwonlyargs, asdl_seq * kw_defaults, arg_ty kwarg,
    623                            asdl_seq * defaults, PyArena *arena);
    624 #define arg(a0, a1, a2, a3, a4) _Py_arg(a0, a1, a2, a3, a4)
    625 arg_ty _Py_arg(identifier arg, expr_ty annotation, int lineno, int col_offset,
    626                PyArena *arena);
    627 #define keyword(a0, a1, a2) _Py_keyword(a0, a1, a2)
    628 keyword_ty _Py_keyword(identifier arg, expr_ty value, PyArena *arena);
    629 #define alias(a0, a1, a2) _Py_alias(a0, a1, a2)
    630 alias_ty _Py_alias(identifier name, identifier asname, PyArena *arena);
    631 #define withitem(a0, a1, a2) _Py_withitem(a0, a1, a2)
    632 withitem_ty _Py_withitem(expr_ty context_expr, expr_ty optional_vars, PyArena
    633                          *arena);
    634 
    635 PyObject* PyAST_mod2obj(mod_ty t);
    636 mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode);
    637 int PyAST_Check(PyObject* obj);
    638