coins.ffront
Class ArithIfStmt

java.lang.Object
  extended bycoins.ffront.FStmt
      extended bycoins.ffront.ArithIfStmt
All Implemented Interfaces:
Node

public class ArithIfStmt
extends FStmt

Arithmetic IF statement


Field Summary
 
Fields inherited from class coins.ffront.FStmt
defLabel, fDeclMgr, fESMgr, fHir, fHirUtil, fLine, fSymTable, fTypeUtil, generatedStmts, hir, stmt
 
Constructor Summary
ArithIfStmt(Node pNode, Token pMinusLab, Token pZeroLab, Token pPlusLab, int line, FirToHir pfHir)
           
 
Method Summary
 void print(int level, java.lang.String spaces)
           
 void process()
          Translate IF (e) 10, 20, 30 to v = e; if (v<0) goto L_10; if (v==0) goto L_20; else goto L_30;
 java.lang.String toString()
           
 
Methods inherited from class coins.ffront.FStmt
addGeneratedStmt, addGeneratedStmtFirst, addLabel, addResultTo, dp, getLabelString, getResult, hasNotLabel, makeArgAddr, makeExp, mergeSymTable, preprocess, setLineAndFileInfo, setSymTable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ArithIfStmt

public ArithIfStmt(Node pNode,
                   Token pMinusLab,
                   Token pZeroLab,
                   Token pPlusLab,
                   int line,
                   FirToHir pfHir)
Method Detail

print

public void print(int level,
                  java.lang.String spaces)
Specified by:
print in interface Node
Overrides:
print in class FStmt

toString

public java.lang.String toString()
Specified by:
toString in interface Node
Overrides:
toString in class FStmt

process

public void process()
Translate IF (e) 10, 20, 30 to v = e; if (v<0) goto L_10; if (v==0) goto L_20; else goto L_30;

Overrides:
process in class FStmt