coins.ffront
Class FStmt
java.lang.Object
coins.ffront.FStmt
- All Implemented Interfaces:
- Node
- Direct Known Subclasses:
- ArithIfStmt, AssignGotoStmt, AssignLabelStmt, AssignOrFuncStmt, BlockIfStmt, CallStmt, CloseStmt, ComputedGoto, ContinueStmt, EndStmt, EntryStmt, FormatStmt, GotoStmt, HeaderStmt, IfStmt, InquireStmt, LabeledDoStmt, OpenStmt, OtherIOStmt, PauseStmt, ReadStmt, ReturnStmt, StopStmt, UnLabeledDoStmt, WriteStmt
- public class FStmt
- extends java.lang.Object
- implements Node
Super class for all FORTRAN statements
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
fHir
FirToHir fHir
fLine
int fLine
hir
HIR hir
defLabel
Token defLabel
stmt
Stmt stmt
generatedStmts
FirList generatedStmts
fHirUtil
HirUtility fHirUtil
fTypeUtil
TypeUtility fTypeUtil
fDeclMgr
DeclManager fDeclMgr
fESMgr
ExecStmtManager fESMgr
fSymTable
SymTable fSymTable
FStmt
public FStmt(int line,
FirToHir pfHir)
print
public void print(int level,
java.lang.String spaces)
- Specified by:
print in interface Node
toString
public java.lang.String toString()
- Specified by:
toString in interface Node
addLabel
public void addLabel(Token t)
preprocess
public void preprocess()
process
public void process()
- define optional label and add it to generated statements
makeExp
public Exp makeExp()
- Specified by:
makeExp in interface Node
makeArgAddr
public Exp makeArgAddr(FStmt pFStmt)
- Specified by:
makeArgAddr in interface Node
getLabelString
public java.lang.String getLabelString()
hasNotLabel
public boolean hasNotLabel()
addResultTo
public void addResultTo(BlockStmt block)
- add generated statements and original statement to the block
Called after the process of original statement
- Parameters:
block -
addGeneratedStmt
void addGeneratedStmt(Stmt pStmt)
addGeneratedStmtFirst
void addGeneratedStmtFirst(Stmt pStmt)
mergeSymTable
SymTable mergeSymTable(SymTable dst,
SymTable src)
setSymTable
SymTable setSymTable(SymTable table)
setLineAndFileInfo
public void setLineAndFileInfo(Stmt pStmt)
getResult
public Stmt getResult()
dp
protected void dp(java.lang.String str)