com.voytechs.jnetstream.npl
Class SymTable
java.lang.Object
com.voytechs.jnetstream.npl.SymTable
public class SymTable
- extends java.lang.Object
|
Nested Class Summary |
class |
SymTable.Symbol
Inner class that defines SymTable entries. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
SELF_REFERENCE
public static final java.lang.String SELF_REFERENCE
- See Also:
- Constant Field Values
PARENT_REFERENCE
public static final java.lang.String PARENT_REFERENCE
- See Also:
- Constant Field Values
DELIMITER
public static final java.lang.String DELIMITER
- See Also:
- Constant Field Values
parent
protected SymTable parent
children
protected java.util.Map children
saveState
protected java.util.Map saveState
SymTable
public SymTable(java.lang.String name)
SymTable
public SymTable(java.lang.String name,
SymTable parent)
saveState
public void saveState(java.lang.Object id)
- Saves the state of the sym table under a unique restore ID that
can be later used to identify the restore to be done.
- Parameters:
id - Restore ID under which to save the state of this sym table.
restoreState
public void restoreState(java.lang.Object id)
- Restores state of the sym table and its references to contexts
based on the id object passed to it.
Once restored, the saved state is removed and can not be referenced
again unless saved again under same ID.
- Parameters:
id - ID of the restore point that was previously done.
addChild
protected void addChild(SymTable sym)
getChild
public SymTable getChild(java.lang.String name)
getName
public java.lang.String getName()
getContext
public Context getContext()
setContext
public void setContext(Context context)
clearContext
public void clearContext()
addSymbol
public void addSymbol(java.lang.String name,
Node definition)
addSymbol
public void addSymbol(java.lang.String name,
int type,
Node definition)
parseLastElement
public static java.lang.String parseLastElement(java.lang.String name)
lookupSymTable
public SymTable lookupSymTable(java.lang.String name,
boolean dropLastElement)
lookupSymTable
protected SymTable lookupSymTable(java.lang.String[] path,
int index)
getSymbol
protected SymTable.Symbol getSymbol(java.lang.String name)
lookupSymbol
public SymTable.Symbol lookupSymbol(java.lang.String name)
lookup
protected SymTable.Symbol lookup(java.lang.String[] path,
int index)
contains
public boolean contains(java.lang.String name)
getSymbols
public java.util.Iterator getSymbols()
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
main
public static void main(java.lang.String[] args)
- Test function for SymTable
- Parameters:
args - command line arguments