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 _arg
*arg_ty
;
35 typedef struct _keyword
*keyword_ty
;
37 typedef struct _alias
*alias_ty
;
40 enum _mod_kind
{Module_kind
=1, Interactive_kind
=2, Expression_kind
=3,
64 enum _stmt_kind
{FunctionDef_kind
=1, ClassDef_kind
=2, Return_kind
=3,
65 Delete_kind
=4, Assign_kind
=5, AugAssign_kind
=6, For_kind
=7,
66 While_kind
=8, If_kind
=9, With_kind
=10, Raise_kind
=11,
67 TryExcept_kind
=12, TryFinally_kind
=13, Assert_kind
=14,
68 Import_kind
=15, ImportFrom_kind
=16, Global_kind
=17,
69 Nonlocal_kind
=18, Expr_kind
=19, Pass_kind
=20, Break_kind
=21,
78 asdl_seq
*decorator_list
;
89 asdl_seq
*decorator_list
;
131 expr_ty context_expr
;
132 expr_ty optional_vars
;
184 enum _expr_kind
{BoolOp_kind
=1, BinOp_kind
=2, UnaryOp_kind
=3, Lambda_kind
=4,
185 IfExp_kind
=5, Dict_kind
=6, Set_kind
=7, ListComp_kind
=8,
186 SetComp_kind
=9, DictComp_kind
=10, GeneratorExp_kind
=11,
187 Yield_kind
=12, Compare_kind
=13, Call_kind
=14, Num_kind
=15,
188 Str_kind
=16, Bytes_kind
=17, Ellipsis_kind
=18,
189 Attribute_kind
=19, Subscript_kind
=20, Starred_kind
=21,
190 Name_kind
=22, List_kind
=23, Tuple_kind
=24};
192 enum _expr_kind kind
;
232 asdl_seq
*generators
;
237 asdl_seq
*generators
;
243 asdl_seq
*generators
;
248 asdl_seq
*generators
;
258 asdl_seq
*comparators
;
318 enum _slice_kind
{Slice_kind
=1, ExtSlice_kind
=2, Index_kind
=3};
320 enum _slice_kind kind
;
339 struct _comprehension
{
345 enum _excepthandler_kind
{ExceptHandler_kind
=1};
346 struct _excepthandler
{
347 enum _excepthandler_kind kind
;
363 expr_ty varargannotation
;
364 asdl_seq
*kwonlyargs
;
366 expr_ty kwargannotation
;
368 asdl_seq
*kw_defaults
;
387 #define Module(a0, a1) _Py_Module(a0, a1)
388 mod_ty
_Py_Module(asdl_seq
* body
, PyArena
*arena
);
389 #define Interactive(a0, a1) _Py_Interactive(a0, a1)
390 mod_ty
_Py_Interactive(asdl_seq
* body
, PyArena
*arena
);
391 #define Expression(a0, a1) _Py_Expression(a0, a1)
392 mod_ty
_Py_Expression(expr_ty body
, PyArena
*arena
);
393 #define Suite(a0, a1) _Py_Suite(a0, a1)
394 mod_ty
_Py_Suite(asdl_seq
* body
, PyArena
*arena
);
395 #define FunctionDef(a0, a1, a2, a3, a4, a5, a6, a7) _Py_FunctionDef(a0, a1, a2, a3, a4, a5, a6, a7)
396 stmt_ty
_Py_FunctionDef(identifier name
, arguments_ty args
, asdl_seq
* body
,
397 asdl_seq
* decorator_list
, expr_ty returns
, int lineno
,
398 int col_offset
, PyArena
*arena
);
399 #define ClassDef(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) _Py_ClassDef(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)
400 stmt_ty
_Py_ClassDef(identifier name
, asdl_seq
* bases
, asdl_seq
* keywords
,
401 expr_ty starargs
, expr_ty kwargs
, asdl_seq
* body
,
402 asdl_seq
* decorator_list
, int lineno
, int col_offset
,
404 #define Return(a0, a1, a2, a3) _Py_Return(a0, a1, a2, a3)
405 stmt_ty
_Py_Return(expr_ty value
, int lineno
, int col_offset
, PyArena
*arena
);
406 #define Delete(a0, a1, a2, a3) _Py_Delete(a0, a1, a2, a3)
407 stmt_ty
_Py_Delete(asdl_seq
* targets
, int lineno
, int col_offset
, PyArena
409 #define Assign(a0, a1, a2, a3, a4) _Py_Assign(a0, a1, a2, a3, a4)
410 stmt_ty
_Py_Assign(asdl_seq
* targets
, expr_ty value
, int lineno
, int
411 col_offset
, PyArena
*arena
);
412 #define AugAssign(a0, a1, a2, a3, a4, a5) _Py_AugAssign(a0, a1, a2, a3, a4, a5)
413 stmt_ty
_Py_AugAssign(expr_ty target
, operator_ty op
, expr_ty value
, int
414 lineno
, int col_offset
, PyArena
*arena
);
415 #define For(a0, a1, a2, a3, a4, a5, a6) _Py_For(a0, a1, a2, a3, a4, a5, a6)
416 stmt_ty
_Py_For(expr_ty target
, expr_ty iter
, asdl_seq
* body
, asdl_seq
*
417 orelse
, int lineno
, int col_offset
, PyArena
*arena
);
418 #define While(a0, a1, a2, a3, a4, a5) _Py_While(a0, a1, a2, a3, a4, a5)
419 stmt_ty
_Py_While(expr_ty test
, asdl_seq
* body
, asdl_seq
* orelse
, int lineno
,
420 int col_offset
, PyArena
*arena
);
421 #define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5)
422 stmt_ty
_Py_If(expr_ty test
, asdl_seq
* body
, asdl_seq
* orelse
, int lineno
,
423 int col_offset
, PyArena
*arena
);
424 #define With(a0, a1, a2, a3, a4, a5) _Py_With(a0, a1, a2, a3, a4, a5)
425 stmt_ty
_Py_With(expr_ty context_expr
, expr_ty optional_vars
, asdl_seq
* body
,
426 int lineno
, int col_offset
, PyArena
*arena
);
427 #define Raise(a0, a1, a2, a3, a4) _Py_Raise(a0, a1, a2, a3, a4)
428 stmt_ty
_Py_Raise(expr_ty exc
, expr_ty cause
, int lineno
, int col_offset
,
430 #define TryExcept(a0, a1, a2, a3, a4, a5) _Py_TryExcept(a0, a1, a2, a3, a4, a5)
431 stmt_ty
_Py_TryExcept(asdl_seq
* body
, asdl_seq
* handlers
, asdl_seq
* orelse
,
432 int lineno
, int col_offset
, PyArena
*arena
);
433 #define TryFinally(a0, a1, a2, a3, a4) _Py_TryFinally(a0, a1, a2, a3, a4)
434 stmt_ty
_Py_TryFinally(asdl_seq
* body
, asdl_seq
* finalbody
, int lineno
, int
435 col_offset
, PyArena
*arena
);
436 #define Assert(a0, a1, a2, a3, a4) _Py_Assert(a0, a1, a2, a3, a4)
437 stmt_ty
_Py_Assert(expr_ty test
, expr_ty msg
, int lineno
, int col_offset
,
439 #define Import(a0, a1, a2, a3) _Py_Import(a0, a1, a2, a3)
440 stmt_ty
_Py_Import(asdl_seq
* names
, int lineno
, int col_offset
, PyArena
442 #define ImportFrom(a0, a1, a2, a3, a4, a5) _Py_ImportFrom(a0, a1, a2, a3, a4, a5)
443 stmt_ty
_Py_ImportFrom(identifier module
, asdl_seq
* names
, int level
, int
444 lineno
, int col_offset
, PyArena
*arena
);
445 #define Global(a0, a1, a2, a3) _Py_Global(a0, a1, a2, a3)
446 stmt_ty
_Py_Global(asdl_seq
* names
, int lineno
, int col_offset
, PyArena
448 #define Nonlocal(a0, a1, a2, a3) _Py_Nonlocal(a0, a1, a2, a3)
449 stmt_ty
_Py_Nonlocal(asdl_seq
* names
, int lineno
, int col_offset
, PyArena
451 #define Expr(a0, a1, a2, a3) _Py_Expr(a0, a1, a2, a3)
452 stmt_ty
_Py_Expr(expr_ty value
, int lineno
, int col_offset
, PyArena
*arena
);
453 #define Pass(a0, a1, a2) _Py_Pass(a0, a1, a2)
454 stmt_ty
_Py_Pass(int lineno
, int col_offset
, PyArena
*arena
);
455 #define Break(a0, a1, a2) _Py_Break(a0, a1, a2)
456 stmt_ty
_Py_Break(int lineno
, int col_offset
, PyArena
*arena
);
457 #define Continue(a0, a1, a2) _Py_Continue(a0, a1, a2)
458 stmt_ty
_Py_Continue(int lineno
, int col_offset
, PyArena
*arena
);
459 #define BoolOp(a0, a1, a2, a3, a4) _Py_BoolOp(a0, a1, a2, a3, a4)
460 expr_ty
_Py_BoolOp(boolop_ty op
, asdl_seq
* values
, int lineno
, int col_offset
,
462 #define BinOp(a0, a1, a2, a3, a4, a5) _Py_BinOp(a0, a1, a2, a3, a4, a5)
463 expr_ty
_Py_BinOp(expr_ty left
, operator_ty op
, expr_ty right
, int lineno
, int
464 col_offset
, PyArena
*arena
);
465 #define UnaryOp(a0, a1, a2, a3, a4) _Py_UnaryOp(a0, a1, a2, a3, a4)
466 expr_ty
_Py_UnaryOp(unaryop_ty op
, expr_ty operand
, int lineno
, int col_offset
,
468 #define Lambda(a0, a1, a2, a3, a4) _Py_Lambda(a0, a1, a2, a3, a4)
469 expr_ty
_Py_Lambda(arguments_ty args
, expr_ty body
, int lineno
, int col_offset
,
471 #define IfExp(a0, a1, a2, a3, a4, a5) _Py_IfExp(a0, a1, a2, a3, a4, a5)
472 expr_ty
_Py_IfExp(expr_ty test
, expr_ty body
, expr_ty orelse
, int lineno
, int
473 col_offset
, PyArena
*arena
);
474 #define Dict(a0, a1, a2, a3, a4) _Py_Dict(a0, a1, a2, a3, a4)
475 expr_ty
_Py_Dict(asdl_seq
* keys
, asdl_seq
* values
, int lineno
, int
476 col_offset
, PyArena
*arena
);
477 #define Set(a0, a1, a2, a3) _Py_Set(a0, a1, a2, a3)
478 expr_ty
_Py_Set(asdl_seq
* elts
, int lineno
, int col_offset
, PyArena
*arena
);
479 #define ListComp(a0, a1, a2, a3, a4) _Py_ListComp(a0, a1, a2, a3, a4)
480 expr_ty
_Py_ListComp(expr_ty elt
, asdl_seq
* generators
, int lineno
, int
481 col_offset
, PyArena
*arena
);
482 #define SetComp(a0, a1, a2, a3, a4) _Py_SetComp(a0, a1, a2, a3, a4)
483 expr_ty
_Py_SetComp(expr_ty elt
, asdl_seq
* generators
, int lineno
, int
484 col_offset
, PyArena
*arena
);
485 #define DictComp(a0, a1, a2, a3, a4, a5) _Py_DictComp(a0, a1, a2, a3, a4, a5)
486 expr_ty
_Py_DictComp(expr_ty key
, expr_ty value
, asdl_seq
* generators
, int
487 lineno
, int col_offset
, PyArena
*arena
);
488 #define GeneratorExp(a0, a1, a2, a3, a4) _Py_GeneratorExp(a0, a1, a2, a3, a4)
489 expr_ty
_Py_GeneratorExp(expr_ty elt
, asdl_seq
* generators
, int lineno
, int
490 col_offset
, PyArena
*arena
);
491 #define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3)
492 expr_ty
_Py_Yield(expr_ty value
, int lineno
, int col_offset
, PyArena
*arena
);
493 #define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5)
494 expr_ty
_Py_Compare(expr_ty left
, asdl_int_seq
* ops
, asdl_seq
* comparators
,
495 int lineno
, int col_offset
, PyArena
*arena
);
496 #define Call(a0, a1, a2, a3, a4, a5, a6, a7) _Py_Call(a0, a1, a2, a3, a4, a5, a6, a7)
497 expr_ty
_Py_Call(expr_ty func
, asdl_seq
* args
, asdl_seq
* keywords
, expr_ty
498 starargs
, expr_ty kwargs
, int lineno
, int col_offset
, PyArena
500 #define Num(a0, a1, a2, a3) _Py_Num(a0, a1, a2, a3)
501 expr_ty
_Py_Num(object n
, int lineno
, int col_offset
, PyArena
*arena
);
502 #define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3)
503 expr_ty
_Py_Str(string s
, int lineno
, int col_offset
, PyArena
*arena
);
504 #define Bytes(a0, a1, a2, a3) _Py_Bytes(a0, a1, a2, a3)
505 expr_ty
_Py_Bytes(string s
, int lineno
, int col_offset
, PyArena
*arena
);
506 #define Ellipsis(a0, a1, a2) _Py_Ellipsis(a0, a1, a2)
507 expr_ty
_Py_Ellipsis(int lineno
, int col_offset
, PyArena
*arena
);
508 #define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5)
509 expr_ty
_Py_Attribute(expr_ty value
, identifier attr
, expr_context_ty ctx
, int
510 lineno
, int col_offset
, PyArena
*arena
);
511 #define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5)
512 expr_ty
_Py_Subscript(expr_ty value
, slice_ty slice
, expr_context_ty ctx
, int
513 lineno
, int col_offset
, PyArena
*arena
);
514 #define Starred(a0, a1, a2, a3, a4) _Py_Starred(a0, a1, a2, a3, a4)
515 expr_ty
_Py_Starred(expr_ty value
, expr_context_ty ctx
, int lineno
, int
516 col_offset
, PyArena
*arena
);
517 #define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4)
518 expr_ty
_Py_Name(identifier id
, expr_context_ty ctx
, int lineno
, int
519 col_offset
, PyArena
*arena
);
520 #define List(a0, a1, a2, a3, a4) _Py_List(a0, a1, a2, a3, a4)
521 expr_ty
_Py_List(asdl_seq
* elts
, expr_context_ty ctx
, int lineno
, int
522 col_offset
, PyArena
*arena
);
523 #define Tuple(a0, a1, a2, a3, a4) _Py_Tuple(a0, a1, a2, a3, a4)
524 expr_ty
_Py_Tuple(asdl_seq
* elts
, expr_context_ty ctx
, int lineno
, int
525 col_offset
, PyArena
*arena
);
526 #define Slice(a0, a1, a2, a3) _Py_Slice(a0, a1, a2, a3)
527 slice_ty
_Py_Slice(expr_ty lower
, expr_ty upper
, expr_ty step
, PyArena
*arena
);
528 #define ExtSlice(a0, a1) _Py_ExtSlice(a0, a1)
529 slice_ty
_Py_ExtSlice(asdl_seq
* dims
, PyArena
*arena
);
530 #define Index(a0, a1) _Py_Index(a0, a1)
531 slice_ty
_Py_Index(expr_ty value
, PyArena
*arena
);
532 #define comprehension(a0, a1, a2, a3) _Py_comprehension(a0, a1, a2, a3)
533 comprehension_ty
_Py_comprehension(expr_ty target
, expr_ty iter
, asdl_seq
*
534 ifs
, PyArena
*arena
);
535 #define ExceptHandler(a0, a1, a2, a3, a4, a5) _Py_ExceptHandler(a0, a1, a2, a3, a4, a5)
536 excepthandler_ty
_Py_ExceptHandler(expr_ty type
, identifier name
, asdl_seq
*
537 body
, int lineno
, int col_offset
, PyArena
539 #define arguments(a0, a1, a2, a3, a4, a5, a6, a7, a8) _Py_arguments(a0, a1, a2, a3, a4, a5, a6, a7, a8)
540 arguments_ty
_Py_arguments(asdl_seq
* args
, identifier vararg
, expr_ty
541 varargannotation
, asdl_seq
* kwonlyargs
, identifier
542 kwarg
, expr_ty kwargannotation
, asdl_seq
* defaults
,
543 asdl_seq
* kw_defaults
, PyArena
*arena
);
544 #define arg(a0, a1, a2) _Py_arg(a0, a1, a2)
545 arg_ty
_Py_arg(identifier arg
, expr_ty annotation
, PyArena
*arena
);
546 #define keyword(a0, a1, a2) _Py_keyword(a0, a1, a2)
547 keyword_ty
_Py_keyword(identifier arg
, expr_ty value
, PyArena
*arena
);
548 #define alias(a0, a1, a2) _Py_alias(a0, a1, a2)
549 alias_ty
_Py_alias(identifier name
, identifier asname
, PyArena
*arena
);
551 PyObject
* PyAST_mod2obj(mod_ty t
);
552 mod_ty
PyAST_obj2mod(PyObject
* ast
, PyArena
* arena
, int mode
);
553 int PyAST_Check(PyObject
* obj
);