com.voytechs.jnetstream.npl
Class SymTable

java.lang.Object
  extended by com.voytechs.jnetstream.npl.SymTable

public class SymTable
extends java.lang.Object


Nested Class Summary
 class SymTable.Symbol
          Inner class that defines SymTable entries.
 
Field Summary
protected  java.util.Map children
           
static java.lang.String DELIMITER
           
protected  SymTable parent
           
static java.lang.String PARENT_REFERENCE
           
protected  java.util.Map saveState
           
static java.lang.String SELF_REFERENCE
           
 
Constructor Summary
SymTable(java.lang.String name)
           
SymTable(java.lang.String name, SymTable parent)
           
 
Method Summary
protected  void addChild(SymTable sym)
           
 void addSymbol(java.lang.String name, int type, Node definition)
           
 void addSymbol(java.lang.String name, Node definition)
           
 void clearContext()
           
 boolean contains(java.lang.String name)
           
 SymTable getChild(java.lang.String name)
           
 Context getContext()
           
 java.lang.String getName()
           
protected  SymTable.Symbol getSymbol(java.lang.String name)
           
 java.util.Iterator getSymbols()
           
protected  SymTable.Symbol lookup(java.lang.String[] path, int index)
           
 SymTable.Symbol lookupSymbol(java.lang.String name)
           
protected  SymTable lookupSymTable(java.lang.String[] path, int index)
           
 SymTable lookupSymTable(java.lang.String name, boolean dropLastElement)
           
static void main(java.lang.String[] args)
          Test function for SymTable
static java.lang.String parseLastElement(java.lang.String name)
           
 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.
 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.
 void setContext(Context context)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

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
Constructor Detail

SymTable

public SymTable(java.lang.String name)

SymTable

public SymTable(java.lang.String name,
                SymTable parent)
Method Detail

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