Python-ast.h 20 KB

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