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, Param=6 }
12                              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, Div=4, Mod=5, Pow=6, LShift=7, RShift=8, BitOr=9,
19                          BitXor=10, BitAnd=11, FloorDiv=12 } operator_ty;
20 
21 typedef enum _unaryop { Invert=1, Not=2, UAdd=3, USub=4 } unaryop_ty;
22 
23 typedef enum _cmpop { Eq=1, NotEq=2, Lt=3, LtE=4, Gt=5, GtE=6, Is=7, IsNot=8, In=9, NotIn=10 }
24                       cmpop_ty;
25 
26 typedef struct _comprehension *comprehension_ty;
27 
28 typedef struct _excepthandler *excepthandler_ty;
29 
30 typedef struct _arguments *arguments_ty;
31 
32 typedef struct _keyword *keyword_ty;
33 
34 typedef struct _alias *alias_ty;
35 
36 typedef struct _type_ignore *type_ignore_ty;
37 
38 
39 enum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3, FunctionType_kind=4,
40                  Suite_kind=5};
41 struct _mod {
42         enum _mod_kind kind;
43         union {
44                 struct {
45                         asdl_seq *body;
46                         asdl_seq *type_ignores;
47                 } Module;
48 
49                 struct {
50                         asdl_seq *body;
51                 } Interactive;
52 
53                 struct {
54                         expr_ty body;
55                 } Expression;
56 
57                 struct {
58                         asdl_seq *argtypes;
59                         expr_ty returns;
60                 } FunctionType;
61 
62                 struct {
63                         asdl_seq *body;
64                 } Suite;
65 
66         } v;
67 };
68 
69 enum _stmt_kind {FunctionDef_kind=1, ClassDef_kind=2, Return_kind=3, Delete_kind=4, Assign_kind=5,
70                   AugAssign_kind=6, Print_kind=7, For_kind=8, While_kind=9, If_kind=10,
71                   With_kind=11, Raise_kind=12, TryExcept_kind=13, TryFinally_kind=14,
72                   Assert_kind=15, Import_kind=16, ImportFrom_kind=17, Exec_kind=18, Global_kind=19,
73                   Expr_kind=20, Pass_kind=21, Break_kind=22, Continue_kind=23};
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                         string type_comment;
83                 } FunctionDef;
84 
85                 struct {
86                         identifier name;
87                         asdl_seq *bases;
88                         asdl_seq *body;
89                         asdl_seq *decorator_list;
90                 } ClassDef;
91 
92                 struct {
93                         expr_ty value;
94                 } Return;
95 
96                 struct {
97                         asdl_seq *targets;
98                 } Delete;
99 
100                 struct {
101                         asdl_seq *targets;
102                         expr_ty value;
103                         string type_comment;
104                 } Assign;
105 
106                 struct {
107                         expr_ty target;
108                         operator_ty op;
109                         expr_ty value;
110                 } AugAssign;
111 
112                 struct {
113                         expr_ty dest;
114                         asdl_seq *values;
115                         bool nl;
116                 } Print;
117 
118                 struct {
119                         expr_ty target;
120                         expr_ty iter;
121                         asdl_seq *body;
122                         asdl_seq *orelse;
123                         string type_comment;
124                 } For;
125 
126                 struct {
127                         expr_ty test;
128                         asdl_seq *body;
129                         asdl_seq *orelse;
130                 } While;
131 
132                 struct {
133                         expr_ty test;
134                         asdl_seq *body;
135                         asdl_seq *orelse;
136                 } If;
137 
138                 struct {
139                         expr_ty context_expr;
140                         expr_ty optional_vars;
141                         asdl_seq *body;
142                         string type_comment;
143                 } With;
144 
145                 struct {
146                         expr_ty type;
147                         expr_ty inst;
148                         expr_ty tback;
149                 } Raise;
150 
151                 struct {
152                         asdl_seq *body;
153                         asdl_seq *handlers;
154                         asdl_seq *orelse;
155                 } TryExcept;
156 
157                 struct {
158                         asdl_seq *body;
159                         asdl_seq *finalbody;
160                 } TryFinally;
161 
162                 struct {
163                         expr_ty test;
164                         expr_ty msg;
165                 } Assert;
166 
167                 struct {
168                         asdl_seq *names;
169                 } Import;
170 
171                 struct {
172                         identifier module;
173                         asdl_seq *names;
174                         int level;
175                 } ImportFrom;
176 
177                 struct {
178                         expr_ty body;
179                         expr_ty globals;
180                         expr_ty locals;
181                 } Exec;
182 
183                 struct {
184                         asdl_seq *names;
185                 } Global;
186 
187                 struct {
188                         expr_ty value;
189                 } Expr;
190 
191         } v;
192         int lineno;
193         int col_offset;
194 };
195 
196 enum _expr_kind {BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4, IfExp_kind=5,
197                   Dict_kind=6, Set_kind=7, ListComp_kind=8, SetComp_kind=9, DictComp_kind=10,
198                   GeneratorExp_kind=11, Yield_kind=12, Compare_kind=13, Call_kind=14, Repr_kind=15,
199                   Num_kind=16, Str_kind=17, Attribute_kind=18, Subscript_kind=19, Name_kind=20,
200                   List_kind=21, Tuple_kind=22};
201 struct _expr {
202         enum _expr_kind kind;
203         union {
204                 struct {
205                         boolop_ty op;
206                         asdl_seq *values;
207                 } BoolOp;
208 
209                 struct {
210                         expr_ty left;
211                         operator_ty op;
212                         expr_ty right;
213                 } BinOp;
214 
215                 struct {
216                         unaryop_ty op;
217                         expr_ty operand;
218                 } UnaryOp;
219 
220                 struct {
221                         arguments_ty args;
222                         expr_ty body;
223                 } Lambda;
224 
225                 struct {
226                         expr_ty test;
227                         expr_ty body;
228                         expr_ty orelse;
229                 } IfExp;
230 
231                 struct {
232                         asdl_seq *keys;
233                         asdl_seq *values;
234                 } Dict;
235 
236                 struct {
237                         asdl_seq *elts;
238                 } Set;
239 
240                 struct {
241                         expr_ty elt;
242                         asdl_seq *generators;
243                 } ListComp;
244 
245                 struct {
246                         expr_ty elt;
247                         asdl_seq *generators;
248                 } SetComp;
249 
250                 struct {
251                         expr_ty key;
252                         expr_ty value;
253                         asdl_seq *generators;
254                 } DictComp;
255 
256                 struct {
257                         expr_ty elt;
258                         asdl_seq *generators;
259                 } GeneratorExp;
260 
261                 struct {
262                         expr_ty value;
263                 } Yield;
264 
265                 struct {
266                         expr_ty left;
267                         asdl_int_seq *ops;
268                         asdl_seq *comparators;
269                 } Compare;
270 
271                 struct {
272                         expr_ty func;
273                         asdl_seq *args;
274                         asdl_seq *keywords;
275                         expr_ty starargs;
276                         expr_ty kwargs;
277                 } Call;
278 
279                 struct {
280                         expr_ty value;
281                 } Repr;
282 
283                 struct {
284                         object n;
285                 } Num;
286 
287                 struct {
288                         string s;
289                         string kind;
290                 } Str;
291 
292                 struct {
293                         expr_ty value;
294                         identifier attr;
295                         expr_context_ty ctx;
296                 } Attribute;
297 
298                 struct {
299                         expr_ty value;
300                         slice_ty slice;
301                         expr_context_ty ctx;
302                 } Subscript;
303 
304                 struct {
305                         identifier id;
306                         expr_context_ty ctx;
307                 } Name;
308 
309                 struct {
310                         asdl_seq *elts;
311                         expr_context_ty ctx;
312                 } List;
313 
314                 struct {
315                         asdl_seq *elts;
316                         expr_context_ty ctx;
317                 } Tuple;
318 
319         } v;
320         int lineno;
321         int col_offset;
322 };
323 
324 enum _slice_kind {Ellipsis_kind=1, Slice_kind=2, ExtSlice_kind=3, Index_kind=4};
325 struct _slice {
326         enum _slice_kind kind;
327         union {
328                 struct {
329                         expr_ty lower;
330                         expr_ty upper;
331                         expr_ty step;
332                 } Slice;
333 
334                 struct {
335                         asdl_seq *dims;
336                 } ExtSlice;
337 
338                 struct {
339                         expr_ty value;
340                 } Index;
341 
342         } v;
343 };
344 
345 struct _comprehension {
346         expr_ty target;
347         expr_ty iter;
348         asdl_seq *ifs;
349 };
350 
351 enum _excepthandler_kind {ExceptHandler_kind=1};
352 struct _excepthandler {
353         enum _excepthandler_kind kind;
354         union {
355                 struct {
356                         expr_ty type;
357                         expr_ty name;
358                         asdl_seq *body;
359                 } ExceptHandler;
360 
361         } v;
362         int lineno;
363         int col_offset;
364 };
365 
366 struct _arguments {
367         asdl_seq *args;
368         identifier vararg;
369         identifier kwarg;
370         asdl_seq *defaults;
371         asdl_seq *type_comments;
372 };
373 
374 struct _keyword {
375         identifier arg;
376         expr_ty value;
377 };
378 
379 struct _alias {
380         identifier name;
381         identifier asname;
382 };
383 
384 enum _type_ignore_kind {TypeIgnore_kind=1};
385 struct _type_ignore {
386         enum _type_ignore_kind kind;
387         union {
388                 struct {
389                         int lineno;
390                         string tag;
391                 } TypeIgnore;
392 
393         } v;
394 };
395 
396 
397 #define Module(a0, a1, a2) _Ta27_Module(a0, a1, a2)
398 mod_ty _Ta27_Module(asdl_seq * body, asdl_seq * type_ignores, PyArena *arena);
399 #define Interactive(a0, a1) _Ta27_Interactive(a0, a1)
400 mod_ty _Ta27_Interactive(asdl_seq * body, PyArena *arena);
401 #define Expression(a0, a1) _Ta27_Expression(a0, a1)
402 mod_ty _Ta27_Expression(expr_ty body, PyArena *arena);
403 #define FunctionType(a0, a1, a2) _Ta27_FunctionType(a0, a1, a2)
404 mod_ty _Ta27_FunctionType(asdl_seq * argtypes, expr_ty returns, PyArena *arena);
405 #define Suite(a0, a1) _Ta27_Suite(a0, a1)
406 mod_ty _Ta27_Suite(asdl_seq * body, PyArena *arena);
407 #define FunctionDef(a0, a1, a2, a3, a4, a5, a6, a7) _Ta27_FunctionDef(a0, a1, a2, a3, a4, a5, a6, a7)
408 stmt_ty _Ta27_FunctionDef(identifier name, arguments_ty args, asdl_seq * body, asdl_seq *
409                           decorator_list, string type_comment, int lineno, int col_offset, PyArena
410                           *arena);
411 #define ClassDef(a0, a1, a2, a3, a4, a5, a6) _Ta27_ClassDef(a0, a1, a2, a3, a4, a5, a6)
412 stmt_ty _Ta27_ClassDef(identifier name, asdl_seq * bases, asdl_seq * body, asdl_seq *
413                        decorator_list, int lineno, int col_offset, PyArena *arena);
414 #define Return(a0, a1, a2, a3) _Ta27_Return(a0, a1, a2, a3)
415 stmt_ty _Ta27_Return(expr_ty value, int lineno, int col_offset, PyArena *arena);
416 #define Delete(a0, a1, a2, a3) _Ta27_Delete(a0, a1, a2, a3)
417 stmt_ty _Ta27_Delete(asdl_seq * targets, int lineno, int col_offset, PyArena *arena);
418 #define Assign(a0, a1, a2, a3, a4, a5) _Ta27_Assign(a0, a1, a2, a3, a4, a5)
419 stmt_ty _Ta27_Assign(asdl_seq * targets, expr_ty value, string type_comment, int lineno, int
420                      col_offset, PyArena *arena);
421 #define AugAssign(a0, a1, a2, a3, a4, a5) _Ta27_AugAssign(a0, a1, a2, a3, a4, a5)
422 stmt_ty _Ta27_AugAssign(expr_ty target, operator_ty op, expr_ty value, int lineno, int col_offset,
423                         PyArena *arena);
424 #define Print(a0, a1, a2, a3, a4, a5) _Ta27_Print(a0, a1, a2, a3, a4, a5)
425 stmt_ty _Ta27_Print(expr_ty dest, asdl_seq * values, bool nl, int lineno, int col_offset, PyArena
426                     *arena);
427 #define For(a0, a1, a2, a3, a4, a5, a6, a7) _Ta27_For(a0, a1, a2, a3, a4, a5, a6, a7)
428 stmt_ty _Ta27_For(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq * orelse, string
429                   type_comment, int lineno, int col_offset, PyArena *arena);
430 #define While(a0, a1, a2, a3, a4, a5) _Ta27_While(a0, a1, a2, a3, a4, a5)
431 stmt_ty _Ta27_While(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno, int col_offset,
432                     PyArena *arena);
433 #define If(a0, a1, a2, a3, a4, a5) _Ta27_If(a0, a1, a2, a3, a4, a5)
434 stmt_ty _Ta27_If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno, int col_offset,
435                  PyArena *arena);
436 #define With(a0, a1, a2, a3, a4, a5, a6) _Ta27_With(a0, a1, a2, a3, a4, a5, a6)
437 stmt_ty _Ta27_With(expr_ty context_expr, expr_ty optional_vars, asdl_seq * body, string
438                    type_comment, int lineno, int col_offset, PyArena *arena);
439 #define Raise(a0, a1, a2, a3, a4, a5) _Ta27_Raise(a0, a1, a2, a3, a4, a5)
440 stmt_ty _Ta27_Raise(expr_ty type, expr_ty inst, expr_ty tback, int lineno, int col_offset, PyArena
441                     *arena);
442 #define TryExcept(a0, a1, a2, a3, a4, a5) _Ta27_TryExcept(a0, a1, a2, a3, a4, a5)
443 stmt_ty _Ta27_TryExcept(asdl_seq * body, asdl_seq * handlers, asdl_seq * orelse, int lineno, int
444                         col_offset, PyArena *arena);
445 #define TryFinally(a0, a1, a2, a3, a4) _Ta27_TryFinally(a0, a1, a2, a3, a4)
446 stmt_ty _Ta27_TryFinally(asdl_seq * body, asdl_seq * finalbody, int lineno, int col_offset, PyArena
447                          *arena);
448 #define Assert(a0, a1, a2, a3, a4) _Ta27_Assert(a0, a1, a2, a3, a4)
449 stmt_ty _Ta27_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset, PyArena *arena);
450 #define Import(a0, a1, a2, a3) _Ta27_Import(a0, a1, a2, a3)
451 stmt_ty _Ta27_Import(asdl_seq * names, int lineno, int col_offset, PyArena *arena);
452 #define ImportFrom(a0, a1, a2, a3, a4, a5) _Ta27_ImportFrom(a0, a1, a2, a3, a4, a5)
453 stmt_ty _Ta27_ImportFrom(identifier module, asdl_seq * names, int level, int lineno, int
454                          col_offset, PyArena *arena);
455 #define Exec(a0, a1, a2, a3, a4, a5) _Ta27_Exec(a0, a1, a2, a3, a4, a5)
456 stmt_ty _Ta27_Exec(expr_ty body, expr_ty globals, expr_ty locals, int lineno, int col_offset,
457                    PyArena *arena);
458 #define Global(a0, a1, a2, a3) _Ta27_Global(a0, a1, a2, a3)
459 stmt_ty _Ta27_Global(asdl_seq * names, int lineno, int col_offset, PyArena *arena);
460 #define Expr(a0, a1, a2, a3) _Ta27_Expr(a0, a1, a2, a3)
461 stmt_ty _Ta27_Expr(expr_ty value, int lineno, int col_offset, PyArena *arena);
462 #define Pass(a0, a1, a2) _Ta27_Pass(a0, a1, a2)
463 stmt_ty _Ta27_Pass(int lineno, int col_offset, PyArena *arena);
464 #define Break(a0, a1, a2) _Ta27_Break(a0, a1, a2)
465 stmt_ty _Ta27_Break(int lineno, int col_offset, PyArena *arena);
466 #define Continue(a0, a1, a2) _Ta27_Continue(a0, a1, a2)
467 stmt_ty _Ta27_Continue(int lineno, int col_offset, PyArena *arena);
468 #define BoolOp(a0, a1, a2, a3, a4) _Ta27_BoolOp(a0, a1, a2, a3, a4)
469 expr_ty _Ta27_BoolOp(boolop_ty op, asdl_seq * values, int lineno, int col_offset, PyArena *arena);
470 #define BinOp(a0, a1, a2, a3, a4, a5) _Ta27_BinOp(a0, a1, a2, a3, a4, a5)
471 expr_ty _Ta27_BinOp(expr_ty left, operator_ty op, expr_ty right, int lineno, int col_offset,
472                     PyArena *arena);
473 #define UnaryOp(a0, a1, a2, a3, a4) _Ta27_UnaryOp(a0, a1, a2, a3, a4)
474 expr_ty _Ta27_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int col_offset, PyArena *arena);
475 #define Lambda(a0, a1, a2, a3, a4) _Ta27_Lambda(a0, a1, a2, a3, a4)
476 expr_ty _Ta27_Lambda(arguments_ty args, expr_ty body, int lineno, int col_offset, PyArena *arena);
477 #define IfExp(a0, a1, a2, a3, a4, a5) _Ta27_IfExp(a0, a1, a2, a3, a4, a5)
478 expr_ty _Ta27_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, int col_offset, PyArena
479                     *arena);
480 #define Dict(a0, a1, a2, a3, a4) _Ta27_Dict(a0, a1, a2, a3, a4)
481 expr_ty _Ta27_Dict(asdl_seq * keys, asdl_seq * values, int lineno, int col_offset, PyArena *arena);
482 #define Set(a0, a1, a2, a3) _Ta27_Set(a0, a1, a2, a3)
483 expr_ty _Ta27_Set(asdl_seq * elts, int lineno, int col_offset, PyArena *arena);
484 #define ListComp(a0, a1, a2, a3, a4) _Ta27_ListComp(a0, a1, a2, a3, a4)
485 expr_ty _Ta27_ListComp(expr_ty elt, asdl_seq * generators, int lineno, int col_offset, PyArena
486                        *arena);
487 #define SetComp(a0, a1, a2, a3, a4) _Ta27_SetComp(a0, a1, a2, a3, a4)
488 expr_ty _Ta27_SetComp(expr_ty elt, asdl_seq * generators, int lineno, int col_offset, PyArena
489                       *arena);
490 #define DictComp(a0, a1, a2, a3, a4, a5) _Ta27_DictComp(a0, a1, a2, a3, a4, a5)
491 expr_ty _Ta27_DictComp(expr_ty key, expr_ty value, asdl_seq * generators, int lineno, int
492                        col_offset, PyArena *arena);
493 #define GeneratorExp(a0, a1, a2, a3, a4) _Ta27_GeneratorExp(a0, a1, a2, a3, a4)
494 expr_ty _Ta27_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int col_offset, PyArena
495                            *arena);
496 #define Yield(a0, a1, a2, a3) _Ta27_Yield(a0, a1, a2, a3)
497 expr_ty _Ta27_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena);
498 #define Compare(a0, a1, a2, a3, a4, a5) _Ta27_Compare(a0, a1, a2, a3, a4, a5)
499 expr_ty _Ta27_Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators, int lineno, int
500                       col_offset, PyArena *arena);
501 #define Call(a0, a1, a2, a3, a4, a5, a6, a7) _Ta27_Call(a0, a1, a2, a3, a4, a5, a6, a7)
502 expr_ty _Ta27_Call(expr_ty func, asdl_seq * args, asdl_seq * keywords, expr_ty starargs, expr_ty
503                    kwargs, int lineno, int col_offset, PyArena *arena);
504 #define Repr(a0, a1, a2, a3) _Ta27_Repr(a0, a1, a2, a3)
505 expr_ty _Ta27_Repr(expr_ty value, int lineno, int col_offset, PyArena *arena);
506 #define Num(a0, a1, a2, a3) _Ta27_Num(a0, a1, a2, a3)
507 expr_ty _Ta27_Num(object n, int lineno, int col_offset, PyArena *arena);
508 #define Str(a0, a1, a2, a3, a4) _Ta27_Str(a0, a1, a2, a3, a4)
509 expr_ty _Ta27_Str(string s, string kind, int lineno, int col_offset, PyArena *arena);
510 #define Attribute(a0, a1, a2, a3, a4, a5) _Ta27_Attribute(a0, a1, a2, a3, a4, a5)
511 expr_ty _Ta27_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, int lineno, int
512                         col_offset, PyArena *arena);
513 #define Subscript(a0, a1, a2, a3, a4, a5) _Ta27_Subscript(a0, a1, a2, a3, a4, a5)
514 expr_ty _Ta27_Subscript(expr_ty value, slice_ty slice, expr_context_ty ctx, int lineno, int
515                         col_offset, PyArena *arena);
516 #define Name(a0, a1, a2, a3, a4) _Ta27_Name(a0, a1, a2, a3, a4)
517 expr_ty _Ta27_Name(identifier id, expr_context_ty ctx, int lineno, int col_offset, PyArena *arena);
518 #define List(a0, a1, a2, a3, a4) _Ta27_List(a0, a1, a2, a3, a4)
519 expr_ty _Ta27_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int col_offset, PyArena
520                    *arena);
521 #define Tuple(a0, a1, a2, a3, a4) _Ta27_Tuple(a0, a1, a2, a3, a4)
522 expr_ty _Ta27_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int col_offset, PyArena
523                     *arena);
524 #define Ellipsis(a0) _Ta27_Ellipsis(a0)
525 slice_ty _Ta27_Ellipsis(PyArena *arena);
526 #define Slice(a0, a1, a2, a3) _Ta27_Slice(a0, a1, a2, a3)
527 slice_ty _Ta27_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena);
528 #define ExtSlice(a0, a1) _Ta27_ExtSlice(a0, a1)
529 slice_ty _Ta27_ExtSlice(asdl_seq * dims, PyArena *arena);
530 #define Index(a0, a1) _Ta27_Index(a0, a1)
531 slice_ty _Ta27_Index(expr_ty value, PyArena *arena);
532 #define comprehension(a0, a1, a2, a3) _Ta27_comprehension(a0, a1, a2, a3)
533 comprehension_ty _Ta27_comprehension(expr_ty target, expr_ty iter, asdl_seq * ifs, PyArena *arena);
534 #define ExceptHandler(a0, a1, a2, a3, a4, a5) _Ta27_ExceptHandler(a0, a1, a2, a3, a4, a5)
535 excepthandler_ty _Ta27_ExceptHandler(expr_ty type, expr_ty name, asdl_seq * body, int lineno, int
536                                      col_offset, PyArena *arena);
537 #define arguments(a0, a1, a2, a3, a4, a5) _Ta27_arguments(a0, a1, a2, a3, a4, a5)
538 arguments_ty _Ta27_arguments(asdl_seq * args, identifier vararg, identifier kwarg, asdl_seq *
539                              defaults, asdl_seq * type_comments, PyArena *arena);
540 #define keyword(a0, a1, a2) _Ta27_keyword(a0, a1, a2)
541 keyword_ty _Ta27_keyword(identifier arg, expr_ty value, PyArena *arena);
542 #define alias(a0, a1, a2) _Ta27_alias(a0, a1, a2)
543 alias_ty _Ta27_alias(identifier name, identifier asname, PyArena *arena);
544 #define TypeIgnore(a0, a1, a2) _Ta27_TypeIgnore(a0, a1, a2)
545 type_ignore_ty _Ta27_TypeIgnore(int lineno, string tag, PyArena *arena);
546 
547 PyObject* Ta27AST_mod2obj(mod_ty t);
548 mod_ty Ta27AST_obj2mod(PyObject* ast, PyArena* arena, int mode);
549 int Ta27AST_Check(PyObject* obj);
550