|
||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object jp.hishidama.eval.Expression jp.hishidama.eval.exp.ShareExpValue
public class ShareExpValue
式共通情報クラス.
フィールドの概要 | |
---|---|
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 |
フィールドの詳細 |
---|
public AbstractExpression paren
コンストラクタの詳細 |
---|
public ShareExpValue()
メソッドの詳細 |
---|
public void setAbstractExpression(AbstractExpression ae)
public void initVar()
public void initOper()
public void initFunc()
public Object eval()
Expression
の記述:
Object型で演算を実施して結果を返す。
演算実行クラスを登録する必要あり。
Expression
内の eval
Expression.setOperator(Operator)
public void optimize(Variable var, Operator oper)
Expression
の記述:
超簡易最適化を行う。演算は指定されたoperを使って行う。
変数に値が入っている場合、定数と見なし、値に置換する。
Expression
内の optimize
var
- 定数として扱う変数群(null可)oper
- 演算実行クラスpublic void search(Search srch)
Expression
の記述:
構文解析木の探索を行う。
全構文解析木について、1つずつ探索インターフェースのメソッドを呼び出す。
Expression
内の search
srch
- 探索インターフェースSearch.search(AbstractExpression)
public void refactorName(Refactor ref)
Expression
の記述:変数名/関数名あるいはオブジェクトのフィールド名/メソッド名を変換する。
式の中にオブジェクトのメンバーが存在する場合は、オブジェクトを取得して変更対象のオブジェクトかどうか判定する。
したがって、オブジェクトが在る場合はsetVariable()でオブジェクトの変数を返すようにしておく必要がある。
Expression
内の refactorName
ref
- リファクタリングインターフェースpublic void refactorFunc(Refactor ref, Rule rule)
Expression
の記述:変数名あるいはオブジェクトのフィールド名を関数(あるいはメソッド)に変換する。
式の中にオブジェクトのメンバーが存在する場合は、オブジェクトを取得して変更対象のオブジェクトかどうか判定する。
したがって、オブジェクトが在る場合はsetVariable()でオブジェクトの変数を返すようにしておく必要がある。
Expression
内の refactorFunc
ref
- リファクタリングインターフェースrule
- 変換時に使用するルールpublic boolean same(Expression obj)
Expression
の記述:演算子の文字列表現まで含めてオブジェクトが等しいかどうかチェックする。
Expression
内の same
obj
- 比較対象
Expression.equals(Object)
public Expression dup()
Expression
の記述:当インスタンスの複製を作成する。
Expression
内の dup
|
||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |