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