|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objecttgl.compiler.SymbolTable
class SymbolTable
記号表のクラス。グローバル変数と手続きを保存するための大域的な記号表 globalTable と、局所変数と仮引数を保存するための局所的な記号表 localTable の2つを内部にもつ。
コンストラクタの概要 | |
---|---|
SymbolTable(CompileErrorHandler handler)
記号表のインスタンスを作成する。 |
メソッドの概要 | |
---|---|
(package private) ProcEntry |
addCommand(java.lang.String name,
int paramNum)
コマンドを記号表に globalTable に登録する。 |
(package private) ProcEntry |
addFunction(java.lang.String name,
int paramNum)
関数を記号表 globalTable に登録する。 |
(package private) VarEntry |
addGlobalVariable(java.lang.String name,
int loc)
グローバル変数を記号表 globalTable に登録する。 |
(package private) VarEntry |
addLocalVariable(java.lang.String name)
局所変数を記号表 localTable に登録する。 |
(package private) VarEntry |
addParameter(java.lang.String name)
仮引数を記号表 localTable に登録する。 |
(package private) void |
checkProgram()
プログラムのコンパイル終了後に、宣言済のユーザ手続きが すべて定義されたかどうかを調べる。 |
(package private) ProcEntry |
defineCommand(java.lang.String name)
コマンドの定義から得られる情報を記号表に登録する。 |
(package private) ProcEntry |
defineFunction(java.lang.String name)
関数の定義から得られる情報を記号表に登録する。 |
(package private) ProcEntry |
findCommand(java.lang.String name)
呼び出しているコマンドのエントリを記号表から見つける。 |
(package private) ProcEntry |
findFunction(java.lang.String name)
呼び出している関数のエントリを記号表から見つける。 |
(package private) VarEntry |
findVariable(java.lang.String name)
使用している変数のエントリを記号表から見つける。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
SymbolTable(CompileErrorHandler handler) throws java.lang.Exception
handler
- コンパイラのためのエラーハンドラ
java.lang.Exception
メソッドの詳細 |
---|
void checkProgram() throws java.lang.Exception
java.lang.Exception
VarEntry addGlobalVariable(java.lang.String name, int loc) throws java.lang.Exception
name
- グローバル変数名loc
- 変数を割り当てる領域の静的データ領域中の番地
java.lang.Exception
VarEntry addLocalVariable(java.lang.String name) throws java.lang.Exception
name
- 局所変数名
java.lang.Exception
VarEntry addParameter(java.lang.String name) throws java.lang.Exception
name
- 仮引数名
java.lang.Exception
ProcEntry addCommand(java.lang.String name, int paramNum) throws java.lang.Exception
name
- コマンド名paramNum
- 引数の個数
java.lang.Exception
ProcEntry addFunction(java.lang.String name, int paramNum) throws java.lang.Exception
name
- 関数名paramNum
- 引数の個数
java.lang.Exception
ProcEntry defineCommand(java.lang.String name) throws java.lang.Exception
name
- コマンド名
java.lang.Exception
ProcEntry defineFunction(java.lang.String name) throws java.lang.Exception
name
- 関数名
java.lang.Exception
VarEntry findVariable(java.lang.String name) throws java.lang.Exception
name
- 変数名
java.lang.Exception
ProcEntry findFunction(java.lang.String name) throws java.lang.Exception
name
- 関数名
java.lang.Exception
ProcEntry findCommand(java.lang.String name) throws java.lang.Exception
name
- コマンド名
java.lang.Exception
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |