1 /* File automatically generated by Parser/asdl_c.py. */
5 typedef struct _mod
*mod_ty
;
7 typedef struct _stmt
*stmt_ty
;
9 typedef struct _expr
*expr_ty
;
11 typedef enum _expr_context
{ Load
=1, Store
=2, Del
=3, AugLoad
=4, AugStore
=5,
12 Param
=6 } expr_context_ty
;
14 typedef struct _slice
*slice_ty
;
16 typedef enum _boolop
{ And
=1, Or
=2 } boolop_ty
;
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 }
22 typedef enum _unaryop
{ Invert
=1, Not
=2, UAdd
=3, USub
=4 } unaryop_ty
;
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
;
27 typedef struct _comprehension
*comprehension_ty
;
29 typedef struct _excepthandler
*excepthandler_ty
;
31 typedef struct _arguments
*arguments_ty
;
33 typedef struct _keyword
*keyword_ty
;
35 typedef struct _alias
*alias_ty
;
38 enum _mod_kind
{Module_kind
=1, Interactive_kind
=2, Expression_kind
=3,
62 enum _stmt_kind
{FunctionDef_kind
=1, ClassDef_kind
=2, Return_kind
=3,
63 Delete_kind
=4, Assign_kind
=5, AugAssign_kind
=6, Print_kind
=7,
64 For_kind
=8, While_kind
=9, If_kind
=10, With_kind
=11,
65 Raise_kind
=12, TryExcept_kind
=13, TryFinally_kind
=14,
66 Assert_kind
=15, Import_kind
=16, ImportFrom_kind
=17,
67 Exec_kind
=18, Global_kind
=19, Expr_kind
=20, Pass_kind
=21,
68 Break_kind
=22, Continue_kind
=23};
76 asdl_seq
*decorator_list
;
83 asdl_seq
*decorator_list
;
131 expr_ty context_expr
;
132 expr_ty optional_vars
;
187 enum _expr_kind
{BoolOp_kind
=1, BinOp_kind
=2, UnaryOp_kind
=3, Lambda_kind
=4,
188 IfExp_kind
=5, Dict_kind
=6, ListComp_kind
=7,
189 GeneratorExp_kind
=8, Yield_kind
=9, Compare_kind
=10,
190 Call_kind
=11, Repr_kind
=12, Num_kind
=13, Str_kind
=14,
191 Attribute_kind
=15, Subscript_kind
=16, Name_kind
=17,
192 List_kind
=18, Tuple_kind
=19};
194 enum _expr_kind kind
;
230 asdl_seq
*generators
;
235 asdl_seq
*generators
;
245 asdl_seq
*comparators
;
300 enum _slice_kind
{Ellipsis_kind
=1, Slice_kind
=2, ExtSlice_kind
=3, Index_kind
=4};
302 enum _slice_kind kind
;
321 struct _comprehension
{
327 struct _excepthandler
{
353 #define Module(a0, a1) _Py_Module(a0, a1)
354 mod_ty
_Py_Module(asdl_seq
* body
, PyArena
*arena
);
355 #define Interactive(a0, a1) _Py_Interactive(a0, a1)
356 mod_ty
_Py_Interactive(asdl_seq
* body
, PyArena
*arena
);
357 #define Expression(a0, a1) _Py_Expression(a0, a1)
358 mod_ty
_Py_Expression(expr_ty body
, PyArena
*arena
);
359 #define Suite(a0, a1) _Py_Suite(a0, a1)
360 mod_ty
_Py_Suite(asdl_seq
* body
, PyArena
*arena
);
361 #define FunctionDef(a0, a1, a2, a3, a4, a5, a6) _Py_FunctionDef(a0, a1, a2, a3, a4, a5, a6)
362 stmt_ty
_Py_FunctionDef(identifier name
, arguments_ty args
, asdl_seq
* body
,
363 asdl_seq
* decorator_list
, int lineno
, int col_offset
,
365 #define ClassDef(a0, a1, a2, a3, a4, a5, a6) _Py_ClassDef(a0, a1, a2, a3, a4, a5, a6)
366 stmt_ty
_Py_ClassDef(identifier name
, asdl_seq
* bases
, asdl_seq
* body
,
367 asdl_seq
* decorator_list
, int lineno
, int col_offset
,
369 #define Return(a0, a1, a2, a3) _Py_Return(a0, a1, a2, a3)
370 stmt_ty
_Py_Return(expr_ty value
, int lineno
, int col_offset
, PyArena
*arena
);
371 #define Delete(a0, a1, a2, a3) _Py_Delete(a0, a1, a2, a3)
372 stmt_ty
_Py_Delete(asdl_seq
* targets
, int lineno
, int col_offset
, PyArena
374 #define Assign(a0, a1, a2, a3, a4) _Py_Assign(a0, a1, a2, a3, a4)
375 stmt_ty
_Py_Assign(asdl_seq
* targets
, expr_ty value
, int lineno
, int
376 col_offset
, PyArena
*arena
);
377 #define AugAssign(a0, a1, a2, a3, a4, a5) _Py_AugAssign(a0, a1, a2, a3, a4, a5)
378 stmt_ty
_Py_AugAssign(expr_ty target
, operator_ty op
, expr_ty value
, int
379 lineno
, int col_offset
, PyArena
*arena
);
380 #define Print(a0, a1, a2, a3, a4, a5) _Py_Print(a0, a1, a2, a3, a4, a5)
381 stmt_ty
_Py_Print(expr_ty dest
, asdl_seq
* values
, bool nl
, int lineno
, int
382 col_offset
, PyArena
*arena
);
383 #define For(a0, a1, a2, a3, a4, a5, a6) _Py_For(a0, a1, a2, a3, a4, a5, a6)
384 stmt_ty
_Py_For(expr_ty target
, expr_ty iter
, asdl_seq
* body
, asdl_seq
*
385 orelse
, int lineno
, int col_offset
, PyArena
*arena
);
386 #define While(a0, a1, a2, a3, a4, a5) _Py_While(a0, a1, a2, a3, a4, a5)
387 stmt_ty
_Py_While(expr_ty test
, asdl_seq
* body
, asdl_seq
* orelse
, int lineno
,
388 int col_offset
, PyArena
*arena
);
389 #define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5)
390 stmt_ty
_Py_If(expr_ty test
, asdl_seq
* body
, asdl_seq
* orelse
, int lineno
,
391 int col_offset
, PyArena
*arena
);
392 #define With(a0, a1, a2, a3, a4, a5) _Py_With(a0, a1, a2, a3, a4, a5)
393 stmt_ty
_Py_With(expr_ty context_expr
, expr_ty optional_vars
, asdl_seq
* body
,
394 int lineno
, int col_offset
, PyArena
*arena
);
395 #define Raise(a0, a1, a2, a3, a4, a5) _Py_Raise(a0, a1, a2, a3, a4, a5)
396 stmt_ty
_Py_Raise(expr_ty type
, expr_ty inst
, expr_ty tback
, int lineno
, int
397 col_offset
, PyArena
*arena
);
398 #define TryExcept(a0, a1, a2, a3, a4, a5) _Py_TryExcept(a0, a1, a2, a3, a4, a5)
399 stmt_ty
_Py_TryExcept(asdl_seq
* body
, asdl_seq
* handlers
, asdl_seq
* orelse
,
400 int lineno
, int col_offset
, PyArena
*arena
);
401 #define TryFinally(a0, a1, a2, a3, a4) _Py_TryFinally(a0, a1, a2, a3, a4)
402 stmt_ty
_Py_TryFinally(asdl_seq
* body
, asdl_seq
* finalbody
, int lineno
, int
403 col_offset
, PyArena
*arena
);
404 #define Assert(a0, a1, a2, a3, a4) _Py_Assert(a0, a1, a2, a3, a4)
405 stmt_ty
_Py_Assert(expr_ty test
, expr_ty msg
, int lineno
, int col_offset
,
407 #define Import(a0, a1, a2, a3) _Py_Import(a0, a1, a2, a3)
408 stmt_ty
_Py_Import(asdl_seq
* names
, int lineno
, int col_offset
, PyArena
410 #define ImportFrom(a0, a1, a2, a3, a4, a5) _Py_ImportFrom(a0, a1, a2, a3, a4, a5)
411 stmt_ty
_Py_ImportFrom(identifier module
, asdl_seq
* names
, int level
, int
412 lineno
, int col_offset
, PyArena
*arena
);
413 #define Exec(a0, a1, a2, a3, a4, a5) _Py_Exec(a0, a1, a2, a3, a4, a5)
414 stmt_ty
_Py_Exec(expr_ty body
, expr_ty globals
, expr_ty locals
, int lineno
, int
415 col_offset
, PyArena
*arena
);
416 #define Global(a0, a1, a2, a3) _Py_Global(a0, a1, a2, a3)
417 stmt_ty
_Py_Global(asdl_seq
* names
, int lineno
, int col_offset
, PyArena
419 #define Expr(a0, a1, a2, a3) _Py_Expr(a0, a1, a2, a3)
420 stmt_ty
_Py_Expr(expr_ty value
, int lineno
, int col_offset
, PyArena
*arena
);
421 #define Pass(a0, a1, a2) _Py_Pass(a0, a1, a2)
422 stmt_ty
_Py_Pass(int lineno
, int col_offset
, PyArena
*arena
);
423 #define Break(a0, a1, a2) _Py_Break(a0, a1, a2)
424 stmt_ty
_Py_Break(int lineno
, int col_offset
, PyArena
*arena
);
425 #define Continue(a0, a1, a2) _Py_Continue(a0, a1, a2)
426 stmt_ty
_Py_Continue(int lineno
, int col_offset
, PyArena
*arena
);
427 #define BoolOp(a0, a1, a2, a3, a4) _Py_BoolOp(a0, a1, a2, a3, a4)
428 expr_ty
_Py_BoolOp(boolop_ty op
, asdl_seq
* values
, int lineno
, int col_offset
,
430 #define BinOp(a0, a1, a2, a3, a4, a5) _Py_BinOp(a0, a1, a2, a3, a4, a5)
431 expr_ty
_Py_BinOp(expr_ty left
, operator_ty op
, expr_ty right
, int lineno
, int
432 col_offset
, PyArena
*arena
);
433 #define UnaryOp(a0, a1, a2, a3, a4) _Py_UnaryOp(a0, a1, a2, a3, a4)
434 expr_ty
_Py_UnaryOp(unaryop_ty op
, expr_ty operand
, int lineno
, int col_offset
,
436 #define Lambda(a0, a1, a2, a3, a4) _Py_Lambda(a0, a1, a2, a3, a4)
437 expr_ty
_Py_Lambda(arguments_ty args
, expr_ty body
, int lineno
, int col_offset
,
439 #define IfExp(a0, a1, a2, a3, a4, a5) _Py_IfExp(a0, a1, a2, a3, a4, a5)
440 expr_ty
_Py_IfExp(expr_ty test
, expr_ty body
, expr_ty orelse
, int lineno
, int
441 col_offset
, PyArena
*arena
);
442 #define Dict(a0, a1, a2, a3, a4) _Py_Dict(a0, a1, a2, a3, a4)
443 expr_ty
_Py_Dict(asdl_seq
* keys
, asdl_seq
* values
, int lineno
, int
444 col_offset
, PyArena
*arena
);
445 #define ListComp(a0, a1, a2, a3, a4) _Py_ListComp(a0, a1, a2, a3, a4)
446 expr_ty
_Py_ListComp(expr_ty elt
, asdl_seq
* generators
, int lineno
, int
447 col_offset
, PyArena
*arena
);
448 #define GeneratorExp(a0, a1, a2, a3, a4) _Py_GeneratorExp(a0, a1, a2, a3, a4)
449 expr_ty
_Py_GeneratorExp(expr_ty elt
, asdl_seq
* generators
, int lineno
, int
450 col_offset
, PyArena
*arena
);
451 #define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3)
452 expr_ty
_Py_Yield(expr_ty value
, int lineno
, int col_offset
, PyArena
*arena
);
453 #define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5)
454 expr_ty
_Py_Compare(expr_ty left
, asdl_int_seq
* ops
, asdl_seq
* comparators
,
455 int lineno
, int col_offset
, PyArena
*arena
);
456 #define Call(a0, a1, a2, a3, a4, a5, a6, a7) _Py_Call(a0, a1, a2, a3, a4, a5, a6, a7)
457 expr_ty
_Py_Call(expr_ty func
, asdl_seq
* args
, asdl_seq
* keywords
, expr_ty
458 starargs
, expr_ty kwargs
, int lineno
, int col_offset
, PyArena
460 #define Repr(a0, a1, a2, a3) _Py_Repr(a0, a1, a2, a3)
461 expr_ty
_Py_Repr(expr_ty value
, int lineno
, int col_offset
, PyArena
*arena
);
462 #define Num(a0, a1, a2, a3) _Py_Num(a0, a1, a2, a3)
463 expr_ty
_Py_Num(object n
, int lineno
, int col_offset
, PyArena
*arena
);
464 #define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3)
465 expr_ty
_Py_Str(string s
, int lineno
, int col_offset
, PyArena
*arena
);
466 #define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5)
467 expr_ty
_Py_Attribute(expr_ty value
, identifier attr
, expr_context_ty ctx
, int
468 lineno
, int col_offset
, PyArena
*arena
);
469 #define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5)
470 expr_ty
_Py_Subscript(expr_ty value
, slice_ty slice
, expr_context_ty ctx
, int
471 lineno
, int col_offset
, PyArena
*arena
);
472 #define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4)
473 expr_ty
_Py_Name(identifier id
, expr_context_ty ctx
, int lineno
, int
474 col_offset
, PyArena
*arena
);
475 #define List(a0, a1, a2, a3, a4) _Py_List(a0, a1, a2, a3, a4)
476 expr_ty
_Py_List(asdl_seq
* elts
, expr_context_ty ctx
, int lineno
, int
477 col_offset
, PyArena
*arena
);
478 #define Tuple(a0, a1, a2, a3, a4) _Py_Tuple(a0, a1, a2, a3, a4)
479 expr_ty
_Py_Tuple(asdl_seq
* elts
, expr_context_ty ctx
, int lineno
, int
480 col_offset
, PyArena
*arena
);
481 #define Ellipsis(a0) _Py_Ellipsis(a0)
482 slice_ty
_Py_Ellipsis(PyArena
*arena
);
483 #define Slice(a0, a1, a2, a3) _Py_Slice(a0, a1, a2, a3)
484 slice_ty
_Py_Slice(expr_ty lower
, expr_ty upper
, expr_ty step
, PyArena
*arena
);
485 #define ExtSlice(a0, a1) _Py_ExtSlice(a0, a1)
486 slice_ty
_Py_ExtSlice(asdl_seq
* dims
, PyArena
*arena
);
487 #define Index(a0, a1) _Py_Index(a0, a1)
488 slice_ty
_Py_Index(expr_ty value
, PyArena
*arena
);
489 #define comprehension(a0, a1, a2, a3) _Py_comprehension(a0, a1, a2, a3)
490 comprehension_ty
_Py_comprehension(expr_ty target
, expr_ty iter
, asdl_seq
*
491 ifs
, PyArena
*arena
);
492 #define excepthandler(a0, a1, a2, a3, a4, a5) _Py_excepthandler(a0, a1, a2, a3, a4, a5)
493 excepthandler_ty
_Py_excepthandler(expr_ty type
, expr_ty name
, asdl_seq
* body
,
494 int lineno
, int col_offset
, PyArena
*arena
);
495 #define arguments(a0, a1, a2, a3, a4) _Py_arguments(a0, a1, a2, a3, a4)
496 arguments_ty
_Py_arguments(asdl_seq
* args
, identifier vararg
, identifier
497 kwarg
, asdl_seq
* defaults
, PyArena
*arena
);
498 #define keyword(a0, a1, a2) _Py_keyword(a0, a1, a2)
499 keyword_ty
_Py_keyword(identifier arg
, expr_ty value
, PyArena
*arena
);
500 #define alias(a0, a1, a2) _Py_alias(a0, a1, a2)
501 alias_ty
_Py_alias(identifier name
, identifier asname
, PyArena
*arena
);
503 PyObject
* PyAST_mod2obj(mod_ty t
);