coins.ffront
クラス HeaderStmt
java.lang.Object
|
+--coins.ffront.FStmt
|
+--coins.ffront.HeaderStmt
- すべての実装インタフェース:
- Node
- public class HeaderStmt
- extends FStmt
クラス coins.ffront.FStmt から継承したフィールド |
defLabel, fDeclMgr, fESMgr, fHir, fHirUtil, fLine, fSymTable, fTypeUtil, generatedStmts, hir, stmt |
クラス coins.ffront.FStmt から継承したメソッド |
addGeneratedStmt, addGeneratedStmtFirst, addLabel, addResultTo, dp, getLabelString, getResult, hasNotLabel, makeArgAddr, makeExp, mergeSymTable, preprocess, setLineAndFileInfo, setSymTable |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
HeaderStmt
public HeaderStmt(Token pIdent,
FirList pArgs,
boolean isF,
Pair pType,
int line,
FirToHir pfHir)
print
public void print(int level,
java.lang.String spaces)
- 定義:
- インタフェース
Node
内の print
- オーバーライド:
- クラス
FStmt
内の print
toString
public java.lang.String toString()
- 定義:
- インタフェース
Node
内の toString
- オーバーライド:
- クラス
FStmt
内の toString
addEntryStmt
public void addEntryStmt(FirList entryList)
- Make an entry statement and add it to entryList.
For example, from
FUNCTION f(r)
make
ENTRY f(r)
and add it to entryList and to programBody as the first ENTRY statement.
Add "i_" to fArgs as the first parameter.
- パラメータ:
entryList
-
change
public void change(FirList pArgs,
FirList entryStmtList)
- Change this header statement as follows:
(1) change subprogram name "abc" to "abc_"
(2) replace parameter list
(3) make computed GOTO statement to go to the place of
each ENTRY statement and add it as the first stmt
- パラメータ:
pArgs
- entryStmtList
-
changeToSubprogram
public void changeToSubprogram()
- Change this function statement to subprogram statement.
Change
funcType FUNCTION funcName(...)
to
SUBROUTINE funcName_(funcType funcName, ...)
getReturnVarString
public java.lang.String getReturnVarString()
getReturnVarToken
public Token getReturnVarToken()
isFunction
public boolean isFunction()
getTypePair
public Pair getTypePair()
getLexem
public java.lang.String getLexem()
getIdToken
public Token getIdToken()
getArgs
public FirList getArgs()
setStar
public void setStar(int pInt)
getStar
public int getStar()
setReturnVar
public void setReturnVar(Var pVar)
getReturnVar
public Var getReturnVar()
getOriginalIdString
public java.lang.String getOriginalIdString()
process
public void process()
- クラス
FStmt
の記述:
- define optional label and add it to generated statements
- オーバーライド:
- クラス
FStmt
内の process