|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.ffront.EquivManager.EquivGroup
Equivalence group.
ex) (A B) (B C) is group "(A B C)" each of the equivalence variables has "height" (in this case, all var's heights are 0) ex) (A(2), B(3), C) (all vars is real type) A's heigth is 4. B's height is 0. C's is 8. (real type 1 word is 4 bytes). as C notation. union{ struct{ char padding[4] real var; }A; struct{ real var; }B; struct{ char padding[4] real var; }C; }equiv1; ex) If Common variable and Equivalence variable mix, modify global common block union(region)type like this: f: common /B1/ a,b equivalence (a,x), (b,y) => Global Scope union{ struct{ real a; real b; } unit_name_A; union{ struct{ real var; }x; }unit_name_A_x; union{ struct{ real padding[1]; real var; }y; }unit_name_A_y; } BlockA; access to x: BlockA.unit_name_A_a.x.var;
入れ子クラスの概要 | |
(パッケージプライベート) class |
EquivManager.EquivGroup.EquivElem
equiv element class. |
フィールドの概要 | |
(パッケージプライベート) java.util.Map |
table_
|
コンストラクタの概要 | |
(パッケージプライベート) |
EquivManager.EquivGroup(FirList vars)
build equiv group with some equivalence variables |
メソッドの概要 | |
(パッケージプライベート) void |
addElems(FirList vars)
add new equivalence group. new group must be related with this equiv group |
(パッケージプライベート) void |
addElems(FirList vars,
int base)
with base |
(パッケージプライベート) void |
addIDsToTable(Var v)
|
(パッケージプライベート) Elem |
addUnionElem(EquivManager.EquivGroup.EquivElem ee,
int max,
SymTable c_table)
|
(パッケージプライベート) int |
getHeight(java.lang.String ident)
|
(パッケージプライベート) int |
getMaxHeight()
|
(パッケージプライベート) int |
getNodeHeight(Node n)
|
(パッケージプライベート) java.lang.String |
getNodeLexem(Node n)
Node must be type Token or Pair. |
(パッケージプライベート) Type |
getNodeType(Node n)
|
(パッケージプライベート) boolean |
isContainNode(Node n)
(A B C) + B => true |
(パッケージプライベート) boolean |
isContainNodes(FirList vars)
(A B C) + (B X) => true |
(パッケージプライベート) Type |
makeEquivTypeUnder(SymTable c_table)
|
(パッケージプライベート) java.lang.String |
searchBlockVariable()
If contain block(common) variable, return this indentifier. |
java.lang.String |
toString()
|
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
java.util.Map table_
コンストラクタの詳細 |
EquivManager.EquivGroup(FirList vars)
メソッドの詳細 |
void addIDsToTable(Var v)
void addElems(FirList vars)
void addElems(FirList vars, int base)
int getNodeHeight(Node n)
int getHeight(java.lang.String ident)
int getMaxHeight()
java.lang.String searchBlockVariable()
Type makeEquivTypeUnder(SymTable c_table)
Elem addUnionElem(EquivManager.EquivGroup.EquivElem ee, int max, SymTable c_table)
boolean isContainNode(Node n)
boolean isContainNodes(FirList vars)
java.lang.String getNodeLexem(Node n)
Type getNodeType(Node n)
public java.lang.String toString()
java.lang.Object
内の toString
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |