Python-ast.h 21 KB

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