Python-ast.h 21 KB

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