A Scope contains symbol definitions.
declare the given symbol in the local scope using the given encoded name.
find the encoded name declared in this scope and return a set of matching symbols.
look up the encoded name and return a set of matching symbols.
SymbolTable provides a mapping from (encoded) names to Symbols declared in this scope.
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.
declare the given symbol in the local scope using the given encoded name.
declare a 'using' directive. The default implementation raises an exception, as it is only well-formed when the current scope is a function scope or a namespace.
find a nested scope by symbol. The encoded name is provided for diagnostic purposes only.
find the encoded name declared in this scope and return a set of matching symbols.
Remove the given symbol from the scope. s shall not be used after its removal.
look up the encoded name and return a set of matching symbols.
SymbolTable provides a mapping from (encoded) names to Symbols declared in this scope.
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. As this traversal is also done during the parsing, the scopes can not be const.
synopsis (version 0.10)