com.jogamp.gluegen.cgram
Class CSymbolTable

java.lang.Object
  extended by com.jogamp.gluegen.cgram.CSymbolTable

public class CSymbolTable
extends Object


Constructor Summary
CSymbolTable()
           
 
Method Summary
 TNode add(String name, TNode node)
          add a node to the table with it's key as the current scope and the name
 String addCurrentScopeToName(String name)
          given a name for a type, append it with the current scope.
 String addScopeToName(String scope, String name)
          given a name for a type, append it with the given scope.
 String currentScopeAsString()
          return the current scope as a string
 TNode lookupNameInCurrentScope(String name)
          lookup an unscoped name in the table by prepending the current scope.
 TNode lookupScopedName(String scopedName)
          lookup a fully scoped name in the symbol table
 void popScope()
          pop the last scope off the scope stack.
 void pushScope(String s)
          push a new scope onto the scope stack.
 String removeOneLevelScope(String scopeName)
          remove one level of scope from name MBZ
 String toString()
          convert this table to a string
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CSymbolTable

public CSymbolTable()
Method Detail

pushScope

public void pushScope(String s)
push a new scope onto the scope stack.


popScope

public void popScope()
pop the last scope off the scope stack.


currentScopeAsString

public String currentScopeAsString()
return the current scope as a string


addCurrentScopeToName

public String addCurrentScopeToName(String name)
given a name for a type, append it with the current scope.


addScopeToName

public String addScopeToName(String scope,
                             String name)
given a name for a type, append it with the given scope. MBZ


removeOneLevelScope

public String removeOneLevelScope(String scopeName)
remove one level of scope from name MBZ


add

public TNode add(String name,
                 TNode node)
add a node to the table with it's key as the current scope and the name


lookupScopedName

public TNode lookupScopedName(String scopedName)
lookup a fully scoped name in the symbol table


lookupNameInCurrentScope

public TNode lookupNameInCurrentScope(String name)
lookup an unscoped name in the table by prepending the current scope. MBZ -- if not found, pop scopes and look again


toString

public String toString()
convert this table to a string

Overrides:
toString in class Object