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
;
39 enum { Module_kind
=1, Interactive_kind
=2, Expression_kind
=3,
62 enum { 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, Raise_kind
=11,
65 TryExcept_kind
=12, TryFinally_kind
=13, Assert_kind
=14,
66 Import_kind
=15, ImportFrom_kind
=16, Exec_kind
=17,
67 Global_kind
=18, Expr_kind
=19, Pass_kind
=20, Break_kind
=21,
68 Continue_kind
=22 } kind
;
177 enum { BoolOp_kind
=1, BinOp_kind
=2, UnaryOp_kind
=3, Lambda_kind
=4,
178 Dict_kind
=5, ListComp_kind
=6, GeneratorExp_kind
=7, Yield_kind
=8,
179 Compare_kind
=9, Call_kind
=10, Repr_kind
=11, Num_kind
=12,
180 Str_kind
=13, Attribute_kind
=14, Subscript_kind
=15, Name_kind
=16,
181 List_kind
=17, Tuple_kind
=18 } kind
;
211 asdl_seq
*generators
;
216 asdl_seq
*generators
;
226 asdl_seq
*comparators
;
281 enum { Ellipsis_kind
=1, Slice_kind
=2, ExtSlice_kind
=3, Index_kind
=4 }
301 struct _comprehension
{
307 struct _excepthandler
{
331 mod_ty
Module(asdl_seq
* body
, PyArena
*arena
);
332 mod_ty
Interactive(asdl_seq
* body
, PyArena
*arena
);
333 mod_ty
Expression(expr_ty body
, PyArena
*arena
);
334 mod_ty
Suite(asdl_seq
* body
, PyArena
*arena
);
335 stmt_ty
FunctionDef(identifier name
, arguments_ty args
, asdl_seq
* body
,
336 asdl_seq
* decorators
, int lineno
, PyArena
*arena
);
337 stmt_ty
ClassDef(identifier name
, asdl_seq
* bases
, asdl_seq
* body
, int
338 lineno
, PyArena
*arena
);
339 stmt_ty
Return(expr_ty value
, int lineno
, PyArena
*arena
);
340 stmt_ty
Delete(asdl_seq
* targets
, int lineno
, PyArena
*arena
);
341 stmt_ty
Assign(asdl_seq
* targets
, expr_ty value
, int lineno
, PyArena
*arena
);
342 stmt_ty
AugAssign(expr_ty target
, operator_ty op
, expr_ty value
, int lineno
,
344 stmt_ty
Print(expr_ty dest
, asdl_seq
* values
, bool nl
, int lineno
, PyArena
346 stmt_ty
For(expr_ty target
, expr_ty iter
, asdl_seq
* body
, asdl_seq
* orelse
,
347 int lineno
, PyArena
*arena
);
348 stmt_ty
While(expr_ty test
, asdl_seq
* body
, asdl_seq
* orelse
, int lineno
,
350 stmt_ty
If(expr_ty test
, asdl_seq
* body
, asdl_seq
* orelse
, int lineno
,
352 stmt_ty
Raise(expr_ty type
, expr_ty inst
, expr_ty tback
, int lineno
, PyArena
354 stmt_ty
TryExcept(asdl_seq
* body
, asdl_seq
* handlers
, asdl_seq
* orelse
, int
355 lineno
, PyArena
*arena
);
356 stmt_ty
TryFinally(asdl_seq
* body
, asdl_seq
* finalbody
, int lineno
, PyArena
358 stmt_ty
Assert(expr_ty test
, expr_ty msg
, int lineno
, PyArena
*arena
);
359 stmt_ty
Import(asdl_seq
* names
, int lineno
, PyArena
*arena
);
360 stmt_ty
ImportFrom(identifier module
, asdl_seq
* names
, int lineno
, PyArena
362 stmt_ty
Exec(expr_ty body
, expr_ty globals
, expr_ty locals
, int lineno
, PyArena
364 stmt_ty
Global(asdl_seq
* names
, int lineno
, PyArena
*arena
);
365 stmt_ty
Expr(expr_ty value
, int lineno
, PyArena
*arena
);
366 stmt_ty
Pass(int lineno
, PyArena
*arena
);
367 stmt_ty
Break(int lineno
, PyArena
*arena
);
368 stmt_ty
Continue(int lineno
, PyArena
*arena
);
369 expr_ty
BoolOp(boolop_ty op
, asdl_seq
* values
, int lineno
, PyArena
*arena
);
370 expr_ty
BinOp(expr_ty left
, operator_ty op
, expr_ty right
, int lineno
, PyArena
372 expr_ty
UnaryOp(unaryop_ty op
, expr_ty operand
, int lineno
, PyArena
*arena
);
373 expr_ty
Lambda(arguments_ty args
, expr_ty body
, int lineno
, PyArena
*arena
);
374 expr_ty
Dict(asdl_seq
* keys
, asdl_seq
* values
, int lineno
, PyArena
*arena
);
375 expr_ty
ListComp(expr_ty elt
, asdl_seq
* generators
, int lineno
, PyArena
377 expr_ty
GeneratorExp(expr_ty elt
, asdl_seq
* generators
, int lineno
, PyArena
379 expr_ty
Yield(expr_ty value
, int lineno
, PyArena
*arena
);
380 expr_ty
Compare(expr_ty left
, asdl_seq
* ops
, asdl_seq
* comparators
, int
381 lineno
, PyArena
*arena
);
382 expr_ty
Call(expr_ty func
, asdl_seq
* args
, asdl_seq
* keywords
, expr_ty
383 starargs
, expr_ty kwargs
, int lineno
, PyArena
*arena
);
384 expr_ty
Repr(expr_ty value
, int lineno
, PyArena
*arena
);
385 expr_ty
Num(object n
, int lineno
, PyArena
*arena
);
386 expr_ty
Str(string s
, int lineno
, PyArena
*arena
);
387 expr_ty
Attribute(expr_ty value
, identifier attr
, expr_context_ty ctx
, int
388 lineno
, PyArena
*arena
);
389 expr_ty
Subscript(expr_ty value
, slice_ty slice
, expr_context_ty ctx
, int
390 lineno
, PyArena
*arena
);
391 expr_ty
Name(identifier id
, expr_context_ty ctx
, int lineno
, PyArena
*arena
);
392 expr_ty
List(asdl_seq
* elts
, expr_context_ty ctx
, int lineno
, PyArena
*arena
);
393 expr_ty
Tuple(asdl_seq
* elts
, expr_context_ty ctx
, int lineno
, PyArena
*arena
);
394 slice_ty
Ellipsis(PyArena
*arena
);
395 slice_ty
Slice(expr_ty lower
, expr_ty upper
, expr_ty step
, PyArena
*arena
);
396 slice_ty
ExtSlice(asdl_seq
* dims
, PyArena
*arena
);
397 slice_ty
Index(expr_ty value
, PyArena
*arena
);
398 comprehension_ty
comprehension(expr_ty target
, expr_ty iter
, asdl_seq
* ifs
,
400 excepthandler_ty
excepthandler(expr_ty type
, expr_ty name
, asdl_seq
* body
,
402 arguments_ty
arguments(asdl_seq
* args
, identifier vararg
, identifier kwarg
,
403 asdl_seq
* defaults
, PyArena
*arena
);
404 keyword_ty
keyword(identifier arg
, expr_ty value
, PyArena
*arena
);
405 alias_ty
alias(identifier name
, identifier asname
, PyArena
*arena
);