37# include <gtest/gtest.h>
51 explicit Tracked_Object(std::string
value =
"")
61 int Tracked_Object::destroyed = 0;
67 Tracked_Object::destroyed = 0;
70 auto * first = ctx.
make<Tracked_Object>(
"a");
71 auto * second = ctx.
make<Tracked_Object>(
"b");
93 Compiler_Token_Kind::Plus,
102 body->statements.append(
ret);
112 auto *
module = ctx.make<Compiler_Module>();
113 module->functions.append(fn);
Arena-backed AST node model for the compiler-support MVP.
size_t size_t int32_t value
Arena-backed ownership context for AST nodes.
size_t allocated_size() const noexcept
Returns the total bytes currently used in the arena.
T * make(Args &&...args)
Allocates and constructs an AST node of type T.
void reset() noexcept
Reclaims all memory and destroys managed nodes.
size_t blossom_maximum_cardinality_matching(const GT &g, DynDlist< typename GT::Arc * > &matching, SA sa=SA())
Alias of compute_maximum_cardinality_general_matching().
Main namespace for Aleph-w library functions.
std::string compiler_dump_module(const Compiler_Module *module)
Dumps a parsed module in a deterministic text format.
std::string compiler_dump_expr(const Compiler_Expr *expr)
Dumps an expression subtree in a deterministic text format.
T sum(const Container &container, const T &init=T{})
Compute sum of all elements.
Node representing an infix binary operation.
Node representing a braced sequence of statements.
Node representing a top-level function declaration.
DynArray< Compiler_Param > parameters
Ordered list of parameters.
Node representing a named identifier reference.
Node representing a literal value.
Node representing a return from the current function.
Half-open byte range inside a source file.