47 (
void) bindings.
declare(Compiler_Symbol_Kind::Function,
"add", {});
49 bindings.enter_scope();
50 const auto shadow = bindings.declare(Compiler_Symbol_Kind::Local,
"add", {});
52 std::cout << bindings.dump_symbols();
53 std::cout <<
"Shadowing: " << (shadow.shadowing() ?
"yes" :
"no") <<
'\n';
Reusable lexical bindings and symbol records for frontends.
Reusable lexical symbol table with stable ids and scope tracking.
Compiler_Symbol_Declare_Result declare(const Compiler_Symbol_Kind kind, const std::string &name, const Source_Span &span)
Declares one symbol in the current scope.
size_t enter_scope()
Enters one nested lexical scope.
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.