@@ -328,81 +328,79 @@ struct _alias {
328328};
329329330330331-mod_tyModule(asdl_seq*body);
332-mod_tyInteractive(asdl_seq*body);
333-mod_tyExpression(expr_tybody);
334-mod_tySuite(asdl_seq*body);
331+mod_tyModule(asdl_seq*body, PyArena*arena);
332+mod_tyInteractive(asdl_seq*body, PyArena*arena);
333+mod_tyExpression(expr_tybody, PyArena*arena);
334+mod_tySuite(asdl_seq*body, PyArena*arena);
335335stmt_tyFunctionDef(identifiername, arguments_tyargs, asdl_seq*body,
336-asdl_seq*decorators, intlineno);
336+asdl_seq*decorators, intlineno, PyArena*arena);
337337stmt_tyClassDef(identifiername, asdl_seq*bases, asdl_seq*body, int
338-lineno);
339-stmt_tyReturn(expr_tyvalue, intlineno);
340-stmt_tyDelete(asdl_seq*targets, intlineno);
341-stmt_tyAssign(asdl_seq*targets, expr_tyvalue, intlineno);
342-stmt_tyAugAssign(expr_tytarget, operator_tyop, expr_tyvalue, intlineno);
343-stmt_tyPrint(expr_tydest, asdl_seq*values, boolnl, intlineno);
338+lineno, PyArena*arena);
339+stmt_tyReturn(expr_tyvalue, intlineno, PyArena*arena);
340+stmt_tyDelete(asdl_seq*targets, intlineno, PyArena*arena);
341+stmt_tyAssign(asdl_seq*targets, expr_tyvalue, intlineno, PyArena*arena);
342+stmt_tyAugAssign(expr_tytarget, operator_tyop, expr_tyvalue, intlineno,
343+PyArena*arena);
344+stmt_tyPrint(expr_tydest, asdl_seq*values, boolnl, intlineno, PyArena
345+*arena);
344346stmt_tyFor(expr_tytarget, expr_tyiter, asdl_seq*body, asdl_seq*orelse,
345-intlineno);
346-stmt_tyWhile(expr_tytest, asdl_seq*body, asdl_seq*orelse, intlineno);
347-stmt_tyIf(expr_tytest, asdl_seq*body, asdl_seq*orelse, intlineno);
348-stmt_tyRaise(expr_tytype, expr_tyinst, expr_tytback, intlineno);
347+intlineno, PyArena*arena);
348+stmt_tyWhile(expr_tytest, asdl_seq*body, asdl_seq*orelse, intlineno,
349+PyArena*arena);
350+stmt_tyIf(expr_tytest, asdl_seq*body, asdl_seq*orelse, intlineno,
351+PyArena*arena);
352+stmt_tyRaise(expr_tytype, expr_tyinst, expr_tytback, intlineno, PyArena
353+*arena);
349354stmt_tyTryExcept(asdl_seq*body, asdl_seq*handlers, asdl_seq*orelse, int
350-lineno);
351-stmt_tyTryFinally(asdl_seq*body, asdl_seq*finalbody, intlineno);
352-stmt_tyAssert(expr_tytest, expr_tymsg, intlineno);
353-stmt_tyImport(asdl_seq*names, intlineno);
354-stmt_tyImportFrom(identifiermodule, asdl_seq*names, intlineno);
355-stmt_tyExec(expr_tybody, expr_tyglobals, expr_tylocals, intlineno);
356-stmt_tyGlobal(asdl_seq*names, intlineno);
357-stmt_tyExpr(expr_tyvalue, intlineno);
358-stmt_tyPass(intlineno);
359-stmt_tyBreak(intlineno);
360-stmt_tyContinue(intlineno);
361-expr_tyBoolOp(boolop_tyop, asdl_seq*values, intlineno);
362-expr_tyBinOp(expr_tyleft, operator_tyop, expr_tyright, intlineno);
363-expr_tyUnaryOp(unaryop_tyop, expr_tyoperand, intlineno);
364-expr_tyLambda(arguments_tyargs, expr_tybody, intlineno);
365-expr_tyDict(asdl_seq*keys, asdl_seq*values, intlineno);
366-expr_tyListComp(expr_tyelt, asdl_seq*generators, intlineno);
367-expr_tyGeneratorExp(expr_tyelt, asdl_seq*generators, intlineno);
368-expr_tyYield(expr_tyvalue, intlineno);
355+lineno, PyArena*arena);
356+stmt_tyTryFinally(asdl_seq*body, asdl_seq*finalbody, intlineno, PyArena
357+*arena);
358+stmt_tyAssert(expr_tytest, expr_tymsg, intlineno, PyArena*arena);
359+stmt_tyImport(asdl_seq*names, intlineno, PyArena*arena);
360+stmt_tyImportFrom(identifiermodule, asdl_seq*names, intlineno, PyArena
361+*arena);
362+stmt_tyExec(expr_tybody, expr_tyglobals, expr_tylocals, intlineno, PyArena
363+*arena);
364+stmt_tyGlobal(asdl_seq*names, intlineno, PyArena*arena);
365+stmt_tyExpr(expr_tyvalue, intlineno, PyArena*arena);
366+stmt_tyPass(intlineno, PyArena*arena);
367+stmt_tyBreak(intlineno, PyArena*arena);
368+stmt_tyContinue(intlineno, PyArena*arena);
369+expr_tyBoolOp(boolop_tyop, asdl_seq*values, intlineno, PyArena*arena);
370+expr_tyBinOp(expr_tyleft, operator_tyop, expr_tyright, intlineno, PyArena
371+*arena);
372+expr_tyUnaryOp(unaryop_tyop, expr_tyoperand, intlineno, PyArena*arena);
373+expr_tyLambda(arguments_tyargs, expr_tybody, intlineno, PyArena*arena);
374+expr_tyDict(asdl_seq*keys, asdl_seq*values, intlineno, PyArena*arena);
375+expr_tyListComp(expr_tyelt, asdl_seq*generators, intlineno, PyArena
376+*arena);
377+expr_tyGeneratorExp(expr_tyelt, asdl_seq*generators, intlineno, PyArena
378+*arena);
379+expr_tyYield(expr_tyvalue, intlineno, PyArena*arena);
369380expr_tyCompare(expr_tyleft, asdl_seq*ops, asdl_seq*comparators, int
370-lineno);
381+lineno, PyArena*arena);
371382expr_tyCall(expr_tyfunc, asdl_seq*args, asdl_seq*keywords, expr_ty
372-starargs, expr_tykwargs, intlineno);
373-expr_tyRepr(expr_tyvalue, intlineno);
374-expr_tyNum(objectn, intlineno);
375-expr_tyStr(strings, intlineno);
383+starargs, expr_tykwargs, intlineno, PyArena*arena);
384+expr_tyRepr(expr_tyvalue, intlineno, PyArena*arena);
385+expr_tyNum(objectn, intlineno, PyArena*arena);
386+expr_tyStr(strings, intlineno, PyArena*arena);
376387expr_tyAttribute(expr_tyvalue, identifierattr, expr_context_tyctx, int
377-lineno);
388+lineno, PyArena*arena);
378389expr_tySubscript(expr_tyvalue, slice_tyslice, expr_context_tyctx, int
379-lineno);
380-expr_tyName(identifierid, expr_context_tyctx, intlineno);
381-expr_tyList(asdl_seq*elts, expr_context_tyctx, intlineno);
382-expr_tyTuple(asdl_seq*elts, expr_context_tyctx, intlineno);
383-slice_tyEllipsis(void);
384-slice_tySlice(expr_tylower, expr_tyupper, expr_tystep);
385-slice_tyExtSlice(asdl_seq*dims);
386-slice_tyIndex(expr_tyvalue);
387-comprehension_tycomprehension(expr_tytarget, expr_tyiter, asdl_seq*ifs);
388-excepthandler_tyexcepthandler(expr_tytype, expr_tyname, asdl_seq*body);
390+lineno, PyArena*arena);
391+expr_tyName(identifierid, expr_context_tyctx, intlineno, PyArena*arena);
392+expr_tyList(asdl_seq*elts, expr_context_tyctx, intlineno, PyArena*arena);
393+expr_tyTuple(asdl_seq*elts, expr_context_tyctx, intlineno, PyArena*arena);
394+slice_tyEllipsis(PyArena*arena);
395+slice_tySlice(expr_tylower, expr_tyupper, expr_tystep, PyArena*arena);
396+slice_tyExtSlice(asdl_seq*dims, PyArena*arena);
397+slice_tyIndex(expr_tyvalue, PyArena*arena);
398+comprehension_tycomprehension(expr_tytarget, expr_tyiter, asdl_seq*ifs,
399+PyArena*arena);
400+excepthandler_tyexcepthandler(expr_tytype, expr_tyname, asdl_seq*body,
401+PyArena*arena);
389402arguments_tyarguments(asdl_seq*args, identifiervararg, identifierkwarg,
390-asdl_seq*defaults);
391-keyword_tykeyword(identifierarg, expr_tyvalue);
392-alias_tyalias(identifiername, identifierasname);
393-394-voidfree_mod(mod_ty);
395-voidfree_stmt(stmt_ty);
396-voidfree_expr(expr_ty);
397-voidfree_expr_context(expr_context_ty);
398-voidfree_slice(slice_ty);
399-voidfree_boolop(boolop_ty);
400-voidfree_operator(operator_ty);
401-voidfree_unaryop(unaryop_ty);
402-voidfree_cmpop(cmpop_ty);
403-voidfree_comprehension(comprehension_ty);
404-voidfree_excepthandler(excepthandler_ty);
405-voidfree_arguments(arguments_ty);
406-voidfree_keyword(keyword_ty);
407-voidfree_alias(alias_ty);
403+asdl_seq*defaults, PyArena*arena);
404+keyword_tykeyword(identifierarg, expr_tyvalue, PyArena*arena);
405+alias_tyalias(identifiername, identifierasname, PyArena*arena);
408406