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