jp.hishidama.eval.repl
インタフェース Replace

既知の実装クラスの一覧:
OptimizeReplacer, Replace4RefactorGetter, Replace4RefactorName, ReplaceAdapter

public interface Replace

構文解析木置換インターフェース.

AbstractExpression#replace()が呼ばれた際、構文解析木のそれぞれの条件に応じた当インターフェースのメソッドが呼ばれる。
各メソッドでは、構文解析木を置換する場合は新しい構文解析木を返し、置換しない場合は引数をそのまま返す必要がある。

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

メソッドの概要
 AbstractExpression replace0(WordExpression exp)
          識別子置換
 AbstractExpression replace1(Col1Expression exp)
          単項演算子置換
 AbstractExpression replace2(Col2Expression exp)
          二項演算子置換 加減算などの単純な二項演算子のとき呼ばれる。
 AbstractExpression replace2(Col2OpeExpression exp)
          二項演算子(特殊)置換 and,or,カンマなどの単純でない二項演算子のとき呼ばれる。
 AbstractExpression replace3(Col3Expression exp)
          三項演算子置換
 AbstractExpression replaceFunc(FunctionExpression exp)
          関数置換
 AbstractExpression replaceLet(Col2Expression exp)
          代入演算子置換
 AbstractExpression replaceVar0(WordExpression exp)
          識別子置換(左辺値として使用される場合)
 AbstractExpression replaceVar1(Col1Expression exp)
          単項演算子置換(左辺値として使用される場合)
 AbstractExpression replaceVar2(Col2Expression exp)
          二項演算子置換(左辺値として使用される場合)
 AbstractExpression replaceVar2(Col2OpeExpression exp)
          二項演算子置換(左辺値として使用される場合)
 AbstractExpression replaceVar3(Col3Expression exp)
          三項演算子置換(左辺値として使用される場合)
 

メソッドの詳細

replace0

AbstractExpression replace0(WordExpression exp)
識別子置換

パラメータ:
exp -
戻り値:
新exp

replace1

AbstractExpression replace1(Col1Expression exp)
単項演算子置換

パラメータ:
exp -
戻り値:
新exp

replace2

AbstractExpression replace2(Col2Expression exp)
二項演算子置換

加減算などの単純な二項演算子のとき呼ばれる。

パラメータ:
exp -
戻り値:
新exp

replace2

AbstractExpression replace2(Col2OpeExpression exp)
二項演算子(特殊)置換

and,or,カンマなどの単純でない二項演算子のとき呼ばれる。

パラメータ:
exp -
戻り値:
新exp

replace3

AbstractExpression replace3(Col3Expression exp)
三項演算子置換

パラメータ:
exp -
戻り値:
新exp

replaceVar0

AbstractExpression replaceVar0(WordExpression exp)
識別子置換(左辺値として使用される場合)

パラメータ:
exp -
戻り値:
新exp

replaceVar1

AbstractExpression replaceVar1(Col1Expression exp)
単項演算子置換(左辺値として使用される場合)

パラメータ:
exp -
戻り値:
新exp

replaceVar2

AbstractExpression replaceVar2(Col2Expression exp)
二項演算子置換(左辺値として使用される場合)

パラメータ:
exp -
戻り値:
新exp

replaceVar2

AbstractExpression replaceVar2(Col2OpeExpression exp)
二項演算子置換(左辺値として使用される場合)

パラメータ:
exp -
戻り値:
新exp

replaceVar3

AbstractExpression replaceVar3(Col3Expression exp)
三項演算子置換(左辺値として使用される場合)

パラメータ:
exp -
戻り値:
新exp

replaceFunc

AbstractExpression replaceFunc(FunctionExpression exp)
関数置換

パラメータ:
exp -
戻り値:
新exp

replaceLet

AbstractExpression replaceLet(Col2Expression exp)
代入演算子置換

パラメータ:
exp -
戻り値:
新exp