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

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

public interface ExpListExp
extends Exp, HirList

 ExpListExp
 Interface for the expression representing a list of expressions (Exp).
 Its operator is OP_EXPLIST.
 This is used to represent a list of initial values.
 The element of the list may be a repetition specification
 that specifies repetition count (as child 1) and elements
 to be repeated (as child 2).
   ExpListExp -> (explistCode List_of_ListElement_ )
   ListElement_ -> Exp
                 | (exprepeatCode RepeatCount_ ListElement_ )
   RepeatCount_ -> ConstNode // integer constant node representing
                             // repetition count.


フィールドの概要
 
インタフェース 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 getExp(int pIndex)
          getExp Get the i-th element of the expression list, where i is given by the parameter pIndex.
 Exp getWithRepeat(int pIndex)
          getWithRepeat Get the i-th final element of the expression list assuming as if the nest of list is expanded, where i is given by the parameter pIndex.
 java.util.ListIterator iterator()
          Make iterator to traverse all elements of the list.
 int length()
          length
 void print(int pIndent)
          Print the list enclosing the string images of all elements by parenthesis.
 void print(int indent, boolean detail)
          Print the list enclosing the detailed string images of all elements by parenthesis.
 void setExp(int pIndex, Exp pExp)
          set Set pExp as pIndex-th element of the expression list.
 int size()
          size
 java.lang.String toString()
          toString Get text representation of this node without traversing children.
 
インタフェース coins.ir.hir.Exp から継承したメソッド
adjustTypesOfBinaryOperands, evaluate, evaluateAsDouble, evaluateAsFloat, evaluateAsInt, evaluateAsLong, findSubpType, fold, getActualParamList, getArrayExp, getConstSym, getElem, getElemSizeExp, getExp1, getExp2, getLabel, getPointedElem, getPointerExp, getQualifiedElem, getQualifierExp, getSubp, getSubpSpec, getSubscriptExp, getValueString, getVar, initiateArray, isEvaluable
 
インタフェース 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, toStringDetail, toStringShort, toStringWithChildren, undecayExp, undecayExp, undecayExp, whileStmt
 
インタフェース coins.ir.IR から継承したメソッド
addInf, getChild1, getChild2, getInf, getInfList, getParent, getSym, 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, program, qualifiedExp, repeatStmt, replaceThisNode, returnStmt, setFlag, setIndexNumberToAllNodes, sizeofExp, sizeofExp, subpDefinition, subpNode, subscriptedExp, switchStmt, symNode, trueNode, undecayExp, varNode, whileStmt
 
インタフェース coins.ir.hir.HirList から継承したメソッド
add, add, contains, get, getFirst, hirListClone, indexOf, isEmpty, remove, remove, set
 
インタフェース coins.ir.IrList から継承したメソッド
clear, getClone, toStringShort
 

メソッドの詳細

size

public int size()
size

定義:
インタフェース HirList 内の size
戻り値:
the size (number of elements) of the expression list.

length

public int length()
length

戻り値:
the length (number of elements) of the expression list.

getExp

public Exp getExp(int pIndex)
getExp Get the i-th element of the expression list, where i is given by the parameter pIndex. If there is no i-th element, return null.

パラメータ:
pIndex - element index number.
戻り値:
the pIndex-th element of the expression list.

getWithRepeat

public Exp getWithRepeat(int pIndex)
getWithRepeat
 Get the i-th final element of the expression list assuming as if
 the nest of list is expanded, where i is given by the parameter
 pIndex.
 If the i-th element is (exprepeatCode n elem), then
 elem is assumed to be repeated n-times and its first one
 is treated as the i-th element.
 If there is no i-th element, return null.
 The end of list may be detected by encountering null
 as the return value of getWithRepeat method.
 Example
   Given list:
     (OP_EXPLIST c1 c2 (OP_EXPREPEAT c3 c4) c5)
   Sequence of Exp to be get by getWithRepeat:
     c1 c2 c4 c4 c4 c5
   where, each of c1, c2, c3, c4, c5 represents constant expression
   whose value is 1, 2, 3, 4, 5 respectively.

パラメータ:
pIndex - index number corresponding to the element to be returned.
戻り値:
the pIndex-th element of the expression list; if there is no pIndex-th element, then return null.

setExp

public void setExp(int pIndex,
                   Exp pExp)
set Set pExp as pIndex-th element of the expression list. If there is no pIndex-th element in the list, then do nothing.

パラメータ:
pIndex - index number corresponding to the element to be set.
pExp - element to be set.

iterator

public java.util.ListIterator iterator()
Make iterator to traverse all elements of the list.

定義:
インタフェース HirList 内の iterator
戻り値:
the iterator.

toString

public java.lang.String toString()
インタフェース HIR の記述:
toString Get text representation of this node without traversing children.

定義:
インタフェース HIR 内の toString
オーバーライド:
クラス java.lang.Object 内の toString
戻り値:
the text string representing the node including operation name, type, node index, and symbol name if this represents a symbol or constant.

print

public void print(int pIndent)
Print the list enclosing the string images of all elements by parenthesis. The start column is indicated by pIndent.

定義:
インタフェース IR 内の print
パラメータ:
pIndent - the start column to print.

print

public void print(int indent,
                  boolean detail)
Print the list enclosing the detailed string images of all elements by parenthesis. The start column is indicated by pIndent.

定義:
インタフェース IR 内の print
パラメータ:
indent - number of heading spaces for indentation.
detail - true if detail print is requested, false otherwise.