|
Lime Parser Generator 0.1.0
Runtime-extensible LALR(1) parser with SIMD tokenization and LLVM JIT
|
Arena allocator for AST nodes. More...
#include <lime_ast.h>
Data Fields | |
| char * | base |
| Base pointer of the current block. | |
| size_t | capacity |
| Total bytes in the current block. | |
| struct LimeArena * | next |
| Next block in the linked list of blocks. | |
| size_t | used |
| Bytes used in the current block. | |
Arena allocator for AST nodes.
Allocates from large contiguous blocks, freeing everything at once. Ideal for parse trees that are built once and freed together as a unit.
Definition at line 17 of file lime_ast.h.
| char* LimeArena::base |
Base pointer of the current block.
Definition at line 18 of file lime_ast.h.
| size_t LimeArena::capacity |
Total bytes in the current block.
Definition at line 20 of file lime_ast.h.
| struct LimeArena* LimeArena::next |
Next block in the linked list of blocks.
Definition at line 21 of file lime_ast.h.
| size_t LimeArena::used |
Bytes used in the current block.
Definition at line 19 of file lime_ast.h.