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()
           
 int length()
          length
 void print(int pIndent)
          print Print this subtree in text format traversing all children of this node.
 void print(int indent, boolean detail)
          print Print this subtree in text format traversing all children of this node.
 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 から継承したメソッド
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()
定義:
インタフェース HirList 内の 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)
インタフェース IR の記述:
print Print this subtree in text format traversing all children of this node. "this" may be any subtree (it may be a leaf node).

定義:
インタフェース IR 内の print
パラメータ:
pIndent - number of heading spaces for indentation.

print

public void print(int indent,
                  boolean detail)
インタフェース IR の記述:
print Print this subtree in text format traversing all children of this node. "this" may be any subtree (it may be a leaf node).

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