25LimeArena *lime_arena_create(
size_t initial_size);
30void *lime_arena_alloc(
LimeArena *arena,
size_t size);
33void *lime_arena_calloc(
LimeArena *arena,
size_t size);
36char *lime_arena_strdup(
LimeArena *arena,
const char *s);
42size_t lime_arena_total_allocated(
const LimeArena *arena);
45size_t lime_arena_total_used(
const LimeArena *arena);
Arena allocator for AST nodes.
struct LimeArena * next
Next block in the linked list of blocks.
size_t capacity
Total bytes in the current block.
size_t used
Bytes used in the current block.
char * base
Base pointer of the current block.