Orbits  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Pages
Python-ast.h
Go to the documentation of this file.
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,
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,
19  RShift=8, BitOr=9, BitXor=10, BitAnd=11, FloorDiv=12 }
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 
28 
30 
31 typedef struct _arguments *arguments_ty;
32 
33 typedef struct _keyword *keyword_ty;
34 
35 typedef struct _alias *alias_ty;
36 
37 
40 struct _mod {
42  union {
43  struct {
45  } Module;
46 
47  struct {
48  asdl_seq *body;
49  } Interactive;
50 
51  struct {
52  expr_ty body;
53  } Expression;
54 
55  struct {
56  asdl_seq *body;
57  } Suite;
58 
59  } v;
60 };
61 
69 struct _stmt {
71  union {
72  struct {
74  arguments_ty args;
77  } FunctionDef;
78 
79  struct {
82  asdl_seq *body;
84  } ClassDef;
85 
86  struct {
87  expr_ty value;
88  } Return;
89 
90  struct {
92  } Delete;
93 
94  struct {
96  expr_ty value;
97  } Assign;
98 
99  struct {
100  expr_ty target;
102  expr_ty value;
103  } AugAssign;
104 
105  struct {
106  expr_ty dest;
108  bool nl;
109  } Print;
110 
111  struct {
112  expr_ty target;
113  expr_ty iter;
114  asdl_seq *body;
116  } For;
117 
118  struct {
119  expr_ty test;
120  asdl_seq *body;
121  asdl_seq *orelse;
122  } While;
123 
124  struct {
125  expr_ty test;
126  asdl_seq *body;
127  asdl_seq *orelse;
128  } If;
129 
130  struct {
131  expr_ty context_expr;
132  expr_ty optional_vars;
133  asdl_seq *body;
134  } With;
135 
136  struct {
137  expr_ty type;
138  expr_ty inst;
139  expr_ty tback;
140  } Raise;
141 
142  struct {
143  asdl_seq *body;
145  asdl_seq *orelse;
146  } TryExcept;
147 
148  struct {
149  asdl_seq *body;
151  } TryFinally;
152 
153  struct {
154  expr_ty test;
155  expr_ty msg;
156  } Assert;
157 
158  struct {
160  } Import;
161 
162  struct {
164  asdl_seq *names;
165  int level;
166  } ImportFrom;
167 
168  struct {
169  expr_ty body;
170  expr_ty globals;
171  expr_ty locals;
172  } Exec;
173 
174  struct {
175  asdl_seq *names;
176  } Global;
177 
178  struct {
179  expr_ty value;
180  } Expr;
181 
182  } v;
183  int lineno;
185 };
186 
193 struct _expr {
195  union {
196  struct {
199  } BoolOp;
200 
201  struct {
202  expr_ty left;
204  expr_ty right;
205  } BinOp;
206 
207  struct {
209  expr_ty operand;
210  } UnaryOp;
211 
212  struct {
213  arguments_ty args;
214  expr_ty body;
215  } Lambda;
216 
217  struct {
218  expr_ty test;
219  expr_ty body;
220  expr_ty orelse;
221  } IfExp;
222 
223  struct {
225  asdl_seq *values;
226  } Dict;
227 
228  struct {
230  } Set;
231 
232  struct {
233  expr_ty elt;
235  } ListComp;
236 
237  struct {
238  expr_ty elt;
240  } SetComp;
241 
242  struct {
243  expr_ty key;
244  expr_ty value;
246  } DictComp;
247 
248  struct {
249  expr_ty elt;
251  } GeneratorExp;
252 
253  struct {
254  expr_ty value;
255  } Yield;
256 
257  struct {
258  expr_ty left;
261  } Compare;
262 
263  struct {
264  expr_ty func;
267  expr_ty starargs;
268  expr_ty kwargs;
269  } Call;
270 
271  struct {
272  expr_ty value;
273  } Repr;
274 
275  struct {
276  object n;
277  } Num;
278 
279  struct {
280  string s;
281  } Str;
282 
283  struct {
284  expr_ty value;
287  } Attribute;
288 
289  struct {
290  expr_ty value;
291  slice_ty slice;
293  } Subscript;
294 
295  struct {
298  } Name;
299 
300  struct {
301  asdl_seq *elts;
303  } List;
304 
305  struct {
306  asdl_seq *elts;
308  } Tuple;
309 
310  } v;
311  int lineno;
313 };
314 
316 struct _slice {
318  union {
319  struct {
320  expr_ty lower;
321  expr_ty upper;
322  expr_ty step;
323  } Slice;
324 
325  struct {
327  } ExtSlice;
328 
329  struct {
330  expr_ty value;
331  } Index;
332 
333  } v;
334 };
335 
337  expr_ty target;
338  expr_ty iter;
340 };
341 
345  union {
346  struct {
347  expr_ty type;
348  expr_ty name;
350  } ExceptHandler;
351 
352  } v;
353  int lineno;
355 };
356 
357 struct _arguments {
362 };
363 
364 struct _keyword {
366  expr_ty value;
367 };
368 
369 struct _alias {
372 };
373 
374 
375 #define Module(a0, a1) _Py_Module(a0, a1)
376 mod_ty _Py_Module(asdl_seq * body, PyArena *arena);
377 #define Interactive(a0, a1) _Py_Interactive(a0, a1)
378 mod_ty _Py_Interactive(asdl_seq * body, PyArena *arena);
379 #define Expression(a0, a1) _Py_Expression(a0, a1)
380 mod_ty _Py_Expression(expr_ty body, PyArena *arena);
381 #define Suite(a0, a1) _Py_Suite(a0, a1)
382 mod_ty _Py_Suite(asdl_seq * body, PyArena *arena);
383 #define FunctionDef(a0, a1, a2, a3, a4, a5, a6) _Py_FunctionDef(a0, a1, a2, a3, a4, a5, a6)
384 stmt_ty _Py_FunctionDef(identifier name, arguments_ty args, asdl_seq * body,
385  asdl_seq * decorator_list, int lineno, int col_offset,
386  PyArena *arena);
387 #define ClassDef(a0, a1, a2, a3, a4, a5, a6) _Py_ClassDef(a0, a1, a2, a3, a4, a5, a6)
388 stmt_ty _Py_ClassDef(identifier name, asdl_seq * bases, asdl_seq * body,
389  asdl_seq * decorator_list, int lineno, int col_offset,
390  PyArena *arena);
391 #define Return(a0, a1, a2, a3) _Py_Return(a0, a1, a2, a3)
392 stmt_ty _Py_Return(expr_ty value, int lineno, int col_offset, PyArena *arena);
393 #define Delete(a0, a1, a2, a3) _Py_Delete(a0, a1, a2, a3)
394 stmt_ty _Py_Delete(asdl_seq * targets, int lineno, int col_offset, PyArena
395  *arena);
396 #define Assign(a0, a1, a2, a3, a4) _Py_Assign(a0, a1, a2, a3, a4)
397 stmt_ty _Py_Assign(asdl_seq * targets, expr_ty value, int lineno, int
398  col_offset, PyArena *arena);
399 #define AugAssign(a0, a1, a2, a3, a4, a5) _Py_AugAssign(a0, a1, a2, a3, a4, a5)
400 stmt_ty _Py_AugAssign(expr_ty target, operator_ty op, expr_ty value, int
401  lineno, int col_offset, PyArena *arena);
402 #define Print(a0, a1, a2, a3, a4, a5) _Py_Print(a0, a1, a2, a3, a4, a5)
403 stmt_ty _Py_Print(expr_ty dest, asdl_seq * values, bool nl, int lineno, int
404  col_offset, PyArena *arena);
405 #define For(a0, a1, a2, a3, a4, a5, a6) _Py_For(a0, a1, a2, a3, a4, a5, a6)
406 stmt_ty _Py_For(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq *
407  orelse, int lineno, int col_offset, PyArena *arena);
408 #define While(a0, a1, a2, a3, a4, a5) _Py_While(a0, a1, a2, a3, a4, a5)
409 stmt_ty _Py_While(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
410  int col_offset, PyArena *arena);
411 #define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5)
412 stmt_ty _Py_If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno,
413  int col_offset, PyArena *arena);
414 #define With(a0, a1, a2, a3, a4, a5) _Py_With(a0, a1, a2, a3, a4, a5)
415 stmt_ty _Py_With(expr_ty context_expr, expr_ty optional_vars, asdl_seq * body,
416  int lineno, int col_offset, PyArena *arena);
417 #define Raise(a0, a1, a2, a3, a4, a5) _Py_Raise(a0, a1, a2, a3, a4, a5)
418 stmt_ty _Py_Raise(expr_ty type, expr_ty inst, expr_ty tback, int lineno, int
419  col_offset, PyArena *arena);
420 #define TryExcept(a0, a1, a2, a3, a4, a5) _Py_TryExcept(a0, a1, a2, a3, a4, a5)
421 stmt_ty _Py_TryExcept(asdl_seq * body, asdl_seq * handlers, asdl_seq * orelse,
422  int lineno, int col_offset, PyArena *arena);
423 #define TryFinally(a0, a1, a2, a3, a4) _Py_TryFinally(a0, a1, a2, a3, a4)
424 stmt_ty _Py_TryFinally(asdl_seq * body, asdl_seq * finalbody, int lineno, int
425  col_offset, PyArena *arena);
426 #define Assert(a0, a1, a2, a3, a4) _Py_Assert(a0, a1, a2, a3, a4)
427 stmt_ty _Py_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset,
428  PyArena *arena);
429 #define Import(a0, a1, a2, a3) _Py_Import(a0, a1, a2, a3)
430 stmt_ty _Py_Import(asdl_seq * names, int lineno, int col_offset, PyArena
431  *arena);
432 #define ImportFrom(a0, a1, a2, a3, a4, a5) _Py_ImportFrom(a0, a1, a2, a3, a4, a5)
433 stmt_ty _Py_ImportFrom(identifier module, asdl_seq * names, int level, int
434  lineno, int col_offset, PyArena *arena);
435 #define Exec(a0, a1, a2, a3, a4, a5) _Py_Exec(a0, a1, a2, a3, a4, a5)
436 stmt_ty _Py_Exec(expr_ty body, expr_ty globals, expr_ty locals, int lineno, int
437  col_offset, PyArena *arena);
438 #define Global(a0, a1, a2, a3) _Py_Global(a0, a1, a2, a3)
439 stmt_ty _Py_Global(asdl_seq * names, int lineno, int col_offset, PyArena
440  *arena);
441 #define Expr(a0, a1, a2, a3) _Py_Expr(a0, a1, a2, a3)
442 stmt_ty _Py_Expr(expr_ty value, int lineno, int col_offset, PyArena *arena);
443 #define Pass(a0, a1, a2) _Py_Pass(a0, a1, a2)
444 stmt_ty _Py_Pass(int lineno, int col_offset, PyArena *arena);
445 #define Break(a0, a1, a2) _Py_Break(a0, a1, a2)
446 stmt_ty _Py_Break(int lineno, int col_offset, PyArena *arena);
447 #define Continue(a0, a1, a2) _Py_Continue(a0, a1, a2)
448 stmt_ty _Py_Continue(int lineno, int col_offset, PyArena *arena);
449 #define BoolOp(a0, a1, a2, a3, a4) _Py_BoolOp(a0, a1, a2, a3, a4)
450 expr_ty _Py_BoolOp(boolop_ty op, asdl_seq * values, int lineno, int col_offset,
451  PyArena *arena);
452 #define BinOp(a0, a1, a2, a3, a4, a5) _Py_BinOp(a0, a1, a2, a3, a4, a5)
453 expr_ty _Py_BinOp(expr_ty left, operator_ty op, expr_ty right, int lineno, int
454  col_offset, PyArena *arena);
455 #define UnaryOp(a0, a1, a2, a3, a4) _Py_UnaryOp(a0, a1, a2, a3, a4)
456 expr_ty _Py_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int col_offset,
457  PyArena *arena);
458 #define Lambda(a0, a1, a2, a3, a4) _Py_Lambda(a0, a1, a2, a3, a4)
459 expr_ty _Py_Lambda(arguments_ty args, expr_ty body, int lineno, int col_offset,
460  PyArena *arena);
461 #define IfExp(a0, a1, a2, a3, a4, a5) _Py_IfExp(a0, a1, a2, a3, a4, a5)
462 expr_ty _Py_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, int
463  col_offset, PyArena *arena);
464 #define Dict(a0, a1, a2, a3, a4) _Py_Dict(a0, a1, a2, a3, a4)
465 expr_ty _Py_Dict(asdl_seq * keys, asdl_seq * values, int lineno, int
466  col_offset, PyArena *arena);
467 #define Set(a0, a1, a2, a3) _Py_Set(a0, a1, a2, a3)
468 expr_ty _Py_Set(asdl_seq * elts, int lineno, int col_offset, PyArena *arena);
469 #define ListComp(a0, a1, a2, a3, a4) _Py_ListComp(a0, a1, a2, a3, a4)
470 expr_ty _Py_ListComp(expr_ty elt, asdl_seq * generators, int lineno, int
471  col_offset, PyArena *arena);
472 #define SetComp(a0, a1, a2, a3, a4) _Py_SetComp(a0, a1, a2, a3, a4)
473 expr_ty _Py_SetComp(expr_ty elt, asdl_seq * generators, int lineno, int
474  col_offset, PyArena *arena);
475 #define DictComp(a0, a1, a2, a3, a4, a5) _Py_DictComp(a0, a1, a2, a3, a4, a5)
476 expr_ty _Py_DictComp(expr_ty key, expr_ty value, asdl_seq * generators, int
477  lineno, int col_offset, PyArena *arena);
478 #define GeneratorExp(a0, a1, a2, a3, a4) _Py_GeneratorExp(a0, a1, a2, a3, a4)
479 expr_ty _Py_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int
480  col_offset, PyArena *arena);
481 #define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3)
482 expr_ty _Py_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena);
483 #define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5)
484 expr_ty _Py_Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators,
485  int lineno, int col_offset, PyArena *arena);
486 #define Call(a0, a1, a2, a3, a4, a5, a6, a7) _Py_Call(a0, a1, a2, a3, a4, a5, a6, a7)
487 expr_ty _Py_Call(expr_ty func, asdl_seq * args, asdl_seq * keywords, expr_ty
488  starargs, expr_ty kwargs, int lineno, int col_offset, PyArena
489  *arena);
490 #define Repr(a0, a1, a2, a3) _Py_Repr(a0, a1, a2, a3)
491 expr_ty _Py_Repr(expr_ty value, int lineno, int col_offset, PyArena *arena);
492 #define Num(a0, a1, a2, a3) _Py_Num(a0, a1, a2, a3)
493 expr_ty _Py_Num(object n, int lineno, int col_offset, PyArena *arena);
494 #define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3)
495 expr_ty _Py_Str(string s, int lineno, int col_offset, PyArena *arena);
496 #define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5)
497 expr_ty _Py_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, int
498  lineno, int col_offset, PyArena *arena);
499 #define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5)
500 expr_ty _Py_Subscript(expr_ty value, slice_ty slice, expr_context_ty ctx, int
501  lineno, int col_offset, PyArena *arena);
502 #define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4)
503 expr_ty _Py_Name(identifier id, expr_context_ty ctx, int lineno, int
504  col_offset, PyArena *arena);
505 #define List(a0, a1, a2, a3, a4) _Py_List(a0, a1, a2, a3, a4)
506 expr_ty _Py_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int
507  col_offset, PyArena *arena);
508 #define Tuple(a0, a1, a2, a3, a4) _Py_Tuple(a0, a1, a2, a3, a4)
509 expr_ty _Py_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int
510  col_offset, PyArena *arena);
511 #define Ellipsis(a0) _Py_Ellipsis(a0)
512 slice_ty _Py_Ellipsis(PyArena *arena);
513 #define Slice(a0, a1, a2, a3) _Py_Slice(a0, a1, a2, a3)
514 slice_ty _Py_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena);
515 #define ExtSlice(a0, a1) _Py_ExtSlice(a0, a1)
516 slice_ty _Py_ExtSlice(asdl_seq * dims, PyArena *arena);
517 #define Index(a0, a1) _Py_Index(a0, a1)
518 slice_ty _Py_Index(expr_ty value, PyArena *arena);
519 #define comprehension(a0, a1, a2, a3) _Py_comprehension(a0, a1, a2, a3)
520 comprehension_ty _Py_comprehension(expr_ty target, expr_ty iter, asdl_seq *
521  ifs, PyArena *arena);
522 #define ExceptHandler(a0, a1, a2, a3, a4, a5) _Py_ExceptHandler(a0, a1, a2, a3, a4, a5)
523 excepthandler_ty _Py_ExceptHandler(expr_ty type, expr_ty name, asdl_seq * body,
524  int lineno, int col_offset, PyArena *arena);
525 #define arguments(a0, a1, a2, a3, a4) _Py_arguments(a0, a1, a2, a3, a4)
526 arguments_ty _Py_arguments(asdl_seq * args, identifier vararg, identifier
527  kwarg, asdl_seq * defaults, PyArena *arena);
528 #define keyword(a0, a1, a2) _Py_keyword(a0, a1, a2)
529 keyword_ty _Py_keyword(identifier arg, expr_ty value, PyArena *arena);
530 #define alias(a0, a1, a2) _Py_alias(a0, a1, a2)
531 alias_ty _Py_alias(identifier name, identifier asname, PyArena *arena);
532 
533 PyObject* PyAST_mod2obj(mod_ty t);
534 mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode);
535 int PyAST_Check(PyObject* obj);

Copyright 2014 Google Inc. All rights reserved.