coins.ir.hir
Interface Program

All Superinterfaces:
java.lang.Cloneable, HIR, HIR0, IR, IR0
All Known Implementing Classes:
ProgramImpl

public interface Program
extends HIR

Program interface


Field Summary
 
Fields inherited from interface coins.ir.hir.HIR
OP_CODE_NAME, OP_CODE_NAME_DENSE
 
Fields inherited from interface coins.ir.IR
OP_INF, OP_LIST, OP_PROG, OP_SUBP_DEF
 
Fields inherited from interface 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
 
Method Summary
 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.
 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 setSymTable(SymTable pSymTable)
           
 
Methods inherited from interface 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
 
Methods inherited from interface coins.ir.IR
addInf, getChild1, getChild2, getInf, getInfList, getParent, getSym, print, print, removeInf
 
Methods inherited from interface coins.ir.IR0
getChild, getChildCount, getIndex, getOperator, setChild
 
Methods inherited from interface 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
 

Method Detail

getSymTable

public SymTable getSymTable()

setSymTable

public void setSymTable(SymTable pSymTable)

addSubpDefinition

public void addSubpDefinition(SubpDefinition pSubpDefinition)
addSubpDefinition Add the definition of a subprogram to the end of subprogram definition list of this program.

Parameters:
pSubpDefinition - SubpDefinition node defining a subprogram.

getSubpDefinitionList

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

Returns:
SubpDefinition list of this program.

getRegionList

public IrList getRegionList()
getRegionList Get the list of RegionType instances. Each instance of RegionType can be get and treated by methods in IrList.

Returns:
RegionType list of this program.

addRegion

public void addRegion(RegionType pRegionType)
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.

Parameters:
pRegionType - RegionType to be recorded.

getInitiationPart

public IR getInitiationPart()
getInitiationPart Get the initiation part that initiates global variables.

Returns:
BlockStmt containing initiation statements.

addInitiationStmt

public void addInitiationStmt(IR pStmt)
addInitiationStmt Add the initiation statement pStmt that initiates global variables to the initiation part (BlockStmt) of this program.