coins.ssa
クラス DivideExpression

java.lang.Object
  |
  +--coins.ssa.DivideExpression
すべての実装インタフェース:
LocalTransformer, Transformer

class DivideExpression
extends java.lang.Object
implements LocalTransformer

Divide expressions into 3 address expression.


フィールドの概要
static java.lang.String DIVEX
          The name of the symbol which the optimzer uses to make the temporary variables
static int THR
          The threshold of the debug print
 
コンストラクタの概要
DivideExpression(SsaEnvironment e, SsaSymTab symtab)
          Constructor
 
メソッドの概要
(パッケージプライベート)  LirNode divide(LirNode node, BiLink link, boolean setSrc, boolean setDst)
          Divide the expression into 3 address expression recursively.
 boolean doIt(Data data, ImList args)
          Transform the DATA component.
 boolean doIt(Function f, ImList args)
          Divide the expressions into 3 address expression.
 java.lang.String name()
          Return the name of the transforming engine.
 java.lang.String subject()
          Return brief description of the tranformation.
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

THR

public static final int THR
The threshold of the debug print

関連項目:
定数フィールド値

DIVEX

public static final java.lang.String DIVEX
The name of the symbol which the optimzer uses to make the temporary variables

関連項目:
定数フィールド値
コンストラクタの詳細

DivideExpression

public DivideExpression(SsaEnvironment e,
                        SsaSymTab symtab)
Constructor

パラメータ:
e - The environment of the SSA module
symtab - The current symbol table
メソッドの詳細

doIt

public boolean doIt(Data data,
                    ImList args)
インタフェース LocalTransformer の記述:
Transform the DATA component.

定義:
インタフェース LocalTransformer 内の doIt
パラメータ:
data - DATA to be transformed.
args - list of optional arguments.
戻り値:
true if transformation suceeded.

name

public java.lang.String name()
インタフェース Transformer の記述:
Return the name of the transforming engine. Used for trace tag name.

定義:
インタフェース Transformer 内の name
戻り値:
the name of the transforming engine.

subject

public java.lang.String subject()
インタフェース Transformer の記述:
Return brief description of the tranformation.

定義:
インタフェース Transformer 内の subject
戻り値:
brief description of the tranformation.

doIt

public boolean doIt(Function f,
                    ImList args)
Divide the expressions into 3 address expression.

定義:
インタフェース LocalTransformer 内の doIt
パラメータ:
f - The current function
args - The list of options
戻り値:
true if transformation suceeded.

divide

LirNode divide(LirNode node,
               BiLink link,
               boolean setSrc,
               boolean setDst)
Divide the expression into 3 address expression recursively.

パラメータ:
node - The current LIR node
link - The place where the new expression attachs to
setSrc - Whether the current LIR node is from the source operands of the SET operator
setDst - Whether the current LIR node is from the destination operands of the SET operator
戻り値:
The divided LIR node