jp.hishidama.eval.exp
クラス ShareExpValue

java.lang.Object
  上位を拡張 jp.hishidama.eval.Expression
      上位を拡張 jp.hishidama.eval.exp.ShareExpValue

public class ShareExpValue
extends Expression

式共通情報クラス.

導入されたバージョン:
2007.02.16
バージョン:
eval16
作成者:
ひしだま

フィールドの概要
 AbstractExpression paren
           
 
クラス jp.hishidama.eval.Expression から継承されたフィールド
func, log, oper, repl, srch, var
 
コンストラクタの概要
ShareExpValue()
           
 
メソッドの概要
 Expression dup()
          複製作成.
 Object eval()
          評価実行(Object).
 void initFunc()
           
 void initOper()
           
 void initVar()
           
 void optimize(Variable var, Operator oper)
          最適化実行(Object).
 void refactorFunc(Refactor ref, Rule rule)
          リファクタリング(関数への変更).
 void refactorName(Refactor ref)
          リファクタリング(識別子名変更).
 boolean same(Expression obj)
          オブジェクト比較.
 void search(Search srch)
          探索実行.
 void setAbstractExpression(AbstractExpression ae)
           
 
クラス jp.hishidama.eval.Expression から継承されたメソッド
equals, evalDouble, evalInt, evalLong, hashCode, isEmpty, parse, setEvalLog, setFunction, setOperator, setVariable, toString
 
クラス java.lang.Object から継承されたメソッド
getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

paren

public AbstractExpression paren
コンストラクタの詳細

ShareExpValue

public ShareExpValue()
メソッドの詳細

setAbstractExpression

public void setAbstractExpression(AbstractExpression ae)

initVar

public void initVar()

initOper

public void initOper()

initFunc

public void initFunc()

eval

public Object eval()
クラス Expression の記述:
評価実行(Object).

Object型で演算を実施して結果を返す。
演算実行クラスを登録する必要あり。

定義:
クラス Expression 内の eval
戻り値:
演算結果
関連項目:
Expression.setOperator(Operator)

optimize

public void optimize(Variable var,
                     Operator oper)
クラス Expression の記述:
最適化実行(Object).

超簡易最適化を行う。演算は指定されたoperを使って行う。
変数に値が入っている場合、定数と見なし、値に置換する。

定義:
クラス Expression 内の optimize
パラメータ:
var - 定数として扱う変数群(null可)
oper - 演算実行クラス

search

public void search(Search srch)
クラス Expression の記述:
探索実行.

構文解析木の探索を行う。
全構文解析木について、1つずつ探索インターフェースのメソッドを呼び出す。

定義:
クラス Expression 内の search
パラメータ:
srch - 探索インターフェース
関連項目:
Search.search(AbstractExpression)

refactorName

public void refactorName(Refactor ref)
クラス Expression の記述:
リファクタリング(識別子名変更).

変数名/関数名あるいはオブジェクトのフィールド名/メソッド名を変換する。

式の中にオブジェクトのメンバーが存在する場合は、オブジェクトを取得して変更対象のオブジェクトかどうか判定する。
したがって、オブジェクトが在る場合はsetVariable()でオブジェクトの変数を返すようにしておく必要がある。

定義:
クラス Expression 内の refactorName
パラメータ:
ref - リファクタリングインターフェース

refactorFunc

public void refactorFunc(Refactor ref,
                         Rule rule)
クラス Expression の記述:
リファクタリング(関数への変更).

変数名あるいはオブジェクトのフィールド名を関数(あるいはメソッド)に変換する。

式の中にオブジェクトのメンバーが存在する場合は、オブジェクトを取得して変更対象のオブジェクトかどうか判定する。
したがって、オブジェクトが在る場合はsetVariable()でオブジェクトの変数を返すようにしておく必要がある。

定義:
クラス Expression 内の refactorFunc
パラメータ:
ref - リファクタリングインターフェース
rule - 変換時に使用するルール

same

public boolean same(Expression obj)
クラス Expression の記述:
オブジェクト比較.

演算子の文字列表現まで含めてオブジェクトが等しいかどうかチェックする。

オーバーライド:
クラス Expression 内の same
パラメータ:
obj - 比較対象
戻り値:
等しいとき、true
関連項目:
Expression.equals(Object)

dup

public Expression dup()
クラス Expression の記述:
複製作成.

当インスタンスの複製を作成する。

定義:
クラス Expression 内の dup
戻り値:
複製