coins.ffront
クラス ComputedGoto

java.lang.Object
  |
  +--coins.ffront.FStmt
        |
        +--coins.ffront.ComputedGoto
すべての実装インタフェース:
Node

public class ComputedGoto
extends FStmt

Computed goto statement


フィールドの概要
 
クラス coins.ffront.FStmt から継承したフィールド
defLabel, fDeclMgr, fESMgr, fHir, fHirUtil, fLine, fSymTable, fTypeUtil, generatedStmts, hir, stmt
 
コンストラクタの概要
ComputedGoto(FirList pLabels, Node pExp, int line, FirToHir pfHir)
           
ComputedGoto(int line, FirToHir pfHir)
           
 
メソッドの概要
 Stmt makeSwitchStmt(Exp pExp, FirList pLabels)
           
 void print(int level, java.lang.String spaces)
           
 void process()
          Translate GO TO (10, 20, ...) i to switch (i) { case 1: goto L_10; case 2: goto L_20 ... }
 java.lang.String toString()
           
 
クラス 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
 

コンストラクタの詳細

ComputedGoto

public ComputedGoto(FirList pLabels,
                    Node pExp,
                    int line,
                    FirToHir pfHir)

ComputedGoto

public ComputedGoto(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

process

public void process()
Translate GO TO (10, 20, ...) i to switch (i) { case 1: goto L_10; case 2: goto L_20 ... }

オーバーライド:
クラス FStmt 内の process

makeSwitchStmt

public Stmt makeSwitchStmt(Exp pExp,
                           FirList pLabels)