1 /* File automatically generated by Parser/asdl_c.py. */
2 
3 #include "../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 typedef struct _type_ignore *type_ignore_ty;
42 
43 
44 enum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3,
45                  FunctionType_kind=4, Suite_kind=5};
46 struct _mod {
47     enum _mod_kind kind;
48     union {
49         struct {
50             asdl_seq *body;
51             asdl_seq *type_ignores;
52         } Module;
53 
54         struct {
55             asdl_seq *body;
56         } Interactive;
57 
58         struct {
59             expr_ty body;
60         } Expression;
61 
62         struct {
63             asdl_seq *argtypes;
64             expr_ty returns;
65         } FunctionType;
66 
67         struct {
68             asdl_seq *body;
69         } Suite;
70 
71     } v;
72 };
73 
74 enum _stmt_kind {FunctionDef_kind=1, AsyncFunctionDef_kind=2, ClassDef_kind=3,
75                   Return_kind=4, Delete_kind=5, Assign_kind=6,
76                   AugAssign_kind=7, AnnAssign_kind=8, For_kind=9,
77                   AsyncFor_kind=10, While_kind=11, If_kind=12, With_kind=13,
78                   AsyncWith_kind=14, Raise_kind=15, Try_kind=16,
79                   Assert_kind=17, Import_kind=18, ImportFrom_kind=19,
80                   Global_kind=20, Nonlocal_kind=21, Expr_kind=22, Pass_kind=23,
81                   Break_kind=24, Continue_kind=25};
82 struct _stmt {
83     enum _stmt_kind kind;
84     union {
85         struct {
86             identifier name;
87             arguments_ty args;
88             asdl_seq *body;
89             asdl_seq *decorator_list;
90             expr_ty returns;
91             string type_comment;
92         } FunctionDef;
93 
94         struct {
95             identifier name;
96             arguments_ty args;
97             asdl_seq *body;
98             asdl_seq *decorator_list;
99             expr_ty returns;
100             string type_comment;
101         } AsyncFunctionDef;
102 
103         struct {
104             identifier name;
105             asdl_seq *bases;
106             asdl_seq *keywords;
107             asdl_seq *body;
108             asdl_seq *decorator_list;
109         } ClassDef;
110 
111         struct {
112             expr_ty value;
113         } Return;
114 
115         struct {
116             asdl_seq *targets;
117         } Delete;
118 
119         struct {
120             asdl_seq *targets;
121             expr_ty value;
122             string type_comment;
123         } Assign;
124 
125         struct {
126             expr_ty target;
127             operator_ty op;
128             expr_ty value;
129         } AugAssign;
130 
131         struct {
132             expr_ty target;
133             expr_ty annotation;
134             expr_ty value;
135             int simple;
136         } AnnAssign;
137 
138         struct {
139             expr_ty target;
140             expr_ty iter;
141             asdl_seq *body;
142             asdl_seq *orelse;
143             string type_comment;
144         } For;
145 
146         struct {
147             expr_ty target;
148             expr_ty iter;
149             asdl_seq *body;
150             asdl_seq *orelse;
151             string type_comment;
152         } AsyncFor;
153 
154         struct {
155             expr_ty test;
156             asdl_seq *body;
157             asdl_seq *orelse;
158         } While;
159 
160         struct {
161             expr_ty test;
162             asdl_seq *body;
163             asdl_seq *orelse;
164         } If;
165 
166         struct {
167             asdl_seq *items;
168             asdl_seq *body;
169             string type_comment;
170         } With;
171 
172         struct {
173             asdl_seq *items;
174             asdl_seq *body;
175             string type_comment;
176         } AsyncWith;
177 
178         struct {
179             expr_ty exc;
180             expr_ty cause;
181         } Raise;
182 
183         struct {
184             asdl_seq *body;
185             asdl_seq *handlers;
186             asdl_seq *orelse;
187             asdl_seq *finalbody;
188         } Try;
189 
190         struct {
191             expr_ty test;
192             expr_ty msg;
193         } Assert;
194 
195         struct {
196             asdl_seq *names;
197         } Import;
198 
199         struct {
200             identifier module;
201             asdl_seq *names;
202             int level;
203         } ImportFrom;
204 
205         struct {
206             asdl_seq *names;
207         } Global;
208 
209         struct {
210             asdl_seq *names;
211         } Nonlocal;
212 
213         struct {
214             expr_ty value;
215         } Expr;
216 
217     } v;
218     int lineno;
219     int col_offset;
220 };
221 
222 enum _expr_kind {BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4,
223                   IfExp_kind=5, Dict_kind=6, Set_kind=7, ListComp_kind=8,
224                   SetComp_kind=9, DictComp_kind=10, GeneratorExp_kind=11,
225                   Await_kind=12, Yield_kind=13, YieldFrom_kind=14,
226                   Compare_kind=15, Call_kind=16, Num_kind=17, Str_kind=18,
227                   FormattedValue_kind=19, JoinedStr_kind=20, Bytes_kind=21,
228                   NameConstant_kind=22, Ellipsis_kind=23, Constant_kind=24,
229                   Attribute_kind=25, Subscript_kind=26, Starred_kind=27,
230                   Name_kind=28, List_kind=29, Tuple_kind=30};
231 struct _expr {
232     enum _expr_kind kind;
233     union {
234         struct {
235             boolop_ty op;
236             asdl_seq *values;
237         } BoolOp;
238 
239         struct {
240             expr_ty left;
241             operator_ty op;
242             expr_ty right;
243         } BinOp;
244 
245         struct {
246             unaryop_ty op;
247             expr_ty operand;
248         } UnaryOp;
249 
250         struct {
251             arguments_ty args;
252             expr_ty body;
253         } Lambda;
254 
255         struct {
256             expr_ty test;
257             expr_ty body;
258             expr_ty orelse;
259         } IfExp;
260 
261         struct {
262             asdl_seq *keys;
263             asdl_seq *values;
264         } Dict;
265 
266         struct {
267             asdl_seq *elts;
268         } Set;
269 
270         struct {
271             expr_ty elt;
272             asdl_seq *generators;
273         } ListComp;
274 
275         struct {
276             expr_ty elt;
277             asdl_seq *generators;
278         } SetComp;
279 
280         struct {
281             expr_ty key;
282             expr_ty value;
283             asdl_seq *generators;
284         } DictComp;
285 
286         struct {
287             expr_ty elt;
288             asdl_seq *generators;
289         } GeneratorExp;
290 
291         struct {
292             expr_ty value;
293         } Await;
294 
295         struct {
296             expr_ty value;
297         } Yield;
298 
299         struct {
300             expr_ty value;
301         } YieldFrom;
302 
303         struct {
304             expr_ty left;
305             asdl_int_seq *ops;
306             asdl_seq *comparators;
307         } Compare;
308 
309         struct {
310             expr_ty func;
311             asdl_seq *args;
312             asdl_seq *keywords;
313         } Call;
314 
315         struct {
316             object n;
317         } Num;
318 
319         struct {
320             string s;
321             string kind;
322         } Str;
323 
324         struct {
325             expr_ty value;
326             int conversion;
327             expr_ty format_spec;
328         } FormattedValue;
329 
330         struct {
331             asdl_seq *values;
332         } JoinedStr;
333 
334         struct {
335             bytes s;
336             string kind;
337         } Bytes;
338 
339         struct {
340             singleton value;
341         } NameConstant;
342 
343         struct {
344             constant value;
345         } Constant;
346 
347         struct {
348             expr_ty value;
349             identifier attr;
350             expr_context_ty ctx;
351         } Attribute;
352 
353         struct {
354             expr_ty value;
355             slice_ty slice;
356             expr_context_ty ctx;
357         } Subscript;
358 
359         struct {
360             expr_ty value;
361             expr_context_ty ctx;
362         } Starred;
363 
364         struct {
365             identifier id;
366             expr_context_ty ctx;
367         } Name;
368 
369         struct {
370             asdl_seq *elts;
371             expr_context_ty ctx;
372         } List;
373 
374         struct {
375             asdl_seq *elts;
376             expr_context_ty ctx;
377         } Tuple;
378 
379     } v;
380     int lineno;
381     int col_offset;
382 };
383 
384 enum _slice_kind {Slice_kind=1, ExtSlice_kind=2, Index_kind=3};
385 struct _slice {
386     enum _slice_kind kind;
387     union {
388         struct {
389             expr_ty lower;
390             expr_ty upper;
391             expr_ty step;
392         } Slice;
393 
394         struct {
395             asdl_seq *dims;
396         } ExtSlice;
397 
398         struct {
399             expr_ty value;
400         } Index;
401 
402     } v;
403 };
404 
405 struct _comprehension {
406     expr_ty target;
407     expr_ty iter;
408     asdl_seq *ifs;
409     int is_async;
410 };
411 
412 enum _excepthandler_kind {ExceptHandler_kind=1};
413 struct _excepthandler {
414     enum _excepthandler_kind kind;
415     union {
416         struct {
417             expr_ty type;
418             identifier name;
419             asdl_seq *body;
420         } ExceptHandler;
421 
422     } v;
423     int lineno;
424     int col_offset;
425 };
426 
427 struct _arguments {
428     asdl_seq *args;
429     arg_ty vararg;
430     asdl_seq *kwonlyargs;
431     asdl_seq *kw_defaults;
432     arg_ty kwarg;
433     asdl_seq *defaults;
434 };
435 
436 struct _arg {
437     identifier arg;
438     expr_ty annotation;
439     string type_comment;
440     int lineno;
441     int col_offset;
442 };
443 
444 struct _keyword {
445     identifier arg;
446     expr_ty value;
447 };
448 
449 struct _alias {
450     identifier name;
451     identifier asname;
452 };
453 
454 struct _withitem {
455     expr_ty context_expr;
456     expr_ty optional_vars;
457 };
458 
459 enum _type_ignore_kind {TypeIgnore_kind=1};
460 struct _type_ignore {
461     enum _type_ignore_kind kind;
462     union {
463         struct {
464             int lineno;
465             string tag;
466         } TypeIgnore;
467 
468     } v;
469 };
470 
471 
472 #define Module(a0, a1, a2) _Ta3_Module(a0, a1, a2)
473 mod_ty _Ta3_Module(asdl_seq * body, asdl_seq * type_ignores, PyArena *arena);
474 #define Interactive(a0, a1) _Ta3_Interactive(a0, a1)
475 mod_ty _Ta3_Interactive(asdl_seq * body, PyArena *arena);
476 #define Expression(a0, a1) _Ta3_Expression(a0, a1)
477 mod_ty _Ta3_Expression(expr_ty body, PyArena *arena);
478 #define FunctionType(a0, a1, a2) _Ta3_FunctionType(a0, a1, a2)
479 mod_ty _Ta3_FunctionType(asdl_seq * argtypes, expr_ty returns, PyArena *arena);
480 #define Suite(a0, a1) _Ta3_Suite(a0, a1)
481 mod_ty _Ta3_Suite(asdl_seq * body, PyArena *arena);
482 #define FunctionDef(a0, a1, a2, a3, a4, a5, a6, a7, a8) _Ta3_FunctionDef(a0, a1, a2, a3, a4, a5, a6, a7, a8)
483 stmt_ty _Ta3_FunctionDef(identifier name, arguments_ty args, asdl_seq * body,
484                          asdl_seq * decorator_list, expr_ty returns, string
485                          type_comment, int lineno, int col_offset, PyArena
486                          *arena);
487 #define AsyncFunctionDef(a0, a1, a2, a3, a4, a5, a6, a7, a8) _Ta3_AsyncFunctionDef(a0, a1, a2, a3, a4, a5, a6, a7, a8)
488 stmt_ty _Ta3_AsyncFunctionDef(identifier name, arguments_ty args, asdl_seq *
489                               body, asdl_seq * decorator_list, expr_ty returns,
490                               string type_comment, int lineno, int col_offset,
491                               PyArena *arena);
492 #define ClassDef(a0, a1, a2, a3, a4, a5, a6, a7) _Ta3_ClassDef(a0, a1, a2, a3, a4, a5, a6, a7)
493 stmt_ty _Ta3_ClassDef(identifier name, asdl_seq * bases, asdl_seq * keywords,
494                       asdl_seq * body, asdl_seq * decorator_list, int lineno,
495                       int col_offset, PyArena *arena);
496 #define Return(a0, a1, a2, a3) _Ta3_Return(a0, a1, a2, a3)
497 stmt_ty _Ta3_Return(expr_ty value, int lineno, int col_offset, PyArena *arena);
498 #define Delete(a0, a1, a2, a3) _Ta3_Delete(a0, a1, a2, a3)
499 stmt_ty _Ta3_Delete(asdl_seq * targets, int lineno, int col_offset, PyArena
500                     *arena);
501 #define Assign(a0, a1, a2, a3, a4, a5) _Ta3_Assign(a0, a1, a2, a3, a4, a5)
502 stmt_ty _Ta3_Assign(asdl_seq * targets, expr_ty value, string type_comment, int
503                     lineno, int col_offset, PyArena *arena);
504 #define AugAssign(a0, a1, a2, a3, a4, a5) _Ta3_AugAssign(a0, a1, a2, a3, a4, a5)
505 stmt_ty _Ta3_AugAssign(expr_ty target, operator_ty op, expr_ty value, int
506                        lineno, int col_offset, PyArena *arena);
507 #define AnnAssign(a0, a1, a2, a3, a4, a5, a6) _Ta3_AnnAssign(a0, a1, a2, a3, a4, a5, a6)
508 stmt_ty _Ta3_AnnAssign(expr_ty target, expr_ty annotation, expr_ty value, int
509                        simple, int lineno, int col_offset, PyArena *arena);
510 #define For(a0, a1, a2, a3, a4, a5, a6, a7) _Ta3_For(a0, a1, a2, a3, a4, a5, a6, a7)
511 stmt_ty _Ta3_For(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq *
512                  orelse, string type_comment, int lineno, int col_offset,
513                  PyArena *arena);
514 #define AsyncFor(a0, a1, a2, a3, a4, a5, a6, a7) _Ta3_AsyncFor(a0, a1, a2, a3, a4, a5, a6, a7)
515 stmt_ty _Ta3_AsyncFor(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq *
516                       orelse, string type_comment, int lineno, int col_offset,
517                       PyArena *arena);
518 #define While(a0, a1, a2, a3, a4, a5) _Ta3_While(a0, a1, a2, a3, a4, a5)
519 stmt_ty _Ta3_While(expr_ty test, asdl_seq * body, asdl_seq * orelse, int
520                    lineno, int col_offset, PyArena *arena);
521 #define If(a0, a1, a2, a3, a4, a5) _Ta3_If(a0, a1, a2, a3, a4, a5)
522 stmt_ty _Ta3_If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
523                 int col_offset, PyArena *arena);
524 #define With(a0, a1, a2, a3, a4, a5) _Ta3_With(a0, a1, a2, a3, a4, a5)
525 stmt_ty _Ta3_With(asdl_seq * items, asdl_seq * body, string type_comment, int
526                   lineno, int col_offset, PyArena *arena);
527 #define AsyncWith(a0, a1, a2, a3, a4, a5) _Ta3_AsyncWith(a0, a1, a2, a3, a4, a5)
528 stmt_ty _Ta3_AsyncWith(asdl_seq * items, asdl_seq * body, string type_comment,
529                        int lineno, int col_offset, PyArena *arena);
530 #define Raise(a0, a1, a2, a3, a4) _Ta3_Raise(a0, a1, a2, a3, a4)
531 stmt_ty _Ta3_Raise(expr_ty exc, expr_ty cause, int lineno, int col_offset,
532                    PyArena *arena);
533 #define Try(a0, a1, a2, a3, a4, a5, a6) _Ta3_Try(a0, a1, a2, a3, a4, a5, a6)
534 stmt_ty _Ta3_Try(asdl_seq * body, asdl_seq * handlers, asdl_seq * orelse,
535                  asdl_seq * finalbody, int lineno, int col_offset, PyArena
536                  *arena);
537 #define Assert(a0, a1, a2, a3, a4) _Ta3_Assert(a0, a1, a2, a3, a4)
538 stmt_ty _Ta3_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset,
539                     PyArena *arena);
540 #define Import(a0, a1, a2, a3) _Ta3_Import(a0, a1, a2, a3)
541 stmt_ty _Ta3_Import(asdl_seq * names, int lineno, int col_offset, PyArena
542                     *arena);
543 #define ImportFrom(a0, a1, a2, a3, a4, a5) _Ta3_ImportFrom(a0, a1, a2, a3, a4, a5)
544 stmt_ty _Ta3_ImportFrom(identifier module, asdl_seq * names, int level, int
545                         lineno, int col_offset, PyArena *arena);
546 #define Global(a0, a1, a2, a3) _Ta3_Global(a0, a1, a2, a3)
547 stmt_ty _Ta3_Global(asdl_seq * names, int lineno, int col_offset, PyArena
548                     *arena);
549 #define Nonlocal(a0, a1, a2, a3) _Ta3_Nonlocal(a0, a1, a2, a3)
550 stmt_ty _Ta3_Nonlocal(asdl_seq * names, int lineno, int col_offset, PyArena
551                       *arena);
552 #define Expr(a0, a1, a2, a3) _Ta3_Expr(a0, a1, a2, a3)
553 stmt_ty _Ta3_Expr(expr_ty value, int lineno, int col_offset, PyArena *arena);
554 #define Pass(a0, a1, a2) _Ta3_Pass(a0, a1, a2)
555 stmt_ty _Ta3_Pass(int lineno, int col_offset, PyArena *arena);
556 #define Break(a0, a1, a2) _Ta3_Break(a0, a1, a2)
557 stmt_ty _Ta3_Break(int lineno, int col_offset, PyArena *arena);
558 #define Continue(a0, a1, a2) _Ta3_Continue(a0, a1, a2)
559 stmt_ty _Ta3_Continue(int lineno, int col_offset, PyArena *arena);
560 #define BoolOp(a0, a1, a2, a3, a4) _Ta3_BoolOp(a0, a1, a2, a3, a4)
561 expr_ty _Ta3_BoolOp(boolop_ty op, asdl_seq * values, int lineno, int
562                     col_offset, PyArena *arena);
563 #define BinOp(a0, a1, a2, a3, a4, a5) _Ta3_BinOp(a0, a1, a2, a3, a4, a5)
564 expr_ty _Ta3_BinOp(expr_ty left, operator_ty op, expr_ty right, int lineno, int
565                    col_offset, PyArena *arena);
566 #define UnaryOp(a0, a1, a2, a3, a4) _Ta3_UnaryOp(a0, a1, a2, a3, a4)
567 expr_ty _Ta3_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int
568                      col_offset, PyArena *arena);
569 #define Lambda(a0, a1, a2, a3, a4) _Ta3_Lambda(a0, a1, a2, a3, a4)
570 expr_ty _Ta3_Lambda(arguments_ty args, expr_ty body, int lineno, int
571                     col_offset, PyArena *arena);
572 #define IfExp(a0, a1, a2, a3, a4, a5) _Ta3_IfExp(a0, a1, a2, a3, a4, a5)
573 expr_ty _Ta3_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, int
574                    col_offset, PyArena *arena);
575 #define Dict(a0, a1, a2, a3, a4) _Ta3_Dict(a0, a1, a2, a3, a4)
576 expr_ty _Ta3_Dict(asdl_seq * keys, asdl_seq * values, int lineno, int
577                   col_offset, PyArena *arena);
578 #define Set(a0, a1, a2, a3) _Ta3_Set(a0, a1, a2, a3)
579 expr_ty _Ta3_Set(asdl_seq * elts, int lineno, int col_offset, PyArena *arena);
580 #define ListComp(a0, a1, a2, a3, a4) _Ta3_ListComp(a0, a1, a2, a3, a4)
581 expr_ty _Ta3_ListComp(expr_ty elt, asdl_seq * generators, int lineno, int
582                       col_offset, PyArena *arena);
583 #define SetComp(a0, a1, a2, a3, a4) _Ta3_SetComp(a0, a1, a2, a3, a4)
584 expr_ty _Ta3_SetComp(expr_ty elt, asdl_seq * generators, int lineno, int
585                      col_offset, PyArena *arena);
586 #define DictComp(a0, a1, a2, a3, a4, a5) _Ta3_DictComp(a0, a1, a2, a3, a4, a5)
587 expr_ty _Ta3_DictComp(expr_ty key, expr_ty value, asdl_seq * generators, int
588                       lineno, int col_offset, PyArena *arena);
589 #define GeneratorExp(a0, a1, a2, a3, a4) _Ta3_GeneratorExp(a0, a1, a2, a3, a4)
590 expr_ty _Ta3_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int
591                           col_offset, PyArena *arena);
592 #define Await(a0, a1, a2, a3) _Ta3_Await(a0, a1, a2, a3)
593 expr_ty _Ta3_Await(expr_ty value, int lineno, int col_offset, PyArena *arena);
594 #define Yield(a0, a1, a2, a3) _Ta3_Yield(a0, a1, a2, a3)
595 expr_ty _Ta3_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena);
596 #define YieldFrom(a0, a1, a2, a3) _Ta3_YieldFrom(a0, a1, a2, a3)
597 expr_ty _Ta3_YieldFrom(expr_ty value, int lineno, int col_offset, PyArena
598                        *arena);
599 #define Compare(a0, a1, a2, a3, a4, a5) _Ta3_Compare(a0, a1, a2, a3, a4, a5)
600 expr_ty _Ta3_Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators,
601                      int lineno, int col_offset, PyArena *arena);
602 #define Call(a0, a1, a2, a3, a4, a5) _Ta3_Call(a0, a1, a2, a3, a4, a5)
603 expr_ty _Ta3_Call(expr_ty func, asdl_seq * args, asdl_seq * keywords, int
604                   lineno, int col_offset, PyArena *arena);
605 #define Num(a0, a1, a2, a3) _Ta3_Num(a0, a1, a2, a3)
606 expr_ty _Ta3_Num(object n, int lineno, int col_offset, PyArena *arena);
607 #define Str(a0, a1, a2, a3, a4) _Ta3_Str(a0, a1, a2, a3, a4)
608 expr_ty _Ta3_Str(string s, string kind, int lineno, int col_offset, PyArena
609                  *arena);
610 #define FormattedValue(a0, a1, a2, a3, a4, a5) _Ta3_FormattedValue(a0, a1, a2, a3, a4, a5)
611 expr_ty _Ta3_FormattedValue(expr_ty value, int conversion, expr_ty format_spec,
612                             int lineno, int col_offset, PyArena *arena);
613 #define JoinedStr(a0, a1, a2, a3) _Ta3_JoinedStr(a0, a1, a2, a3)
614 expr_ty _Ta3_JoinedStr(asdl_seq * values, int lineno, int col_offset, PyArena
615                        *arena);
616 #define Bytes(a0, a1, a2, a3, a4) _Ta3_Bytes(a0, a1, a2, a3, a4)
617 expr_ty _Ta3_Bytes(bytes s, string kind, int lineno, int col_offset, PyArena
618                    *arena);
619 #define NameConstant(a0, a1, a2, a3) _Ta3_NameConstant(a0, a1, a2, a3)
620 expr_ty _Ta3_NameConstant(singleton value, int lineno, int col_offset, PyArena
621                           *arena);
622 #define Ellipsis(a0, a1, a2) _Ta3_Ellipsis(a0, a1, a2)
623 expr_ty _Ta3_Ellipsis(int lineno, int col_offset, PyArena *arena);
624 #define Constant(a0, a1, a2, a3) _Ta3_Constant(a0, a1, a2, a3)
625 expr_ty _Ta3_Constant(constant value, int lineno, int col_offset, PyArena
626                       *arena);
627 #define Attribute(a0, a1, a2, a3, a4, a5) _Ta3_Attribute(a0, a1, a2, a3, a4, a5)
628 expr_ty _Ta3_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, int
629                        lineno, int col_offset, PyArena *arena);
630 #define Subscript(a0, a1, a2, a3, a4, a5) _Ta3_Subscript(a0, a1, a2, a3, a4, a5)
631 expr_ty _Ta3_Subscript(expr_ty value, slice_ty slice, expr_context_ty ctx, int
632                        lineno, int col_offset, PyArena *arena);
633 #define Starred(a0, a1, a2, a3, a4) _Ta3_Starred(a0, a1, a2, a3, a4)
634 expr_ty _Ta3_Starred(expr_ty value, expr_context_ty ctx, int lineno, int
635                      col_offset, PyArena *arena);
636 #define Name(a0, a1, a2, a3, a4) _Ta3_Name(a0, a1, a2, a3, a4)
637 expr_ty _Ta3_Name(identifier id, expr_context_ty ctx, int lineno, int
638                   col_offset, PyArena *arena);
639 #define List(a0, a1, a2, a3, a4) _Ta3_List(a0, a1, a2, a3, a4)
640 expr_ty _Ta3_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int
641                   col_offset, PyArena *arena);
642 #define Tuple(a0, a1, a2, a3, a4) _Ta3_Tuple(a0, a1, a2, a3, a4)
643 expr_ty _Ta3_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int
644                    col_offset, PyArena *arena);
645 #define Slice(a0, a1, a2, a3) _Ta3_Slice(a0, a1, a2, a3)
646 slice_ty _Ta3_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena);
647 #define ExtSlice(a0, a1) _Ta3_ExtSlice(a0, a1)
648 slice_ty _Ta3_ExtSlice(asdl_seq * dims, PyArena *arena);
649 #define Index(a0, a1) _Ta3_Index(a0, a1)
650 slice_ty _Ta3_Index(expr_ty value, PyArena *arena);
651 #define comprehension(a0, a1, a2, a3, a4) _Ta3_comprehension(a0, a1, a2, a3, a4)
652 comprehension_ty _Ta3_comprehension(expr_ty target, expr_ty iter, asdl_seq *
653                                     ifs, int is_async, PyArena *arena);
654 #define ExceptHandler(a0, a1, a2, a3, a4, a5) _Ta3_ExceptHandler(a0, a1, a2, a3, a4, a5)
655 excepthandler_ty _Ta3_ExceptHandler(expr_ty type, identifier name, asdl_seq *
656                                     body, int lineno, int col_offset, PyArena
657                                     *arena);
658 #define arguments(a0, a1, a2, a3, a4, a5, a6) _Ta3_arguments(a0, a1, a2, a3, a4, a5, a6)
659 arguments_ty _Ta3_arguments(asdl_seq * args, arg_ty vararg, asdl_seq *
660                             kwonlyargs, asdl_seq * kw_defaults, arg_ty kwarg,
661                             asdl_seq * defaults, PyArena *arena);
662 #define arg(a0, a1, a2, a3, a4, a5) _Ta3_arg(a0, a1, a2, a3, a4, a5)
663 arg_ty _Ta3_arg(identifier arg, expr_ty annotation, string type_comment, int
664                 lineno, int col_offset, PyArena *arena);
665 #define keyword(a0, a1, a2) _Ta3_keyword(a0, a1, a2)
666 keyword_ty _Ta3_keyword(identifier arg, expr_ty value, PyArena *arena);
667 #define alias(a0, a1, a2) _Ta3_alias(a0, a1, a2)
668 alias_ty _Ta3_alias(identifier name, identifier asname, PyArena *arena);
669 #define withitem(a0, a1, a2) _Ta3_withitem(a0, a1, a2)
670 withitem_ty _Ta3_withitem(expr_ty context_expr, expr_ty optional_vars, PyArena
671                           *arena);
672 #define TypeIgnore(a0, a1, a2) _Ta3_TypeIgnore(a0, a1, a2)
673 type_ignore_ty _Ta3_TypeIgnore(int lineno, string tag, PyArena *arena);
674 
675 PyObject* Ta3AST_mod2obj(mod_ty t);
676 mod_ty Ta3AST_obj2mod(PyObject* ast, PyArena* arena, int mode);
677 int Ta3AST_Check(PyObject* obj);
678