Method Summary |
|
public Scope | current() Get the current scope. |
public void | delete(String name) Delete the scope with the specified unqualified name. |
public void | enter(String name) Enter the scope with the specified unqualified name. |
public void | enter(Node n) Enter the specified node. |
public void | exit() Exit the current scope. |
public void | exit(Node n) Exit the specified node. |
public String | freshCId() Create a fresh C identifier. |
public String | freshCId(String base) Create a fresh C identifier incorporating the specified base
name. |
public String | freshJavaId() Create a fresh Java identifier. |
public String | freshJavaId(String base) Create a fresh Java identifier incorporating the specified base
name. |
public String | freshName() Create a fresh name. |
public String | freshName(String base) Create a fresh name incorporating the specified base name. |
public static String | fromNameSpace(String symbol) Convert the specified unqualified symbol within a name space to a
symbol without a name space.
Parameters: symbol - The mangled symbol within a name space. |
public Scope | getScope(String name) Get the scope with the specified qualified name.
Parameters: name - The qualified name. |
public static boolean | hasScope(Node n) Determine whether the specified node has an associated
Constants.SCOPE scope .
Parameters: n - The node. |
public boolean | isDefined(String symbol) Determine whether the specified symbol is defined. |
public boolean | isDefinedMultiply(String symbol) Determine whether the specified symbol is define multiple times.
If the symbol is qualified, this method checks whether the symbol
has multiple definitions in the named scope. |
public static boolean | isFunctionScopeName(String name) Determine whether the specified scope name represents a
function's scope.
Parameters: name - The name. |
public static boolean | isInNameSpace(String symbol, String space) Determine whether the specified symbol is in the specified name
space.
Parameters: symbol - The symbol. Parameters: space - The name space. |
public static boolean | isMacroScopeName(String name) Determine whether the specified scope name represents a macro's
scope.
Parameters: name - The name. |
public Object | lookup(String symbol) Get the value for the specified symbol. |
public Scope | lookupScope(String symbol) Get the scope for the specified symbol. |
public void | mark(Node n) Mark the specified node. |
public void | reset() Clear this symbol table. |
public Scope | root() Get the root scope. |
public void | setScope(Scope scope) Set the current scope to the specified scope. |
public static String | toFunctionScopeName(String id) Convert the specified C function identifier into a symbol table
scope name.
Parameters: id - The function identifier. |
public static String | toLabelName(String id) Convert the specified label identifier into a symbol table name.
Parameters: id - The identifier. |
public static String | toMacroScopeName(String id) Conver the specified C macro identifier into a symbol table scope
name.
Parameters: id - The macro identifier. |
public static String | toMethodName(String id) Convert the specified method identifier into a symbol table name.
Parameters: id - The method identifier. |
public static String | toNameSpace(String symbol, String space) Convert the specified unqualified symbol to a symbol in the
specified name space.
Parameters: symbol - The symbol Parameters: space - The name space. |
public static String | toTagName(String tag) Convert the specified C struct, union, or enum tag into a symbol
table name.
Parameters: tag - The tag. |