ctu_t * ctu_stmt_return(scan_t *scan, where_t where, ctu_t *value)
ctu_t * ctu_expr_name(scan_t *scan, where_t where, const vector_t *path)
ctu_t * ctu_expr_init(scan_t *scan, where_t where, const vector_t *inits)
ctu_t * ctu_expr_char(scan_t *scan, where_t where, char *text, size_t length)
ctu_t * ctu_expr_field_indirect(scan_t *scan, where_t where, ctu_t *expr, char *field)
ctu_t * ctu_builtin_alignof(scan_t *scan, where_t where, ctu_t *type)
ctu_t * ctu_stmt_branch(scan_t *scan, where_t where, ctu_t *cond, ctu_t *then, ctu_t *other)
ctu_t * ctu_expr_deref(scan_t *scan, where_t where, ctu_t *expr)
ctu_t * ctu_variant_case(scan_t *scan, where_t where, char *name, bool is_default, ctu_t *expr)
ctu_t * ctu_stmt_break(scan_t *scan, where_t where, char *label)
ctu_t * ctu_expr_cast(scan_t *scan, where_t where, ctu_t *expr, ctu_t *type)
ctu_t * ctu_expr_ref(scan_t *scan, where_t where, ctu_t *expr)
ctu_t * ctu_import(scan_t *scan, where_t where, vector_t *path, char *name)
ctu_t * ctu_expr_binary(scan_t *scan, where_t where, binary_t binary, ctu_t *lhs, ctu_t *rhs)
ctu_t * ctu_decl_struct(scan_t *scan, where_t where, bool exported, char *name, vector_t *fields)
ctu_t * ctu_apply(ctu_t *decl, const vector_t *attribs)
ctu_t * ctu_expr_compare(scan_t *scan, where_t where, compare_t compare, ctu_t *lhs, ctu_t *rhs)
ctu_t * ctu_type_array(scan_t *scan, where_t where, ctu_t *array, ctu_t *length)
ctu_t * ctu_expr_index(scan_t *scan, where_t where, ctu_t *expr, ctu_t *index)
ctu_t * ctu_decl_variant(scan_t *scan, where_t where, bool exported, char *name, ctu_t *underlying, const vector_t *cases)
ctu_t * ctu_type_name(scan_t *scan, where_t where, vector_t *path)
ctu_t * ctu_expr_string(scan_t *scan, where_t where, char *text, size_t length)
ctu_t * ctu_field_init(scan_t *scan, where_t where, char *name, ctu_t *value)
ctu_t * ctu_expr_int(scan_t *scan, where_t where, ctu_integer_t value)
ctu_t * ctu_type_const(scan_t *scan, where_t where, ctu_t *type)
ctu_t * ctu_type_pointer(scan_t *scan, where_t where, ctu_t *pointer, bool array)
ctu_t * ctu_module(scan_t *scan, where_t where, const vector_t *modspec, const vector_t *imports, const vector_t *decls)
ctu_t * ctu_param(scan_t *scan, where_t where, char *name, ctu_t *type)
ctu_t * ctu_builtin_sizeof(scan_t *scan, where_t where, ctu_t *type)
ctu_t * ctu_field(scan_t *scan, where_t where, char *name, ctu_t *type)
ctu_t * ctu_stmt_continue(scan_t *scan, where_t where, char *label)
ctu_t * ctu_stmt_assign(scan_t *scan, where_t where, ctu_t *dst, ctu_t *src)
ctu_t * ctu_stmt_local(scan_t *scan, where_t where, bool mutable, char *name, ctu_t *type, ctu_t *value)
ctu_t * ctu_stmt_list(scan_t *scan, where_t where, vector_t *stmts)
ctu_t * ctu_builtin_offsetof(scan_t *scan, where_t where, ctu_t *type, char *field)
ctu_t * ctu_expr_unary(scan_t *scan, where_t where, unary_t unary, ctu_t *expr)
ctu_t * ctu_expr_call(scan_t *scan, where_t where, ctu_t *callee, const vector_t *args)
ctu_t * ctu_expr_bool(scan_t *scan, where_t where, bool value)
ctu_t * ctu_decl_union(scan_t *scan, where_t where, bool exported, char *name, vector_t *fields)
ctu_t * ctu_type_function(scan_t *scan, where_t where, const vector_t *params, ctu_t *return_type)
ctu_t * ctu_decl_function(scan_t *scan, where_t where, bool exported, char *name, const vector_t *params, char *variadic, ctu_t *return_type, ctu_t *body)
ctu_t * ctu_attrib(scan_t *scan, where_t where, const vector_t *path, const vector_t *args)
ctu_t * ctu_decl_global(scan_t *scan, where_t where, bool exported, bool mutable, char *name, ctu_t *type, ctu_t *value)
ctu_params_t ctu_params_new(const vector_t *params, char *variadic)
ctu_t * ctu_decl_typealias(scan_t *scan, where_t where, bool exported, char *name, bool newtype, ctu_t *type)
ctu_t * ctu_expr_field(scan_t *scan, where_t where, ctu_t *expr, char *field)
ctu_t * ctu_stmt_while(scan_t *scan, where_t where, char *name, ctu_t *cond, ctu_t *then, ctu_t *other)
binary_t
all binary operators
unary_t
all unary operators
compare_t
all comparison operators
const vector_t * attrib_path
const vector_t * import_path
const vector_t * attrib_args
a position in a source file
a generic vector of pointers
a location inside a scanner locations are inclusive and 0-based