coins.backend.sym
クラス SymTab

java.lang.Object
  |
  +--coins.backend.sym.SymTab

public class SymTab
extends java.lang.Object

Symbol table.


コンストラクタの概要
SymTab(Module mod)
          Create empty symbol table.
 
メソッドの概要
 Symbol addSymbol(ImList arg)
          Parse new symbol from list argument and register it
 Symbol addSymbol(java.lang.String name, int storage, int type, int boundary, int offset, ImList opt)
          Register FRAME/REG symbol entry.
 Symbol addSymbol(java.lang.String name, int storage, int type, int boundary, java.lang.String segment, java.lang.String linkage, ImList opt)
          Register STATIC symbol entry.
 Symbol addSymbol(Symbol original, int type)
          Register temporary symbol entry.
 void clear()
          Clear symbol table.
 Symbol get(java.lang.String name)
          Find a symbol with key name.
 int idBound()
          Return max id of the symbol + 1.
 java.util.Iterator iterator()
          Return an iterator for accessing symbol entries.
 void makeReverseIndex(Symbol[] vec)
          Set up reverse index table.
 void printIt(java.io.PrintWriter out)
          Dump symbol table
 void printIt(java.io.PrintWriter out, boolean printReg)
          Dump symbol table
 void printStandardForm(java.io.PrintWriter out, java.lang.String indent)
          Print symbol table in standard form
 void remove(java.lang.String name)
          Remove symbol entry
 void remove(Symbol sym)
          Remove symbol entry
 void sanitize()
          Remove overridden entries from list.
 BiList symbols()
          Return the list of symbol entries.
 java.lang.Object toSexp()
          Convert to external LIR format.
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

SymTab

public SymTab(Module mod)
Create empty symbol table.

メソッドの詳細

clear

public void clear()
Clear symbol table.


addSymbol

public Symbol addSymbol(java.lang.String name,
                        int storage,
                        int type,
                        int boundary,
                        java.lang.String segment,
                        java.lang.String linkage,
                        ImList opt)
Register STATIC symbol entry.


addSymbol

public Symbol addSymbol(java.lang.String name,
                        int storage,
                        int type,
                        int boundary,
                        int offset,
                        ImList opt)
Register FRAME/REG symbol entry.


addSymbol

public Symbol addSymbol(Symbol original,
                        int type)
Register temporary symbol entry.


addSymbol

public Symbol addSymbol(ImList arg)
                 throws SyntaxError
Parse new symbol from list argument and register it

SyntaxError

get

public Symbol get(java.lang.String name)
Find a symbol with key name.


remove

public void remove(java.lang.String name)
Remove symbol entry


remove

public void remove(Symbol sym)
Remove symbol entry


sanitize

public void sanitize()
Remove overridden entries from list.


symbols

public BiList symbols()
Return the list of symbol entries.


iterator

public java.util.Iterator iterator()
Return an iterator for accessing symbol entries.


makeReverseIndex

public void makeReverseIndex(Symbol[] vec)
Set up reverse index table.


idBound

public int idBound()
Return max id of the symbol + 1.


printStandardForm

public void printStandardForm(java.io.PrintWriter out,
                              java.lang.String indent)
Print symbol table in standard form


toSexp

public java.lang.Object toSexp()
Convert to external LIR format.


printIt

public void printIt(java.io.PrintWriter out)
Dump symbol table


printIt

public void printIt(java.io.PrintWriter out,
                    boolean printReg)
Dump symbol table