coins.ffront
Class EquivManager

java.lang.Object
  extended bycoins.ffront.BaseManager
      extended bycoins.ffront.EquivManager

public class EquivManager
extends BaseManager

Equivalence values Manager


Nested Class Summary
(package private)  class EquivManager.EquivGroup
          Equivalence group.
 
Field Summary
(package private)  SymTable current_sym_table_
           
(package private)  java.util.List equivalence_variables_list_
           
(package private)  CommonManager fCommonMgr
           
(package private)  DeclManager fDeclMgr
           
(package private)  SymTable global_symbol_table_
           
(package private)  java.util.Map id_to_variable_table_
           
(package private)  java.util.Map in_block_var_table_
           
(package private)  java.lang.String unit_name_
           
 
Fields inherited from class coins.ffront.BaseManager
fHir, fHirUtil, fTypeUtil, hir, hirRoot, sym, symRoot
 
Constructor Summary
(package private) EquivManager(FirToHir fth, CommonManager cmgr, DeclManager declm)
           
 
Method Summary
(package private)  EquivManager.EquivGroup findAndAddToEquivGroup(FirList n)
          return equivalence group contains a node of n.
(package private)  boolean isEquivVariable(java.lang.String ident)
           
(package private)  void makeEquivVarsList()
          make eq_list_
(package private)  Exp makeExp(java.lang.String ident)
           
(package private)  void processEquiv(java.lang.String unit_name)
           
(package private)  Sym symEquivVariable(java.lang.String ident)
           
 
Methods inherited from class coins.ffront.BaseManager
dp, printMsgFatal, printMsgRecovered
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

id_to_variable_table_

java.util.Map id_to_variable_table_

equivalence_variables_list_

java.util.List equivalence_variables_list_

in_block_var_table_

java.util.Map in_block_var_table_

global_symbol_table_

SymTable global_symbol_table_

current_sym_table_

SymTable current_sym_table_

unit_name_

java.lang.String unit_name_

fDeclMgr

DeclManager fDeclMgr

fCommonMgr

CommonManager fCommonMgr
Constructor Detail

EquivManager

EquivManager(FirToHir fth,
             CommonManager cmgr,
             DeclManager declm)
Method Detail

makeExp

Exp makeExp(java.lang.String ident)

symEquivVariable

Sym symEquivVariable(java.lang.String ident)

isEquivVariable

boolean isEquivVariable(java.lang.String ident)

processEquiv

void processEquiv(java.lang.String unit_name)

makeEquivVarsList

void makeEquivVarsList()
make eq_list_
    f7Sym.equivList : ((A B) (B C) (D E F) ...)
    =>
    eq_list_        : ((A B C) (D E F) ...)

    id_list_table_ => (A => (A B C), B => (A B C), ...)

    A,B, ... : Pair(Token[Ident] , subsc)
    


findAndAddToEquivGroup

EquivManager.EquivGroup findAndAddToEquivGroup(FirList n)
return equivalence group contains a node of n. if no equivalence group, return new equivalence group contains n.