mycompiler.mytypereconstruction.unify
Class Unify
java.lang.Object
mycompiler.mytypereconstruction.unify.Unify
public class Unify
- extends java.lang.Object
Implementierung des Unifizierungsalgorithmus
- Version:
- $Date: 2005/06/28 19:19:10 $
- Author:
- Martin Pl�micke, Thomas Ott
|
Constructor Summary |
Unify()
|
|
Method Summary |
de.dhbwstuttgart.typeinference.Menge |
adapt(java.lang.String strTV,
Type T,
de.dhbwstuttgart.typeinference.Menge vRFC,
de.dhbwstuttgart.typeinference.Menge vRE)
|
static de.dhbwstuttgart.typeinference.Menge<RefType> |
allGreater(RefType ty,
de.dhbwstuttgart.typeinference.Menge FC)
|
static de.dhbwstuttgart.typeinference.Menge<RefType> |
allSmaller(RefType ty,
de.dhbwstuttgart.typeinference.Menge FC)
|
static de.dhbwstuttgart.typeinference.Menge<Pair> |
copyMengePair(de.dhbwstuttgart.typeinference.Menge<Pair> vp)
|
de.dhbwstuttgart.typeinference.Menge<de.dhbwstuttgart.typeinference.Menge<Pair>> |
copyMengeMengePair(de.dhbwstuttgart.typeinference.Menge<de.dhbwstuttgart.typeinference.Menge<Pair>> vp)
|
static boolean |
hasSolvedForm(de.dhbwstuttgart.typeinference.Menge E)
|
static de.dhbwstuttgart.typeinference.Menge<de.dhbwstuttgart.typeinference.Menge<Pair>> |
instanceSmaller(Pair P,
FC_TTO fc_tto)
|
static Pair |
isInFC(RefType R1,
RefType R2,
de.dhbwstuttgart.typeinference.Menge FC)
|
static Pair |
isInFCrechtsUnify(RefType RT1,
RefType RT2,
FC_TTO fc_tto)
|
static boolean |
isRealSubClass(java.lang.String Basis,
java.lang.String Mutter,
FC_TTO fc_tto)
|
static boolean |
isRXSimilarRY(RefType RFC,
RefType RY)
|
static boolean |
isTVinRefType(TyploseVariable TV,
RefType RT)
|
static java.util.Hashtable |
match(RefType FCtype,
RefType tomatch,
java.util.Hashtable ht)
|
static int |
pi(int n,
java.lang.String C,
java.lang.String D,
de.dhbwstuttgart.typeinference.Menge tto)
|
static void |
printMenge(java.lang.String strMenge,
de.dhbwstuttgart.typeinference.Menge E,
int nDebug)
|
static void |
printMengeUnifier(java.lang.String strMenge,
de.dhbwstuttgart.typeinference.Menge<de.dhbwstuttgart.typeinference.Menge<Pair>> Uni,
int nDebug)
|
static de.dhbwstuttgart.typeinference.Menge |
sub_unify(de.dhbwstuttgart.typeinference.Menge E,
FC_TTO fc_tto)
|
static void |
Subst(Pair P,
int nTypnrInPair,
TyploseVariable a,
Type o,
boolean bMitVorbedingung)
|
static void |
SubstHashtable(RefType typterm,
java.util.Hashtable ht)
|
static de.dhbwstuttgart.typeinference.Menge<Pair> |
SubstHashtable2MengePair(java.util.Hashtable ht)
|
static de.dhbwstuttgart.typeinference.Menge<de.dhbwstuttgart.typeinference.Menge<Pair>> |
unify(Type ty1,
Type ty2,
FC_TTO fc_tto)
|
static de.dhbwstuttgart.typeinference.Menge<de.dhbwstuttgart.typeinference.Menge<Pair>> |
unify(de.dhbwstuttgart.typeinference.Menge<Pair> E,
FC_TTO fc_tto)
|
static void |
varSubst(RefType typterm,
java.util.Hashtable ht)
|
static java.util.Hashtable |
MengePair2SubstHashtableMengePair(de.dhbwstuttgart.typeinference.Menge<Pair> v)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Unify
public Unify()
unify
public static de.dhbwstuttgart.typeinference.Menge<de.dhbwstuttgart.typeinference.Menge<Pair>> unify(Type ty1,
Type ty2,
FC_TTO fc_tto)
unify
public static de.dhbwstuttgart.typeinference.Menge<de.dhbwstuttgart.typeinference.Menge<Pair>> unify(de.dhbwstuttgart.typeinference.Menge<Pair> E,
FC_TTO fc_tto)
match
public static java.util.Hashtable match(RefType FCtype,
RefType tomatch,
java.util.Hashtable ht)
throws MatchException
- Throws:
MatchException
sub_unify
public static de.dhbwstuttgart.typeinference.Menge sub_unify(de.dhbwstuttgart.typeinference.Menge E,
FC_TTO fc_tto)
adapt
public de.dhbwstuttgart.typeinference.Menge adapt(java.lang.String strTV,
Type T,
de.dhbwstuttgart.typeinference.Menge vRFC,
de.dhbwstuttgart.typeinference.Menge vRE)
isRXSimilarRY
public static boolean isRXSimilarRY(RefType RFC,
RefType RY)
SubstHashtable2MengePair
public static de.dhbwstuttgart.typeinference.Menge<Pair> SubstHashtable2MengePair(java.util.Hashtable ht)
MengePair2SubstHashtableMengePair
public static java.util.Hashtable MengePair2SubstHashtableMengePair(de.dhbwstuttgart.typeinference.Menge<Pair> v)
copyMengePair
public static de.dhbwstuttgart.typeinference.Menge<Pair> copyMengePair(de.dhbwstuttgart.typeinference.Menge<Pair> vp)
copyMengeMengePair
public de.dhbwstuttgart.typeinference.Menge<de.dhbwstuttgart.typeinference.Menge<Pair>> copyMengeMengePair(de.dhbwstuttgart.typeinference.Menge<de.dhbwstuttgart.typeinference.Menge<Pair>> vp)
instanceSmaller
public static de.dhbwstuttgart.typeinference.Menge<de.dhbwstuttgart.typeinference.Menge<Pair>> instanceSmaller(Pair P,
FC_TTO fc_tto)
allSmaller
public static de.dhbwstuttgart.typeinference.Menge<RefType> allSmaller(RefType ty,
de.dhbwstuttgart.typeinference.Menge FC)
allGreater
public static de.dhbwstuttgart.typeinference.Menge<RefType> allGreater(RefType ty,
de.dhbwstuttgart.typeinference.Menge FC)
isInFC
public static Pair isInFC(RefType R1,
RefType R2,
de.dhbwstuttgart.typeinference.Menge FC)
isInFCrechtsUnify
public static Pair isInFCrechtsUnify(RefType RT1,
RefType RT2,
FC_TTO fc_tto)
isTVinRefType
public static boolean isTVinRefType(TyploseVariable TV,
RefType RT)
Subst
public static void Subst(Pair P,
int nTypnrInPair,
TyploseVariable a,
Type o,
boolean bMitVorbedingung)
SubstHashtable
public static void SubstHashtable(RefType typterm,
java.util.Hashtable ht)
isRealSubClass
public static boolean isRealSubClass(java.lang.String Basis,
java.lang.String Mutter,
FC_TTO fc_tto)
pi
public static int pi(int n,
java.lang.String C,
java.lang.String D,
de.dhbwstuttgart.typeinference.Menge tto)
throws SCException
- Throws:
SCException
printMengeUnifier
public static void printMengeUnifier(java.lang.String strMenge,
de.dhbwstuttgart.typeinference.Menge<de.dhbwstuttgart.typeinference.Menge<Pair>> Uni,
int nDebug)
printMenge
public static void printMenge(java.lang.String strMenge,
de.dhbwstuttgart.typeinference.Menge E,
int nDebug)
hasSolvedForm
public static boolean hasSolvedForm(de.dhbwstuttgart.typeinference.Menge E)
varSubst
public static void varSubst(RefType typterm,
java.util.Hashtable ht)