Python-ast.h revision f2c1aa1661edb3e14ff8b7b9995f93e303c8acbb
1/* File automatically generated by Parser/asdl_c.py. */ 2 3#include "asdl.h" 4 5typedef struct _mod *mod_ty; 6 7typedef struct _stmt *stmt_ty; 8 9typedef struct _expr *expr_ty; 10 11typedef enum _expr_context { Load=1, Store=2, Del=3, AugLoad=4, AugStore=5, 12 Param=6 } expr_context_ty; 13 14typedef struct _slice *slice_ty; 15 16typedef enum _boolop { And=1, Or=2 } boolop_ty; 17 18typedef enum _operator { Add=1, Sub=2, Mult=3, MatMult=4, Div=5, Mod=6, Pow=7, 19 LShift=8, RShift=9, BitOr=10, BitXor=11, BitAnd=12, 20 FloorDiv=13 } operator_ty; 21 22typedef enum _unaryop { Invert=1, Not=2, UAdd=3, USub=4 } unaryop_ty; 23 24typedef 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 27typedef struct _comprehension *comprehension_ty; 28 29typedef struct _excepthandler *excepthandler_ty; 30 31typedef struct _arguments *arguments_ty; 32 33typedef struct _arg *arg_ty; 34 35typedef struct _keyword *keyword_ty; 36 37typedef struct _alias *alias_ty; 38 39typedef struct _withitem *withitem_ty; 40 41 42enum _mod_kind {Module_kind=1, Interactive_kind=2, Expression_kind=3, 43 Suite_kind=4}; 44struct _mod { 45 enum _mod_kind kind; 46 union { 47 struct { 48 asdl_seq *body; 49 } Module; 50 51 struct { 52 asdl_seq *body; 53 } Interactive; 54 55 struct { 56 expr_ty body; 57 } Expression; 58 59 struct { 60 asdl_seq *body; 61 } Suite; 62 63 } v; 64}; 65 66enum _stmt_kind {FunctionDef_kind=1, AsyncFunctionDef_kind=2, ClassDef_kind=3, 67 Return_kind=4, Delete_kind=5, Assign_kind=6, 68 AugAssign_kind=7, For_kind=8, AsyncFor_kind=9, While_kind=10, 69 If_kind=11, With_kind=12, AsyncWith_kind=13, Raise_kind=14, 70 Try_kind=15, Assert_kind=16, Import_kind=17, 71 ImportFrom_kind=18, Global_kind=19, Nonlocal_kind=20, 72 Expr_kind=21, Pass_kind=22, Break_kind=23, Continue_kind=24}; 73struct _stmt { 74 enum _stmt_kind kind; 75 union { 76 struct { 77 identifier name; 78 arguments_ty args; 79 asdl_seq *body; 80 asdl_seq *decorator_list; 81 expr_ty returns; 82 } FunctionDef; 83 84 struct { 85 identifier name; 86 arguments_ty args; 87 asdl_seq *body; 88 asdl_seq *decorator_list; 89 expr_ty returns; 90 } AsyncFunctionDef; 91 92 struct { 93 identifier name; 94 asdl_seq *bases; 95 asdl_seq *keywords; 96 asdl_seq *body; 97 asdl_seq *decorator_list; 98 } ClassDef; 99 100 struct { 101 expr_ty value; 102 } Return; 103 104 struct { 105 asdl_seq *targets; 106 } Delete; 107 108 struct { 109 asdl_seq *targets; 110 expr_ty value; 111 } Assign; 112 113 struct { 114 expr_ty target; 115 operator_ty op; 116 expr_ty value; 117 } AugAssign; 118 119 struct { 120 expr_ty target; 121 expr_ty iter; 122 asdl_seq *body; 123 asdl_seq *orelse; 124 } For; 125 126 struct { 127 expr_ty target; 128 expr_ty iter; 129 asdl_seq *body; 130 asdl_seq *orelse; 131 } AsyncFor; 132 133 struct { 134 expr_ty test; 135 asdl_seq *body; 136 asdl_seq *orelse; 137 } While; 138 139 struct { 140 expr_ty test; 141 asdl_seq *body; 142 asdl_seq *orelse; 143 } If; 144 145 struct { 146 asdl_seq *items; 147 asdl_seq *body; 148 } With; 149 150 struct { 151 asdl_seq *items; 152 asdl_seq *body; 153 } AsyncWith; 154 155 struct { 156 expr_ty exc; 157 expr_ty cause; 158 } Raise; 159 160 struct { 161 asdl_seq *body; 162 asdl_seq *handlers; 163 asdl_seq *orelse; 164 asdl_seq *finalbody; 165 } Try; 166 167 struct { 168 expr_ty test; 169 expr_ty msg; 170 } Assert; 171 172 struct { 173 asdl_seq *names; 174 } Import; 175 176 struct { 177 identifier module; 178 asdl_seq *names; 179 int level; 180 } ImportFrom; 181 182 struct { 183 asdl_seq *names; 184 } Global; 185 186 struct { 187 asdl_seq *names; 188 } Nonlocal; 189 190 struct { 191 expr_ty value; 192 } Expr; 193 194 } v; 195 int lineno; 196 int col_offset; 197}; 198 199enum _expr_kind {BoolOp_kind=1, BinOp_kind=2, UnaryOp_kind=3, Lambda_kind=4, 200 IfExp_kind=5, Dict_kind=6, Set_kind=7, ListComp_kind=8, 201 SetComp_kind=9, DictComp_kind=10, GeneratorExp_kind=11, 202 Await_kind=12, Yield_kind=13, YieldFrom_kind=14, 203 Compare_kind=15, Call_kind=16, Num_kind=17, Str_kind=18, 204 FormattedValue_kind=19, JoinedStr_kind=20, Bytes_kind=21, 205 NameConstant_kind=22, Ellipsis_kind=23, Constant_kind=24, 206 Attribute_kind=25, Subscript_kind=26, Starred_kind=27, 207 Name_kind=28, List_kind=29, Tuple_kind=30}; 208struct _expr { 209 enum _expr_kind kind; 210 union { 211 struct { 212 boolop_ty op; 213 asdl_seq *values; 214 } BoolOp; 215 216 struct { 217 expr_ty left; 218 operator_ty op; 219 expr_ty right; 220 } BinOp; 221 222 struct { 223 unaryop_ty op; 224 expr_ty operand; 225 } UnaryOp; 226 227 struct { 228 arguments_ty args; 229 expr_ty body; 230 } Lambda; 231 232 struct { 233 expr_ty test; 234 expr_ty body; 235 expr_ty orelse; 236 } IfExp; 237 238 struct { 239 asdl_seq *keys; 240 asdl_seq *values; 241 } Dict; 242 243 struct { 244 asdl_seq *elts; 245 } Set; 246 247 struct { 248 expr_ty elt; 249 asdl_seq *generators; 250 } ListComp; 251 252 struct { 253 expr_ty elt; 254 asdl_seq *generators; 255 } SetComp; 256 257 struct { 258 expr_ty key; 259 expr_ty value; 260 asdl_seq *generators; 261 } DictComp; 262 263 struct { 264 expr_ty elt; 265 asdl_seq *generators; 266 } GeneratorExp; 267 268 struct { 269 expr_ty value; 270 } Await; 271 272 struct { 273 expr_ty value; 274 } Yield; 275 276 struct { 277 expr_ty value; 278 } YieldFrom; 279 280 struct { 281 expr_ty left; 282 asdl_int_seq *ops; 283 asdl_seq *comparators; 284 } Compare; 285 286 struct { 287 expr_ty func; 288 asdl_seq *args; 289 asdl_seq *keywords; 290 } Call; 291 292 struct { 293 object n; 294 } Num; 295 296 struct { 297 string s; 298 } Str; 299 300 struct { 301 expr_ty value; 302 int conversion; 303 expr_ty format_spec; 304 } FormattedValue; 305 306 struct { 307 asdl_seq *values; 308 } JoinedStr; 309 310 struct { 311 bytes s; 312 } Bytes; 313 314 struct { 315 singleton value; 316 } NameConstant; 317 318 struct { 319 constant value; 320 } Constant; 321 322 struct { 323 expr_ty value; 324 identifier attr; 325 expr_context_ty ctx; 326 } Attribute; 327 328 struct { 329 expr_ty value; 330 slice_ty slice; 331 expr_context_ty ctx; 332 } Subscript; 333 334 struct { 335 expr_ty value; 336 expr_context_ty ctx; 337 } Starred; 338 339 struct { 340 identifier id; 341 expr_context_ty ctx; 342 } Name; 343 344 struct { 345 asdl_seq *elts; 346 expr_context_ty ctx; 347 } List; 348 349 struct { 350 asdl_seq *elts; 351 expr_context_ty ctx; 352 } Tuple; 353 354 } v; 355 int lineno; 356 int col_offset; 357}; 358 359enum _slice_kind {Slice_kind=1, ExtSlice_kind=2, Index_kind=3}; 360struct _slice { 361 enum _slice_kind kind; 362 union { 363 struct { 364 expr_ty lower; 365 expr_ty upper; 366 expr_ty step; 367 } Slice; 368 369 struct { 370 asdl_seq *dims; 371 } ExtSlice; 372 373 struct { 374 expr_ty value; 375 } Index; 376 377 } v; 378}; 379 380struct _comprehension { 381 expr_ty target; 382 expr_ty iter; 383 asdl_seq *ifs; 384}; 385 386enum _excepthandler_kind {ExceptHandler_kind=1}; 387struct _excepthandler { 388 enum _excepthandler_kind kind; 389 union { 390 struct { 391 expr_ty type; 392 identifier name; 393 asdl_seq *body; 394 } ExceptHandler; 395 396 } v; 397 int lineno; 398 int col_offset; 399}; 400 401struct _arguments { 402 asdl_seq *args; 403 arg_ty vararg; 404 asdl_seq *kwonlyargs; 405 asdl_seq *kw_defaults; 406 arg_ty kwarg; 407 asdl_seq *defaults; 408}; 409 410struct _arg { 411 identifier arg; 412 expr_ty annotation; 413 int lineno; 414 int col_offset; 415}; 416 417struct _keyword { 418 identifier arg; 419 expr_ty value; 420}; 421 422struct _alias { 423 identifier name; 424 identifier asname; 425}; 426 427struct _withitem { 428 expr_ty context_expr; 429 expr_ty optional_vars; 430}; 431 432 433#define Module(a0, a1) _Py_Module(a0, a1) 434mod_ty _Py_Module(asdl_seq * body, PyArena *arena); 435#define Interactive(a0, a1) _Py_Interactive(a0, a1) 436mod_ty _Py_Interactive(asdl_seq * body, PyArena *arena); 437#define Expression(a0, a1) _Py_Expression(a0, a1) 438mod_ty _Py_Expression(expr_ty body, PyArena *arena); 439#define Suite(a0, a1) _Py_Suite(a0, a1) 440mod_ty _Py_Suite(asdl_seq * body, PyArena *arena); 441#define FunctionDef(a0, a1, a2, a3, a4, a5, a6, a7) _Py_FunctionDef(a0, a1, a2, a3, a4, a5, a6, a7) 442stmt_ty _Py_FunctionDef(identifier name, arguments_ty args, asdl_seq * body, 443 asdl_seq * decorator_list, expr_ty returns, int lineno, 444 int col_offset, PyArena *arena); 445#define AsyncFunctionDef(a0, a1, a2, a3, a4, a5, a6, a7) _Py_AsyncFunctionDef(a0, a1, a2, a3, a4, a5, a6, a7) 446stmt_ty _Py_AsyncFunctionDef(identifier name, arguments_ty args, asdl_seq * 447 body, asdl_seq * decorator_list, expr_ty returns, 448 int lineno, int col_offset, PyArena *arena); 449#define ClassDef(a0, a1, a2, a3, a4, a5, a6, a7) _Py_ClassDef(a0, a1, a2, a3, a4, a5, a6, a7) 450stmt_ty _Py_ClassDef(identifier name, asdl_seq * bases, asdl_seq * keywords, 451 asdl_seq * body, asdl_seq * decorator_list, int lineno, 452 int col_offset, PyArena *arena); 453#define Return(a0, a1, a2, a3) _Py_Return(a0, a1, a2, a3) 454stmt_ty _Py_Return(expr_ty value, int lineno, int col_offset, PyArena *arena); 455#define Delete(a0, a1, a2, a3) _Py_Delete(a0, a1, a2, a3) 456stmt_ty _Py_Delete(asdl_seq * targets, int lineno, int col_offset, PyArena 457 *arena); 458#define Assign(a0, a1, a2, a3, a4) _Py_Assign(a0, a1, a2, a3, a4) 459stmt_ty _Py_Assign(asdl_seq * targets, expr_ty value, int lineno, int 460 col_offset, PyArena *arena); 461#define AugAssign(a0, a1, a2, a3, a4, a5) _Py_AugAssign(a0, a1, a2, a3, a4, a5) 462stmt_ty _Py_AugAssign(expr_ty target, operator_ty op, expr_ty value, int 463 lineno, int col_offset, PyArena *arena); 464#define For(a0, a1, a2, a3, a4, a5, a6) _Py_For(a0, a1, a2, a3, a4, a5, a6) 465stmt_ty _Py_For(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq * 466 orelse, int lineno, int col_offset, PyArena *arena); 467#define AsyncFor(a0, a1, a2, a3, a4, a5, a6) _Py_AsyncFor(a0, a1, a2, a3, a4, a5, a6) 468stmt_ty _Py_AsyncFor(expr_ty target, expr_ty iter, asdl_seq * body, asdl_seq * 469 orelse, int lineno, int col_offset, PyArena *arena); 470#define While(a0, a1, a2, a3, a4, a5) _Py_While(a0, a1, a2, a3, a4, a5) 471stmt_ty _Py_While(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno, 472 int col_offset, PyArena *arena); 473#define If(a0, a1, a2, a3, a4, a5) _Py_If(a0, a1, a2, a3, a4, a5) 474stmt_ty _Py_If(expr_ty test, asdl_seq * body, asdl_seq * orelse, int lineno, 475 int col_offset, PyArena *arena); 476#define With(a0, a1, a2, a3, a4) _Py_With(a0, a1, a2, a3, a4) 477stmt_ty _Py_With(asdl_seq * items, asdl_seq * body, int lineno, int col_offset, 478 PyArena *arena); 479#define AsyncWith(a0, a1, a2, a3, a4) _Py_AsyncWith(a0, a1, a2, a3, a4) 480stmt_ty _Py_AsyncWith(asdl_seq * items, asdl_seq * body, int lineno, int 481 col_offset, PyArena *arena); 482#define Raise(a0, a1, a2, a3, a4) _Py_Raise(a0, a1, a2, a3, a4) 483stmt_ty _Py_Raise(expr_ty exc, expr_ty cause, int lineno, int col_offset, 484 PyArena *arena); 485#define Try(a0, a1, a2, a3, a4, a5, a6) _Py_Try(a0, a1, a2, a3, a4, a5, a6) 486stmt_ty _Py_Try(asdl_seq * body, asdl_seq * handlers, asdl_seq * orelse, 487 asdl_seq * finalbody, int lineno, int col_offset, PyArena 488 *arena); 489#define Assert(a0, a1, a2, a3, a4) _Py_Assert(a0, a1, a2, a3, a4) 490stmt_ty _Py_Assert(expr_ty test, expr_ty msg, int lineno, int col_offset, 491 PyArena *arena); 492#define Import(a0, a1, a2, a3) _Py_Import(a0, a1, a2, a3) 493stmt_ty _Py_Import(asdl_seq * names, int lineno, int col_offset, PyArena 494 *arena); 495#define ImportFrom(a0, a1, a2, a3, a4, a5) _Py_ImportFrom(a0, a1, a2, a3, a4, a5) 496stmt_ty _Py_ImportFrom(identifier module, asdl_seq * names, int level, int 497 lineno, int col_offset, PyArena *arena); 498#define Global(a0, a1, a2, a3) _Py_Global(a0, a1, a2, a3) 499stmt_ty _Py_Global(asdl_seq * names, int lineno, int col_offset, PyArena 500 *arena); 501#define Nonlocal(a0, a1, a2, a3) _Py_Nonlocal(a0, a1, a2, a3) 502stmt_ty _Py_Nonlocal(asdl_seq * names, int lineno, int col_offset, PyArena 503 *arena); 504#define Expr(a0, a1, a2, a3) _Py_Expr(a0, a1, a2, a3) 505stmt_ty _Py_Expr(expr_ty value, int lineno, int col_offset, PyArena *arena); 506#define Pass(a0, a1, a2) _Py_Pass(a0, a1, a2) 507stmt_ty _Py_Pass(int lineno, int col_offset, PyArena *arena); 508#define Break(a0, a1, a2) _Py_Break(a0, a1, a2) 509stmt_ty _Py_Break(int lineno, int col_offset, PyArena *arena); 510#define Continue(a0, a1, a2) _Py_Continue(a0, a1, a2) 511stmt_ty _Py_Continue(int lineno, int col_offset, PyArena *arena); 512#define BoolOp(a0, a1, a2, a3, a4) _Py_BoolOp(a0, a1, a2, a3, a4) 513expr_ty _Py_BoolOp(boolop_ty op, asdl_seq * values, int lineno, int col_offset, 514 PyArena *arena); 515#define BinOp(a0, a1, a2, a3, a4, a5) _Py_BinOp(a0, a1, a2, a3, a4, a5) 516expr_ty _Py_BinOp(expr_ty left, operator_ty op, expr_ty right, int lineno, int 517 col_offset, PyArena *arena); 518#define UnaryOp(a0, a1, a2, a3, a4) _Py_UnaryOp(a0, a1, a2, a3, a4) 519expr_ty _Py_UnaryOp(unaryop_ty op, expr_ty operand, int lineno, int col_offset, 520 PyArena *arena); 521#define Lambda(a0, a1, a2, a3, a4) _Py_Lambda(a0, a1, a2, a3, a4) 522expr_ty _Py_Lambda(arguments_ty args, expr_ty body, int lineno, int col_offset, 523 PyArena *arena); 524#define IfExp(a0, a1, a2, a3, a4, a5) _Py_IfExp(a0, a1, a2, a3, a4, a5) 525expr_ty _Py_IfExp(expr_ty test, expr_ty body, expr_ty orelse, int lineno, int 526 col_offset, PyArena *arena); 527#define Dict(a0, a1, a2, a3, a4) _Py_Dict(a0, a1, a2, a3, a4) 528expr_ty _Py_Dict(asdl_seq * keys, asdl_seq * values, int lineno, int 529 col_offset, PyArena *arena); 530#define Set(a0, a1, a2, a3) _Py_Set(a0, a1, a2, a3) 531expr_ty _Py_Set(asdl_seq * elts, int lineno, int col_offset, PyArena *arena); 532#define ListComp(a0, a1, a2, a3, a4) _Py_ListComp(a0, a1, a2, a3, a4) 533expr_ty _Py_ListComp(expr_ty elt, asdl_seq * generators, int lineno, int 534 col_offset, PyArena *arena); 535#define SetComp(a0, a1, a2, a3, a4) _Py_SetComp(a0, a1, a2, a3, a4) 536expr_ty _Py_SetComp(expr_ty elt, asdl_seq * generators, int lineno, int 537 col_offset, PyArena *arena); 538#define DictComp(a0, a1, a2, a3, a4, a5) _Py_DictComp(a0, a1, a2, a3, a4, a5) 539expr_ty _Py_DictComp(expr_ty key, expr_ty value, asdl_seq * generators, int 540 lineno, int col_offset, PyArena *arena); 541#define GeneratorExp(a0, a1, a2, a3, a4) _Py_GeneratorExp(a0, a1, a2, a3, a4) 542expr_ty _Py_GeneratorExp(expr_ty elt, asdl_seq * generators, int lineno, int 543 col_offset, PyArena *arena); 544#define Await(a0, a1, a2, a3) _Py_Await(a0, a1, a2, a3) 545expr_ty _Py_Await(expr_ty value, int lineno, int col_offset, PyArena *arena); 546#define Yield(a0, a1, a2, a3) _Py_Yield(a0, a1, a2, a3) 547expr_ty _Py_Yield(expr_ty value, int lineno, int col_offset, PyArena *arena); 548#define YieldFrom(a0, a1, a2, a3) _Py_YieldFrom(a0, a1, a2, a3) 549expr_ty _Py_YieldFrom(expr_ty value, int lineno, int col_offset, PyArena 550 *arena); 551#define Compare(a0, a1, a2, a3, a4, a5) _Py_Compare(a0, a1, a2, a3, a4, a5) 552expr_ty _Py_Compare(expr_ty left, asdl_int_seq * ops, asdl_seq * comparators, 553 int lineno, int col_offset, PyArena *arena); 554#define Call(a0, a1, a2, a3, a4, a5) _Py_Call(a0, a1, a2, a3, a4, a5) 555expr_ty _Py_Call(expr_ty func, asdl_seq * args, asdl_seq * keywords, int 556 lineno, int col_offset, PyArena *arena); 557#define Num(a0, a1, a2, a3) _Py_Num(a0, a1, a2, a3) 558expr_ty _Py_Num(object n, int lineno, int col_offset, PyArena *arena); 559#define Str(a0, a1, a2, a3) _Py_Str(a0, a1, a2, a3) 560expr_ty _Py_Str(string s, int lineno, int col_offset, PyArena *arena); 561#define FormattedValue(a0, a1, a2, a3, a4, a5) _Py_FormattedValue(a0, a1, a2, a3, a4, a5) 562expr_ty _Py_FormattedValue(expr_ty value, int conversion, expr_ty format_spec, 563 int lineno, int col_offset, PyArena *arena); 564#define JoinedStr(a0, a1, a2, a3) _Py_JoinedStr(a0, a1, a2, a3) 565expr_ty _Py_JoinedStr(asdl_seq * values, int lineno, int col_offset, PyArena 566 *arena); 567#define Bytes(a0, a1, a2, a3) _Py_Bytes(a0, a1, a2, a3) 568expr_ty _Py_Bytes(bytes s, int lineno, int col_offset, PyArena *arena); 569#define NameConstant(a0, a1, a2, a3) _Py_NameConstant(a0, a1, a2, a3) 570expr_ty _Py_NameConstant(singleton value, int lineno, int col_offset, PyArena 571 *arena); 572#define Ellipsis(a0, a1, a2) _Py_Ellipsis(a0, a1, a2) 573expr_ty _Py_Ellipsis(int lineno, int col_offset, PyArena *arena); 574#define Constant(a0, a1, a2, a3) _Py_Constant(a0, a1, a2, a3) 575expr_ty _Py_Constant(constant value, int lineno, int col_offset, PyArena 576 *arena); 577#define Attribute(a0, a1, a2, a3, a4, a5) _Py_Attribute(a0, a1, a2, a3, a4, a5) 578expr_ty _Py_Attribute(expr_ty value, identifier attr, expr_context_ty ctx, int 579 lineno, int col_offset, PyArena *arena); 580#define Subscript(a0, a1, a2, a3, a4, a5) _Py_Subscript(a0, a1, a2, a3, a4, a5) 581expr_ty _Py_Subscript(expr_ty value, slice_ty slice, expr_context_ty ctx, int 582 lineno, int col_offset, PyArena *arena); 583#define Starred(a0, a1, a2, a3, a4) _Py_Starred(a0, a1, a2, a3, a4) 584expr_ty _Py_Starred(expr_ty value, expr_context_ty ctx, int lineno, int 585 col_offset, PyArena *arena); 586#define Name(a0, a1, a2, a3, a4) _Py_Name(a0, a1, a2, a3, a4) 587expr_ty _Py_Name(identifier id, expr_context_ty ctx, int lineno, int 588 col_offset, PyArena *arena); 589#define List(a0, a1, a2, a3, a4) _Py_List(a0, a1, a2, a3, a4) 590expr_ty _Py_List(asdl_seq * elts, expr_context_ty ctx, int lineno, int 591 col_offset, PyArena *arena); 592#define Tuple(a0, a1, a2, a3, a4) _Py_Tuple(a0, a1, a2, a3, a4) 593expr_ty _Py_Tuple(asdl_seq * elts, expr_context_ty ctx, int lineno, int 594 col_offset, PyArena *arena); 595#define Slice(a0, a1, a2, a3) _Py_Slice(a0, a1, a2, a3) 596slice_ty _Py_Slice(expr_ty lower, expr_ty upper, expr_ty step, PyArena *arena); 597#define ExtSlice(a0, a1) _Py_ExtSlice(a0, a1) 598slice_ty _Py_ExtSlice(asdl_seq * dims, PyArena *arena); 599#define Index(a0, a1) _Py_Index(a0, a1) 600slice_ty _Py_Index(expr_ty value, PyArena *arena); 601#define comprehension(a0, a1, a2, a3) _Py_comprehension(a0, a1, a2, a3) 602comprehension_ty _Py_comprehension(expr_ty target, expr_ty iter, asdl_seq * 603 ifs, PyArena *arena); 604#define ExceptHandler(a0, a1, a2, a3, a4, a5) _Py_ExceptHandler(a0, a1, a2, a3, a4, a5) 605excepthandler_ty _Py_ExceptHandler(expr_ty type, identifier name, asdl_seq * 606 body, int lineno, int col_offset, PyArena 607 *arena); 608#define arguments(a0, a1, a2, a3, a4, a5, a6) _Py_arguments(a0, a1, a2, a3, a4, a5, a6) 609arguments_ty _Py_arguments(asdl_seq * args, arg_ty vararg, asdl_seq * 610 kwonlyargs, asdl_seq * kw_defaults, arg_ty kwarg, 611 asdl_seq * defaults, PyArena *arena); 612#define arg(a0, a1, a2, a3, a4) _Py_arg(a0, a1, a2, a3, a4) 613arg_ty _Py_arg(identifier arg, expr_ty annotation, int lineno, int col_offset, 614 PyArena *arena); 615#define keyword(a0, a1, a2) _Py_keyword(a0, a1, a2) 616keyword_ty _Py_keyword(identifier arg, expr_ty value, PyArena *arena); 617#define alias(a0, a1, a2) _Py_alias(a0, a1, a2) 618alias_ty _Py_alias(identifier name, identifier asname, PyArena *arena); 619#define withitem(a0, a1, a2) _Py_withitem(a0, a1, a2) 620withitem_ty _Py_withitem(expr_ty context_expr, expr_ty optional_vars, PyArena 621 *arena); 622 623PyObject* PyAST_mod2obj(mod_ty t); 624mod_ty PyAST_obj2mod(PyObject* ast, PyArena* arena, int mode); 625int PyAST_Check(PyObject* obj); 626