declare the given symbol in the local scope using the given encoded name.
declare a nested scope
find the encoded name declared in this scope and return a set of matching symbols.
find a nested scope by declaration
Remove the given symbol from the scope.
declare a 'using' directive.
ScopeTable provides a mapping from scope nodes to Scopes, which can be used to traverse the scope tree in parallel with the associated parse tree.
SymbolTable provides a mapping from (encoded) names to Symbols declared in this scope.