|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
IndexedLoop-statement interface.
IndexedLoopStmt is created as a general loop where contents of
ConditionalInitPart_, EndCondition_, LoopEndPart_
are null at first (but they may become not null
by some optimizing transformation).
IndexedLoopStmt represents a Fortran type loop where
value of loop index is incremented or decremented by loop
step value starting from loop start value and stops
to loop before crossing the barrier of loop end value.
The loop index is a simple variable.
It may be integer variable (short int, int, long int, long long int)
or floating variable (float, double).
The values of loop start value, loop end value, and
loop step value are fixed at entry to the loop
and do not change until terminating the loop.
If upward parameter is true, then the loop index is incremented
up to but not exceeding the loop end value.
If upward parameter is false, then the loop index is decremented
down to but not crossing the loop end value.
The loop start value, loop end value, loop step value are
converted to the type of loop index if their type differ
from the type of the loop index.
If the index variable is a floating variable, then repetition
count is computed at the entry to the loop by the formula
MAX( INT( ( -
+ ) / ), 0)
if upward parameter is true, or by the formula
MAX( INT( ( -
+ ) / ), 0)
if upward parameter is false.
The loop step value should be positive.
| フィールドの概要 |
| インタフェース coins.ir.hir.HIR から継承したフィールド |
OP_CODE_NAME, OP_CODE_NAME_DENSE |
| インタフェース coins.ir.IR から継承したフィールド |
OP_INF, OP_LIST, OP_PROG, OP_SUBP_DEF |
| メソッドの概要 | |
Exp |
getEndValue()
getEndValue Get the end value of the loop index. |
Var |
getLoopIndex()
getLoopIndex Get the loop index variable of this loop. |
Exp |
getStartValue()
getStartValue Get the start value of the loop index. |
Exp |
getStepValue()
getStepValue Get the step value of this loop. |
boolean |
isUpward()
isUpward See whether upward or downword. |
| インタフェース coins.ir.IR から継承したメソッド |
addInf, getChild1, getChild2, getInf, getInfList, getParent, getSym, print, print, removeInf |
| インタフェース coins.ir.IR0 から継承したメソッド |
getChild, getChildCount, getIndex, getOperator, setChild |
| インタフェース coins.ir.hir.HIR0 から継承したメソッド |
accept, assignStmt, blockStmt, callStmt, constNode, contentsExp, convExp, copyWithOperands, copyWithOperandsChangingLabels, decayExp, elemNode, exp, exp, expStmt, falseNode, finishHir, forStmt, functionExp, getChildNumber, getFlag, getFlagBox, getNextStmt, getStmtContainingThisNode, getType, hirClone, hirIterator, hirList, hirSeq, ifStmt, intConstNode, irList, isSameAs, jumpStmt, labelDef, labeledStmt, labelNode, pointedExp, print, program, qualifiedExp, repeatStmt, replaceThisNode, returnStmt, setFlag, setIndexNumberToAllNodes, sizeofExp, sizeofExp, subpDefinition, subpNode, subscriptedExp, switchStmt, symNode, trueNode, undecayExp, varNode, whileStmt |
| メソッドの詳細 |
public Var getLoopIndex()
public Exp getStartValue()
public Exp getEndValue()
public Exp getStepValue()
public boolean isUpward()
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||