34 Exp* a = mp_calloc2(p,
sizeof(
Exp));
54 StmtList *code = new_stmtlist(p, 1);
56 stmtlist_set(code, 0, stmt);
130 Exp* a = new_prim(p, loc);
137 Exp* a = new_prim(p, loc);
144 Exp* a = new_prim(p, loc);
152 Exp* a = new_prim(p, loc);
158 Exp* a = new_prim(p, loc);
166 Exp* a = new_prim(p, loc);
174 Exp* a = new_prim(p, loc);
181 Exp* a = new_prim(p, loc);
188 Exp* a = new_prim(p, loc);
195 Exp* a = new_prim(p, loc);
202 Exp* a = new_prim(p, loc);
209 Exp* a = new_prim(p, loc);
224 Exp* a = new_exp_unary_base(p, oper, loc);
233 Exp* a = new_exp_unary_base(p, oper, loc);
243 Exp* a = new_exp_unary_base(p, oper, loc);
276 ArgList *args,
const ae_flag flag,
const loc_t loc) {
332 Stmt* a = new_stmt(p, type, loc);
344 Stmt* a = mp_calloc2(p,
sizeof(
Stmt));
351 const bool is_do,
const loc_t loc) {
352 Stmt* a = new_stmt(p, type, loc);
430#define mk_section(Type, name, sec_type) \
431 AST_NEW(Section *, section_##name, Type name) { \
432 Section *a = mp_calloc(p, Section); \
433 a->section_type = ae_section_##sec_type; \
457 a->
flag = class_decl;
468 a->
flag = class_decl;
#define MK_STMT_RETURN(_pos, _exp)
#define AST_NEW(type, name,...)
struct Var_Decl_ Var_Decl
ANEW const Type_Decl Exp * exp
static ANN void exp_setmeta(Exp *e, const bool val)
static ANN int exp_getmeta(const Exp *e)
ANN Stmt * cpy_stmt3(MemPool p, const Stmt *src)
Array_Sub prepend_array_sub(const Array_Sub a, Exp *exp)
Func_Def new_func_def(MemPool p, Func_Base *base, StmtList *code)
#define mk_section(Type, name, sec_type)
include this file to use gwion-ast library
union Exp_Primary::prim_data d
enum unary_type unary_type
union Func_Def_::func_def_data d
Exp * end
end of range expression
Exp * start
start of range expression
struct StmtList * stmt_list
struct Stmt_Loop_ stmt_loop
struct Stmt_Defer_ stmt_defer
struct Stmt_Try_ stmt_try
struct Stmt_Each_ stmt_each
struct Stmt_Code_ stmt_code
struct Stmt_For_ stmt_for
struct Stmt_Flow_ stmt_flow
struct Stmt_Exp_ stmt_exp