Package PrologPlusCG.prolog

Examples of PrologPlusCG.prolog.PrologList


            bResult = false;
          }
        } else if ((valIndLeft.pData.data instanceof PrologList) &&
            (valIndRight.pData.data instanceof PrologList)) {
          // Ttraiter le cas des referents-ensembles
          PrologList setVal1 = (PrologList) valIndLeft.pData.data;
          PrologList setVal2 = (PrologList) valIndRight.pData.data;
          PrologList setVal3 = null;
         
          if (OperCG == e_maximalJoin) { // Determiner l'union
            setVal3 = env.compile.union(setVal1, setVal2);
            C3.m_pdReferent = new PrologData(uSet, setVal3);
            bResult = aUnifyCG.conform(C3.m_pdReferent, valIndLeft.index,
                (String) C3.m_pdType.data); // et si le type est une variable qui a une valeur..?      
          } else if (OperCG == e_generalize) { // Determiner l'intersection
            setVal3 = env.compile.intersection(setVal1, setVal2);
            C3.m_pdReferent = new PrologData(uSet, setVal3);
          } else if ((OperCG == e_subsume) ||
              (OperCG == e_subsumeWithoutResult) ||
              (OperCG == e_partialContract) ||
              (OperCG == e_completeContract)) { // Determiner inclusion
           
            if (env.compile.set1IsSubsetOfSet2(setVal1, setVal2)) {
              if (OperCG == e_subsume) {
                C3.m_pdReferent = valIndRight.pData.myCopy();
              }
            } else {
              bResult = false;
            }
          }
        } else if ((valIndLeft.pData.data instanceof String) &&
            (valIndRight.pData.data instanceof PrologList)) {
          // Traiter le cas ou l'un est un ref et l'autre un ensemble
          String sVal1 = (String) valIndLeft.pData.data;
          PrologList setVal2 = (PrologList) valIndRight.pData.data;
          PrologList setVal3 = null;
         
          if (OperCG == e_maximalJoin) {
            setVal3 = env.compile.union(valIndLeft.pData, setVal2);
            C3.m_pdReferent = new PrologData(uSet, setVal3);
            bResult = aUnifyCG.conform(C3.m_pdReferent, valIndLeft.index,
                (String) C3.m_pdType.data); // et si le type est une variable qui a une valeur..?         
          } else if (OperCG == e_generalize) { // Determiner l'intersection
           
            if (env.compile.hasString(sVal1, setVal2)) {
              C3.m_pdReferent = valIndLeft.pData.myCopy();
            } else {
              C3.m_pdReferent = null;
            }
          } else if ((OperCG == e_subsume) ||
              (OperCG == e_subsumeWithoutResult) ||
              (OperCG == e_partialContract) ||
              (OperCG == e_completeContract)) { // Determiner inclusion
           
            if (env.compile.hasString(sVal1, setVal2)) {
              if (OperCG == e_subsume) {
                C3.m_pdReferent = valIndRight.pData.myCopy();
              }
            } else {
              bResult = false;
            }
          }
        } else if ((valIndLeft.pData.data instanceof PrologList) &&
            (valIndRight.pData.data instanceof String)) {
          // Traiter le cas ou l'un est un ref et l'autre un ensemble
          PrologList setVal1 = (PrologList) valIndLeft.pData.data;
          String sVal2 = (String) valIndRight.pData.data;
          PrologList setVal3 = null;
         
          if (OperCG == e_maximalJoin) {
            setVal3 = env.compile.union(valIndRight.pData, setVal1);
            C3.m_pdReferent = new PrologData(uSet, setVal3);
            bResult = aUnifyCG.conform(C3.m_pdReferent, valIndLeft.index,
View Full Code Here

TOP

Related Classes of PrologPlusCG.prolog.PrologList

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.