mycompiler.mytypereconstruction.unify
Class Unify

java.lang.Object
  extended by 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
 java.util.Vector adapt(java.lang.String strTV, Type T, java.util.Vector vRFC, java.util.Vector vRE)
           
static java.util.Vector<RefType> allGreater(RefType ty, java.util.Vector FC)
           
static java.util.Vector<RefType> allSmaller(RefType ty, java.util.Vector FC)
           
static java.util.Vector<Pair> copyVectorPair(java.util.Vector<Pair> vp)
           
 java.util.Vector<java.util.Vector<Pair>> copyVectorVectorPair(java.util.Vector<java.util.Vector<Pair>> vp)
           
static boolean hasSolvedForm(java.util.Vector E)
           
static java.util.Vector<java.util.Vector<Pair>> instanceSmaller(Pair P, FC_TTO fc_tto)
           
static Pair isInFC(RefType R1, RefType R2, java.util.Vector 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, java.util.Vector tto)
           
static void printMenge(java.lang.String strMenge, java.util.Vector E, int nDebug)
           
static void printMengeUnifier(java.lang.String strMenge, java.util.Vector<java.util.Vector<Pair>> Uni, int nDebug)
           
static java.util.Vector sub_unify(java.util.Vector 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 java.util.Vector<Pair> SubstHashtable2VectorPair(java.util.Hashtable ht)
           
static java.util.Vector<java.util.Vector<Pair>> unify(Type ty1, Type ty2, FC_TTO fc_tto)
           
static java.util.Vector<java.util.Vector<Pair>> unify(java.util.Vector<Pair> E, FC_TTO fc_tto)
           
static void varSubst(RefType typterm, java.util.Hashtable ht)
           
static java.util.Hashtable VectorPair2SubstHashtableVectorPair(java.util.Vector<Pair> v)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Unify

public Unify()
Method Detail

unify

public static java.util.Vector<java.util.Vector<Pair>> unify(Type ty1,
                                                             Type ty2,
                                                             FC_TTO fc_tto)

unify

public static java.util.Vector<java.util.Vector<Pair>> unify(java.util.Vector<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 java.util.Vector sub_unify(java.util.Vector E,
                                         FC_TTO fc_tto)

adapt

public java.util.Vector adapt(java.lang.String strTV,
                              Type T,
                              java.util.Vector vRFC,
                              java.util.Vector vRE)

isRXSimilarRY

public static boolean isRXSimilarRY(RefType RFC,
                                    RefType RY)

SubstHashtable2VectorPair

public static java.util.Vector<Pair> SubstHashtable2VectorPair(java.util.Hashtable ht)

VectorPair2SubstHashtableVectorPair

public static java.util.Hashtable VectorPair2SubstHashtableVectorPair(java.util.Vector<Pair> v)

copyVectorPair

public static java.util.Vector<Pair> copyVectorPair(java.util.Vector<Pair> vp)

copyVectorVectorPair

public java.util.Vector<java.util.Vector<Pair>> copyVectorVectorPair(java.util.Vector<java.util.Vector<Pair>> vp)

instanceSmaller

public static java.util.Vector<java.util.Vector<Pair>> instanceSmaller(Pair P,
                                                                       FC_TTO fc_tto)

allSmaller

public static java.util.Vector<RefType> allSmaller(RefType ty,
                                                   java.util.Vector FC)

allGreater

public static java.util.Vector<RefType> allGreater(RefType ty,
                                                   java.util.Vector FC)

isInFC

public static Pair isInFC(RefType R1,
                          RefType R2,
                          java.util.Vector 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,
                     java.util.Vector tto)
              throws SCException
Throws:
SCException

printMengeUnifier

public static void printMengeUnifier(java.lang.String strMenge,
                                     java.util.Vector<java.util.Vector<Pair>> Uni,
                                     int nDebug)

printMenge

public static void printMenge(java.lang.String strMenge,
                              java.util.Vector E,
                              int nDebug)

hasSolvedForm

public static boolean hasSolvedForm(java.util.Vector E)

varSubst

public static void varSubst(RefType typterm,
                            java.util.Hashtable ht)