|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
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
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||