tgl.compiler
クラス ProcEntry

java.lang.Object
  上位を拡張 tgl.compiler.SymbolEntry
      上位を拡張 tgl.compiler.ProcEntry

 class ProcEntry
extends SymbolEntry

記号表の手続きエントリを表す。手続きに関する情報を保存する。 保存する情報は、手続き名、引数の個数、ユーザ定義手続きの場合は 本体のコード、システム定義手続きの場合はシステム定義手続きを表す クラスのインスタンス、手続きの種別(関数かコマンドか)。


コンストラクタの概要
ProcEntry(ProcClass pclass, java.lang.String name, int paramNum)
          ユーザ定義手続きを格納する記号表エントリを作成する。
ProcEntry(ProcClass pclass, java.lang.String name, int paramNum, SystemProc system)
          システム定義手続きを格納する記号表エントリを作成する。
 
メソッドの概要
(package private)  void addCode(STree tree)
          ユーザ定義手続きのための中間コード領域に構文木を追加する。
(package private)  void define()
          手続きを定義済みにする。
(package private)  Code getCode()
          ユーザ定義鉄続きのための中間コード領域を取得する。
(package private)  int getParamNumber()
          手続きの引数個数を取得する
(package private)  ProcClass getProcClass()
          手続きの種別を取得する。
(package private)  SystemProc getSystemProcedure()
          システム定義手続きのための定義であるオブジェクトを取得する。
(package private)  boolean isCommand()
          手続きがコマンドかどうか調べる。
(package private)  boolean isDefined()
          手続きが定義済みかどうか調べる。
(package private)  boolean isFunction()
          手続きが関数かどうか調べる。
(package private)  boolean isSystemDefined()
          システム定義手続きかどうか調べる。
(package private)  boolean isUserDefined()
          ユーザ定義手続きかどうか調べる。
 
クラス tgl.compiler.SymbolEntry から継承されたメソッド
getName, isProcedure, isVariable
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ProcEntry

ProcEntry(ProcClass pclass,
          java.lang.String name,
          int paramNum)
ユーザ定義手続きを格納する記号表エントリを作成する。 手続きの定義は後で与えられるので、作成時には手続きは未定義。

パラメータ:
pclass - 手続きの種別(コマンドか、関数か)
name - 手続き名
paramNum - 手続きの引数個数

ProcEntry

ProcEntry(ProcClass pclass,
          java.lang.String name,
          int paramNum,
          SystemProc system)
システム定義手続きを格納する記号表エントリを作成する。 エントリ生成時にシステム定義手続きの定義が与えられるので、 手続きは定義済みであることをエントリに記憶する。

パラメータ:
pclass - 手続きの種別(コマンドか、関数か)
name - 手続き名
paramNum - 手続きの引数個数
system - システム定義手続きの定義
メソッドの詳細

isCommand

boolean isCommand()
手続きがコマンドかどうか調べる。

戻り値:
コマンドなら true、関数なら false

isFunction

boolean isFunction()
手続きが関数かどうか調べる。

戻り値:
関数なら true、コマンドなら false

getProcClass

ProcClass getProcClass()
手続きの種別を取得する。

戻り値:
手続きの種別

getParamNumber

int getParamNumber()
手続きの引数個数を取得する

戻り値:
引数個数

isDefined

boolean isDefined()
手続きが定義済みかどうか調べる。

戻り値:
定義済みなら true、未定義なら false

define

void define()
手続きを定義済みにする。


isSystemDefined

boolean isSystemDefined()
システム定義手続きかどうか調べる。

戻り値:
システム定義手続きなら true、ユーザ定義手続きなら false

isUserDefined

boolean isUserDefined()
ユーザ定義手続きかどうか調べる。

戻り値:
ユーザ定義手続きなら true、手続き定義手続きなら false

getCode

Code getCode()
ユーザ定義鉄続きのための中間コード領域を取得する。

戻り値:
ユーザ定義鉄続きのための中間コード領域

getSystemProcedure

SystemProc getSystemProcedure()
システム定義手続きのための定義であるオブジェクトを取得する。

戻り値:
システム定義手続きのためのオブジェクト

addCode

void addCode(STree tree)
ユーザ定義手続きのための中間コード領域に構文木を追加する。