Package jp.ac.kobe_u.cs.prolog.lang

Examples of jp.ac.kobe_u.cs.prolog.lang.Term.unify()


        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // '$prolog_file_name'(A,A):-['$get_level'(B),sub_atom(A,C,D,E,'.'),'$greater_than'(E,0),'$cut'(B)]
        if (! a1.unify(a2, engine.trail))
            return engine.fail();
        a3 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(3))
        if (! a3.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
View Full Code Here


      if (n < 0) {
        throw new IllegalDomainException(this, 3, "not_less_than_zero",
            a3);
      }
      if (n == 0) {
        if (!a1.unify(a2, engine.trail)) {
          return engine.fail();
        }
        return cont;
      }
      if (!a2.isSymbol()) {
View Full Code Here

  @Override
  public Predicate exec(Prolog engine) {
    engine.setB0();
    Term a1;
    a1 = arg1;
    if (!a1.unify(new IntegerTerm(engine.stack.top()), engine.trail)) {
      return engine.fail();
    }
    return cont;
  }
}
View Full Code Here

        Term a1, a2;
        a1 = arg1;
        a2 = arg2;
    // '$unify'(A,B):-['$unify'(A,B)]
        //START inline expansion of $unify(a(1),a(2))
        if (! a1.unify(a2, engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        return cont;
    }
View Full Code Here

    a1 = a1.dereference();
    if (a1.isVariable()) {
      ((VariableTerm) a1).bind(new JavaObjectTerm(engine
          .getCurrentOutput()), engine.trail);
    } else if (a1.isJavaObject()) {
      if (!a1.unify(new JavaObjectTerm(engine.getCurrentOutput()),
          engine.trail)) {
        return engine.fail();
      }
    } else {
      throw new IllegalDomainException(this, 1, "stream", a1);
View Full Code Here

        a2 = arg2;
    // '$identical_or_cannot_unify'(A,B):-['$identical_or_cannot_unify'(A,B)]
        //START inline expansion of $identical_or_cannot_unify(a(1),a(2))
        a1 = a1.dereference();
        a2 = a2.dereference();
        if (! a1.equals(a2) && a1.unify(a2, engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        return cont;
    }
View Full Code Here

        Term a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13;
        Predicate p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11;
    // '$cafeteria_init':-['$get_level'(A),retractall('jp.ac.kobe_u.cs.prolog.builtin':'$leap_flag'(B)),retractall('jp.ac.kobe_u.cs.prolog.builtin':'$current_leash'(C)),retractall('jp.ac.kobe_u.cs.prolog.builtin':'$current_spypoint'(D,E,F)),retractall('jp.ac.kobe_u.cs.prolog.builtin':'$consulted_file'(G)),retractall('jp.ac.kobe_u.cs.prolog.builtin':'$consulted_package'(H)),retractall('jp.ac.kobe_u.cs.prolog.builtin':'$consulted_predicate'(I,J,K)),assertz('jp.ac.kobe_u.cs.prolog.builtin':'$leap_flag'(no)),assertz('jp.ac.kobe_u.cs.prolog.builtin':'$current_leash'(call)),assertz('jp.ac.kobe_u.cs.prolog.builtin':'$current_leash'(exit)),assertz('jp.ac.kobe_u.cs.prolog.builtin':'$current_leash'(redo)),assertz('jp.ac.kobe_u.cs.prolog.builtin':'$current_leash'(fail)),'$cut'(A)]
        a1 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(1))
        if (! a1.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        Term[] y1 = {new VariableTerm(engine)};
        a2 = new StructureTerm(s3, y1);
View Full Code Here

        } else if (a2.isVariable()){
            ((VariableTerm) a2).bind(s1, engine.trail);
        } else {
            return engine.fail();
        }
        if (! a1.unify(a3, engine.trail))
            return engine.fail();
        //START inline expansion of $neck_cut
        engine.neckCut();
        //END inline expansion
        return cont;
View Full Code Here

        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        cont = engine.cont;
    // '$catch_and_throw'(A,A,B):-['$neck_cut','$set_exception'('$no_ball'),call('jp.ac.kobe_u.cs.prolog.builtin':B)]
        if (! a1.unify(a2, engine.trail))
            return engine.fail();
        //START inline expansion of $neck_cut
        engine.neckCut();
        //END inline expansion
        Term[] y1 = {s3, a3};
View Full Code Here

        Term a1, a2;
        a1 = arg1;
        a2 = arg2;
    // '$not_unifiable'(A,B):-['$not_unifiable'(A,B)]
        //START inline expansion of $not_unifiable(a(1),a(2))
        if (a1.unify(a2, engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        return cont;
    }
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. 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.