coins.backend.tools
クラス RegisterDescription2Java

java.lang.Object
  |
  +--coins.backend.tools.RegisterDescription2Java

class RegisterDescription2Java
extends java.lang.Object

Preprocessing *.tmd to make register-model description parameters.


入れ子クラスの概要
(パッケージプライベート) static class RegisterDescription2Java.RegisterSet
          Set of registers.
(パッケージプライベート) static class RegisterDescription2Java.RegSymbol
           
(パッケージプライベート) static class RegisterDescription2Java.SymTab
           
 
フィールドの概要
(パッケージプライベート)  int addrType
           
(パッケージプライベート)  int boolType
           
(パッケージプライベート)  java.io.PrintWriter debOut
           
(パッケージプライベート)  java.io.PrintWriter javaOut
           
(パッケージプライベート) static int MAXSET
           
(パッケージプライベート)  int nRegs
           
(パッケージプライベート)  int nSets
           
(パッケージプライベート)  BiList registerSets
           
(パッケージプライベート)  RegisterDescription2Java.RegisterSet[] regsetVec
           
(パッケージプライベート)  RegisterDescription2Java.RegSymbol[] regVec
           
(パッケージプライベート)  RegisterDescription2Java.SymTab symtbl
           
(パッケージプライベート)  java.lang.String targetName
           
 
コンストラクタの概要
(パッケージプライベート) RegisterDescription2Java(java.lang.String targetName, java.lang.String file, java.lang.String packageName)
          Create register description table.
 
メソッドの概要
(パッケージプライベート)  RegisterDescription2Java.RegisterSet andSet(RegisterDescription2Java.RegisterSet x, RegisterDescription2Java.RegisterSet y)
          Return and set of RegisterSet x and y.
(パッケージプライベート)  void canonRegRelations()
          Canonicalize parent information of registers.
(パッケージプライベート)  void close()
          Generate register description table.
(パッケージプライベート)  boolean covers(RegisterDescription2Java.RegSymbol x, RegisterDescription2Java.RegSymbol y)
          Return true if register x covers y.
(パッケージプライベート)  void doDef(ImList form)
          Parse form (def *reg-foo* ...)
(パッケージプライベート)  RegisterDescription2Java.RegisterSet findRegisterSet(BitMapSet set)
           
(パッケージプライベート)  void genTables(java.lang.String targetName, java.io.PrintWriter out)
          table generation
(パッケージプライベート)  RegisterDescription2Java.RegSymbol installRegister(RegisterDescription2Java.RegSymbol sym)
           
(パッケージプライベート)  RegisterDescription2Java.RegisterSet installRegisterSet(BitMapSet set, java.lang.String name, int type)
          Return register set which has set 'set' in it.
(パッケージプライベート)  RegisterDescription2Java.RegSymbol installSubRegister(RegisterDescription2Java.RegSymbol parent, int type, int position)
           
(パッケージプライベート)  boolean interferes(RegisterDescription2Java.RegisterSet x, RegisterDescription2Java.RegisterSet y)
          Return true if register set x interferes y.
(パッケージプライベート)  boolean interferes(RegisterDescription2Java.RegSymbol x, RegisterDescription2Java.RegSymbol y)
          Return true if register x interferes y.
(パッケージプライベート)  void parseRegisterSet(java.lang.String setname, ImList sexp)
          Install register set.
(パッケージプライベート)  int relativeWeight(RegisterDescription2Java.RegisterSet x, RegisterDescription2Java.RegisterSet y)
          Return relative weight of register set y when compared to x.
(パッケージプライベート)  void setRegVector()
           
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

symtbl

RegisterDescription2Java.SymTab symtbl

debOut

java.io.PrintWriter debOut

javaOut

java.io.PrintWriter javaOut

targetName

java.lang.String targetName

registerSets

BiList registerSets

MAXSET

static final int MAXSET
関連項目:
定数フィールド値

regVec

RegisterDescription2Java.RegSymbol[] regVec

regsetVec

RegisterDescription2Java.RegisterSet[] regsetVec

nSets

int nSets

nRegs

int nRegs

addrType

int addrType

boolType

int boolType
コンストラクタの詳細

RegisterDescription2Java

RegisterDescription2Java(java.lang.String targetName,
                         java.lang.String file,
                         java.lang.String packageName)
                   throws java.io.IOException
Create register description table.

メソッドの詳細

installRegister

RegisterDescription2Java.RegSymbol installRegister(RegisterDescription2Java.RegSymbol sym)

installSubRegister

RegisterDescription2Java.RegSymbol installSubRegister(RegisterDescription2Java.RegSymbol parent,
                                                      int type,
                                                      int position)

canonRegRelations

void canonRegRelations()
Canonicalize parent information of registers.


setRegVector

void setRegVector()

findRegisterSet

RegisterDescription2Java.RegisterSet findRegisterSet(BitMapSet set)

installRegisterSet

RegisterDescription2Java.RegisterSet installRegisterSet(BitMapSet set,
                                                        java.lang.String name,
                                                        int type)
Return register set which has set 'set' in it. If not exist, install it.


andSet

RegisterDescription2Java.RegisterSet andSet(RegisterDescription2Java.RegisterSet x,
                                            RegisterDescription2Java.RegisterSet y)
Return and set of RegisterSet x and y.


interferes

boolean interferes(RegisterDescription2Java.RegSymbol x,
                   RegisterDescription2Java.RegSymbol y)
Return true if register x interferes y.


covers

boolean covers(RegisterDescription2Java.RegSymbol x,
               RegisterDescription2Java.RegSymbol y)
Return true if register x covers y.


interferes

boolean interferes(RegisterDescription2Java.RegisterSet x,
                   RegisterDescription2Java.RegisterSet y)
Return true if register set x interferes y.


relativeWeight

int relativeWeight(RegisterDescription2Java.RegisterSet x,
                   RegisterDescription2Java.RegisterSet y)
Return relative weight of register set y when compared to x. Relative-weight(x,y) = number of elements in x covered by the element of y.


parseRegisterSet

void parseRegisterSet(java.lang.String setname,
                      ImList sexp)
                throws SyntaxError
Install register set.

SyntaxError

genTables

void genTables(java.lang.String targetName,
               java.io.PrintWriter out)
table generation


doDef

void doDef(ImList form)
     throws SyntaxError
Parse form (def *reg-foo* ...)

SyntaxError

close

void close()
Generate register description table.