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, Set_kind
=7, ListComp_kind
=8,
189 SetComp_kind
=9, DictComp_kind
=10, GeneratorExp_kind
=11,
190 Yield_kind
=12, Compare_kind
=13, Call_kind
=14, Repr_kind
=15,
191 Num_kind
=16, Str_kind
=17, Attribute_kind
=18,
192 Subscript_kind
=19, Name_kind
=20, List_kind
=21, Tuple_kind
=22};
194 enum _expr_kind kind
;
234 asdl_seq
*generators
;
239 asdl_seq
*generators
;
245 asdl_seq
*generators
;
250 asdl_seq
*generators
;
260 asdl_seq
*comparators
;
315 enum _slice_kind
{Ellipsis_kind
=1, Slice_kind
=2, ExtSlice_kind
=3, Index_kind
=4};
317 enum _slice_kind kind
;
336 struct _comprehension
{
342 enum _excepthandler_kind
{ExceptHandler_kind
=1};
343 struct _excepthandler
{
344 enum _excepthandler_kind kind
;
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
,
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
,
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
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
,
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
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
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
,
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
,
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
,
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
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
);
533 PyObject
* PyAST_mod2obj(mod_ty t
);
534 mod_ty
PyAST_obj2mod(PyObject
* ast
, PyArena
* arena
, int mode
);
535 int PyAST_Check(PyObject
* obj
);