coins.ir.hir
クラス ProgramImpl

java.lang.Object
  |
  +--coins.ir.hir.HIR_Impl
        |
        +--coins.ir.hir.ProgramImpl
すべての実装インタフェース:
java.lang.Cloneable, HasStringObject, HIR, HIR0, IR, IR0, Program

public class ProgramImpl
extends HIR_Impl
implements Program

ProgramImpl class


フィールドの概要
protected  SymTable fGlobalSymTable
           
protected  IrList fRegionTypeList
           
 
クラス coins.ir.hir.HIR_Impl から継承したフィールド
fAdditionalChild, fChildCount, fChildNode1, fChildNode2, fDbgLevel, fHirAnnex, fOperator, fParentNode, fType, hirRoot, inversionTable, machineParam, sourceLanguage
 
インタフェース 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
 
コンストラクタの概要
ProgramImpl(HirRoot pHirRoot, Sym pProgSym, SymTable pGlobalSymTable, IR pInitiationPart, IrList pSubpList)
           
 
メソッドの概要
 void accept(HirVisitor pVisitor)
          accept Acceptor used in HIR visitor.
 void addInitiationStmt(IR pStmt)
          addInitiationStmt Add the initiation statement pStmt that initiates global variables to the initiation part (BlockStmt) of this program.
 void addRegion(RegionType pRegionType)
          addRegion Add pRegionType to the end of region list of this program.
 void addSubpDefinition(SubpDefinition pSubpDefinition)
          addSubpDefinition Add the definition of a subprogram to the end of subprogram definition list of this program.
 java.lang.Object clone()
          clone Override Object.clone in HIR.
 IR getInitiationPart()
          getInitiationPart Get the initiation part that initiates global variables.
 IrList getRegionList()
          getRegionList Get the list of RegionType instances.
 IrList getSubpDefinitionList()
          getSubpDefinitionList Get subprogram definition list of this program.
 SymTable getSymTable()
           
 void print(int pIndent, boolean pDetail)
          print Print this subtree in text format traversing all children of this node.
 void setSymTable(SymTable pSymTable)
           
 
クラス coins.ir.hir.HIR_Impl から継承したメソッド
addInf, addrExp, asmStmt, assignStmt, blockStmt, callStmt, checkLinkage, conditionalExp, conditionalExp1, constNode, contains, contentsExp, convExp, copyInfListFrom, copyWithOperands, copyWithOperandsChangingLabels, cutParentLink, cutParentLink, decayExp, elemNode, exp, exp, exp, expList, expRepeat, expStmt, falseNode, fatalError, finishHir, flagsAreAllFalse, forStmt, forStmt, functionExp, getChild, getChild1, getChild2, getChildCount, getChildNumber, getClone, getExpId, getFlag, getFlagBox, getFlowAnalSym, getIndentSpace, getIndex, getInf, getInfList, getInfString, getIrName, getNextNode, getNextNodeSeeingAncestor, getNextStmt, getOperator, getParent, getResultOperand, getResultVar, getSourceNode, getSourceNode1, getSourceNode2, getStmtContainingThisNode, getSym, getSymOrExpId, getType, getWork, hirClone, hirIterator, hirList, hirNodeClone, hirSeq, hirSeq, hirSeq, ifStmt, indexedLoopStmt, indexedLoopStmt, infStmt, infStmt, intConstNode, intConstNode, irList, irList, isEmpty, isHIR, isLIR, isSameAs, isStmt, isSym, isTerminal, isTree, isTree, jumpStmt, labelDef, labeledStmt, labelNode, nullNode, nullStmt, offsetConstNode, phiExp, pointedExp, print, program, qualifiedExp, removeInf, repeatStmt, repeatStmt, replaceOperator, replaceResultOperand, replaceResultVar, replaceSource, replaceSource1, replaceSource2, replaceThisNode, returnStmt, returnStmt, setChild, setChild1, setChild2, setChildren, setChildren, setChildren, setChildren, setDataStmt, setFlag, setIndex, setIndexNumberToAllNodes, setIndexNumberToAllNodes, setIndexNumberToAllNodes2, setParameters, setParent, setType, setWork, severeError, sizeofExp, sizeofExp, slightError, subpDefinition, subpDefinition, subpDefinition, subpIterator, subpNode, subscriptedExp, subscriptedExp, switchStmt, symNode, toString, toStringDetail, toStringShort, toStringWithChildren, trueNode, typeNode, undecayExp, undecayExp, undecayExp, undecayExp, varNode, warinig, whileStmt, whileStmt, withInf
 
クラス java.lang.Object から継承したメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース 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, removeInf
 
インタフェース coins.ir.IR0 から継承したメソッド
getChild, getChildCount, getIndex, getOperator, setChild
 
インタフェース coins.ir.hir.HIR0 から継承したメソッド
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
 

フィールドの詳細

fGlobalSymTable

protected SymTable fGlobalSymTable

fRegionTypeList

protected IrList fRegionTypeList
コンストラクタの詳細

ProgramImpl

public ProgramImpl(HirRoot pHirRoot,
                   Sym pProgSym,
                   SymTable pGlobalSymTable,
                   IR pInitiationPart,
                   IrList pSubpList)
メソッドの詳細

getSymTable

public SymTable getSymTable()
定義:
インタフェース Program 内の getSymTable

setSymTable

public void setSymTable(SymTable pSymTable)
定義:
インタフェース Program 内の setSymTable

getSubpDefinitionList

public IrList getSubpDefinitionList()
getSubpDefinitionList Get subprogram definition list of this program. Each SubpDefinition can be get and treated by methods in IrList.

定義:
インタフェース Program 内の getSubpDefinitionList
戻り値:
SubpDefinition list of this program.

addSubpDefinition

public void addSubpDefinition(SubpDefinition pSubpDefinition)
インタフェース Program の記述:
addSubpDefinition Add the definition of a subprogram to the end of subprogram definition list of this program.

定義:
インタフェース Program 内の addSubpDefinition
パラメータ:
pSubpDefinition - SubpDefinition node defining a subprogram.

getRegionList

public IrList getRegionList()
インタフェース Program の記述:
getRegionList Get the list of RegionType instances. Each instance of RegionType can be get and treated by methods in IrList.

定義:
インタフェース Program 内の getRegionList
戻り値:
RegionType list of this program.

addRegion

public void addRegion(RegionType pRegionType)
インタフェース Program の記述:
addRegion Add pRegionType to the end of region list of this program. If pRegionType is already recorded in the list, then it is not added.

定義:
インタフェース Program 内の addRegion
パラメータ:
pRegionType - RegionType to be recorded.

getInitiationPart

public IR getInitiationPart()
インタフェース Program の記述:
getInitiationPart Get the initiation part that initiates global variables.

定義:
インタフェース Program 内の getInitiationPart
戻り値:
BlockStmt containing initiation statements.

addInitiationStmt

public void addInitiationStmt(IR pStmt)
インタフェース Program の記述:
addInitiationStmt Add the initiation statement pStmt that initiates global variables to the initiation part (BlockStmt) of this program.

定義:
インタフェース Program 内の addInitiationStmt

clone

public java.lang.Object clone()
クラス HIR_Impl の記述:
clone Override Object.clone in HIR.

オーバーライド:
クラス HIR_Impl 内の clone
戻り値:
cloned HIR object.

print

public void print(int pIndent,
                  boolean pDetail)
インタフェース 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
オーバーライド:
クラス HIR_Impl 内の print
パラメータ:
pIndent - number of heading spaces for indentation.
pDetail - true if detail print is requested, false otherwise.

accept

public void accept(HirVisitor pVisitor)
インタフェース HIR0 の記述:
accept Acceptor used in HIR visitor. See HirVisitor, HirVisitorModel1, HirVisitormodel2.

定義:
インタフェース HIR0 内の accept
オーバーライド:
クラス HIR_Impl 内の accept
パラメータ:
pVisitor - HirVisitor