|
||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||
public interface Replace
構文解析木置換インターフェース.
AbstractExpression#replace()が呼ばれた際、構文解析木のそれぞれの条件に応じた当インターフェースのメソッドが呼ばれる。
各メソッドでは、構文解析木を置換する場合は新しい構文解析木を返し、置換しない場合は引数をそのまま返す必要がある。
| メソッドの概要 | |
|---|---|
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)
三項演算子置換(左辺値として使用される場合) |
| メソッドの詳細 |
|---|
AbstractExpression replace0(WordExpression exp)
exp -
AbstractExpression replace1(Col1Expression exp)
exp -
AbstractExpression replace2(Col2Expression exp)
加減算などの単純な二項演算子のとき呼ばれる。
exp -
AbstractExpression replace2(Col2OpeExpression exp)
and,or,カンマなどの単純でない二項演算子のとき呼ばれる。
exp -
AbstractExpression replace3(Col3Expression exp)
exp -
AbstractExpression replaceVar0(WordExpression exp)
exp -
AbstractExpression replaceVar1(Col1Expression exp)
exp -
AbstractExpression replaceVar2(Col2Expression exp)
exp -
AbstractExpression replaceVar2(Col2OpeExpression exp)
exp -
AbstractExpression replaceVar3(Col3Expression exp)
exp -
AbstractExpression replaceFunc(FunctionExpression exp)
exp -
AbstractExpression replaceLet(Col2Expression exp)
exp -
|
||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||