coins.ir.hir
インタフェース IndexedLoopStmt

すべてのスーパーインタフェース:
java.lang.Cloneable, HIR, HIR0, IR, IR0, LoopStmt, Stmt
既知の実装クラスの一覧:
IndexedLoopStmtImpl

public interface IndexedLoopStmt
extends LoopStmt

  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
 
インタフェース coins.ir.hir.HIR0 から継承したフィールド
FLAG_C_PTR, FLAG_CONST_EXP, FLAG_INIT_BLOCK, FLAG_LOOP_WITH_CONDITIONAL_INIT, FLAG_NOCHANGE, FLAG_NONTERMINAL, OP_ADD, OP_ADD_ASSIGN, OP_ADDR, OP_AND, OP_AND_ASSIGN, OP_ARROW, OP_ASM, OP_ASSIGN, OP_BLOCK, OP_CALL, OP_CMP_EQ, OP_CMP_GE, OP_CMP_GT, OP_CMP_LE, OP_CMP_LT, OP_CMP_NE, OP_COMMA, OP_CONST, OP_CONTENTS, OP_CONV, OP_DECAY, OP_DIV, OP_DIV_ASSIGN, OP_ELEM, OP_ENCLOSE, OP_EQ_ZERO, OP_EXP_STMT, OP_EXPLIST, OP_EXPREPEAT, OP_FOR, OP_IF, OP_INDEX, OP_INDEXED_LOOP, OP_JUMP, OP_LABEL, OP_LABEL_DEF, OP_LABELED_STMT, OP_LG_AND, OP_LG_OR, OP_MOD, OP_MOD_ASSIGN, OP_MULT, OP_MULT_ASSIGN, OP_NEG, OP_NOT, OP_NULL, OP_OFFSET, OP_OR, OP_OR_ASSIGN, OP_PARAM, OP_PHI, OP_POST_DECR, OP_POST_INCR, OP_PRE_DECR, OP_PRE_INCR, OP_QUAL, OP_REPEAT, OP_RETURN, OP_SELECT, OP_SEQ, OP_SETDATA, OP_SHIFT_L_ASSIGN, OP_SHIFT_LL, OP_SHIFT_R, OP_SHIFT_R_ASSIGN, OP_SHIFT_RL, OP_SIZEOF, OP_STMT, OP_STMT_UPPER, OP_SUB, OP_SUB_ASSIGN, OP_SUBP, OP_SUBS, OP_SWITCH, OP_SYM, OP_TYPE, OP_UNDECAY, OP_UNTIL, OP_VAR, OP_WHILE, OP_XOR, OP_XOR_ASSIGN
 
メソッドの概要
 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.hir.LoopStmt から継承したメソッド
addToConditionalInitPart, addToLoopBodyPart, addToLoopEndPart, addToLoopInitPart, addToLoopStepPart, getConditionalInitPart, getLoopBackLabel, getLoopBackPoint, getLoopBodyLabel, getLoopBodyPart, getLoopEndCondition, getLoopEndLabel, getLoopEndPart, getLoopInf, getLoopInitPart, getLoopStartCondition, getLoopStepLabel, getLoopStepPart, isSimpleForLoop, isSimpleIndexedLoop, isSimpleRepeatLoop, isSimpleWhileLoop, replaceBodyPart, setLoopEndCondition, setLoopInf, setLoopStartCondition
 
インタフェース coins.ir.hir.Stmt から継承したメソッド
addNextStmt, ancestorControlStmtOfConditionalExp, attachLabel, attachLabelAsFirstOne, combineStmt, combineWithConditionalExp, copyPosition, cutLabelLinkOfStmt, deleteThisStmt, getBlockStmt, getFileName, getLabel, getLabelDefList, getLabeledStmt, getLineNumber, getPreviousStmt, getUpperStmt, insertPreviousStmt, insertPreviousStmt, isBranchStmt, isMultiBlock, isolateThisStmt, replaceThisStmtWith, setFileName, setLineNumber
 
インタフェース coins.ir.hir.HIR から継承したメソッド
addrExp, asmStmt, checkLinkage, conditionalExp, contains, copyInfListFrom, cutParentLink, exp, expList, expRepeat, forStmt, getExpId, getFlowAnalSym, getIndentSpace, getInfString, getIrName, getSourceNode, getSourceNode1, getSourceNode2, getSymOrExpId, getWork, hirNodeClone, hirSeq, hirSeq, indexedLoopStmt, indexedLoopStmt, infStmt, infStmt, intConstNode, irList, isEmpty, isStmt, isTree, nullNode, nullStmt, offsetConstNode, phiExp, repeatStmt, replaceSource, replaceSource1, replaceSource2, returnStmt, setChild1, setChild2, setChildren, setChildren, setDataStmt, setIndex, setIndexNumberToAllNodes, setParent, setType, setWork, subpDefinition, subpIterator, subscriptedExp, toString, toStringDetail, toStringShort, toStringWithChildren, undecayExp, undecayExp, undecayExp, whileStmt
 
インタフェース 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
 

メソッドの詳細

getLoopIndex

public Var getLoopIndex()
getLoopIndex Get the loop index variable of this loop.

戻り値:
loop index variable.

getStartValue

public Exp getStartValue()
getStartValue Get the start value of the loop index.

戻り値:
loop start value.

getEndValue

public Exp getEndValue()
getEndValue Get the end value of the loop index.

戻り値:
loop end value.

getStepValue

public Exp getStepValue()
getStepValue Get the step value of this loop.

戻り値:
loop step value.

isUpward

public boolean isUpward()
isUpward See whether upward or downword.

戻り値:
true if upward, else return false.