Examples of VariableTerm


Examples of com.googlecode.prolog_cafe.lang.VariableTerm

      env.set(StoredValues.PATCH_SET, patchSet);
      env.set(StoredValues.CHANGE_CONTROL, this);

      submitRule = env.once(
        "gerrit", "locate_submit_rule",
        new VariableTerm());
      if (submitRule == null) {
        return logRuleError("No user:submit_rule found for "
            + getProject().getName());
      }

      if (fastEvalLabels) {
        env.once("gerrit", "assume_range_from_label");
      }

      try {
        for (Term[] template : env.all(
            "gerrit", "can_submit",
            submitRule,
            new VariableTerm())) {
          results.add(template[1]);
        }
      } catch (PrologException err) {
        return logRuleError("Exception calling " + submitRule + " on change "
            + change.getId() + " of " + getProject().getName(), err);
      } catch (RuntimeException err) {
        return logRuleError("Exception calling " + submitRule + " on change "
            + change.getId() + " of " + getProject().getName(), err);
      }

      ProjectState parentState = projectState.getParentState();
      PrologEnvironment childEnv = env;
      Set<Project.NameKey> projectsSeen = new HashSet<Project.NameKey>();
      projectsSeen.add(getProject().getNameKey());

      while (parentState != null) {
        if (!projectsSeen.add(parentState.getProject().getNameKey())) {
          //parent has been seen before, stop walk up inheritance tree
          break;
        }
        PrologEnvironment parentEnv;
        try {
          parentEnv = parentState.newPrologEnvironment();
        } catch (CompileException err) {
          return logRuleError("Cannot consult rules.pl for "
              + parentState.getProject().getName(), err);
        }

        parentEnv.copyStoredValues(childEnv);
        Term filterRule =
            parentEnv.once("gerrit", "locate_submit_filter", new VariableTerm());
        if (filterRule != null) {
          try {
            if (fastEvalLabels) {
              env.once("gerrit", "assume_range_from_label");
            }

            Term resultsTerm = toListTerm(results);
            results.clear();
            Term[] template = parentEnv.once(
                "gerrit", "filter_submit_results",
                filterRule,
                resultsTerm,
                new VariableTerm());
            @SuppressWarnings("unchecked")
            final List<? extends Term> termList = ((ListTerm) template[2]).toJava();
            results.addAll(termList);
          } catch (PrologException err) {
            return logRuleError("Exception calling " + filterRule + " on change "
View Full Code Here

Examples of jp.ac.kobe_u.cs.prolog.lang.VariableTerm

        if (a1.isList()){
            Term[] args = {((ListTerm)a1).car(), ((ListTerm)a1).cdr()};
            a3 = args[0];
            a4 = args[1];
        } else if (a1.isVariable()){
            a3 = new VariableTerm(engine);
            a4 = new VariableTerm(engine);
            ((VariableTerm) a1).bind(new ListTerm(a3, a4), engine.trail);
        } else {
            return engine.fail();
        }
        //START inline expansion of $neck_cut
View Full Code Here

Examples of jp.ac.kobe_u.cs.prolog.lang.VariableTerm

        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // '$process_order'(A,B):-['$get_level'(C),current_prolog_flag(debug,D),'$dummy_26_builtins.pl'(A,D),nl,'$rm_redundant_vars'(B,E),'$give_answers_with_prompt'(E),'$cut'(C),'$fast_write'(yes),nl]
        a3 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(3))
        if (! a3.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        a4 = new VariableTerm(engine);
        a5 = new VariableTerm(engine);
        p1 = new PRED_nl_0(cont);
        p2 = new PRED_$fast_write_1(s6, p1);
        p3 = new PRED_$cut_1(a3, p2);
        p4 = new PRED_$give_answers_with_prompt_1(a5, p3);
        p5 = new PRED_$rm_redundant_vars_2(a2, a5, p4);
View Full Code Here

Examples of jp.ac.kobe_u.cs.prolog.lang.VariableTerm

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

Examples of jp.ac.kobe_u.cs.prolog.lang.VariableTerm

                return engine.fail();
            Term[] args = ((StructureTerm)a1).args();
            a3 = args[0];
            a4 = args[1];
        } else if (a1.isVariable()){
            a3 = new VariableTerm(engine);
            a4 = new VariableTerm(engine);
            Term[] args = {a3, a4};
            ((VariableTerm) a1).bind(new StructureTerm(s1, args), engine.trail);
        } else {
            return engine.fail();
        }
        a2 = a2.dereference();
        if (a2.isStructure()){
            if (! s1.equals(((StructureTerm)a2).functor()))
                return engine.fail();
            Term[] args = ((StructureTerm)a2).args();
            if (! a3.unify(args[0], engine.trail))
                return engine.fail();
            a5 = args[1];
        } else if (a2.isVariable()){
            a5 = new VariableTerm(engine);
            Term[] args = {a3, a5};
            ((VariableTerm) a2).bind(new StructureTerm(s1, args), engine.trail);
        } else {
            return engine.fail();
        }
View Full Code Here

Examples of jp.ac.kobe_u.cs.prolog.lang.VariableTerm

                return engine.fail();
            Term[] args = ((StructureTerm)a1).args();
            a3 = args[0];
            a4 = args[1];
        } else if (a1.isVariable()){
            a3 = new VariableTerm(engine);
            a4 = new VariableTerm(engine);
            Term[] args = {a3, a4};
            ((VariableTerm) a1).bind(new StructureTerm(s2, args), engine.trail);
        } else {
            return engine.fail();
        }
        a2 = a2.dereference();
        if (a2.isStructure()){
            if (! s3.equals(((StructureTerm)a2).functor()))
                return engine.fail();
            Term[] args = ((StructureTerm)a2).args();
            a5 = args[0];
            a6 = args[1];
        } else if (a2.isVariable()){
            a5 = new VariableTerm(engine);
            a6 = new VariableTerm(engine);
            Term[] args = {a5, a6};
            ((VariableTerm) a2).bind(new StructureTerm(s3, args), engine.trail);
        } else {
            return engine.fail();
        }
        a6 = a6.dereference();
        if (a6.isStructure()){
            if (! s4.equals(((StructureTerm)a6).functor()))
                return engine.fail();
            Term[] args = ((StructureTerm)a6).args();
            a7 = args[0];
            a8 = args[1];
        } else if (a6.isVariable()){
            a7 = new VariableTerm(engine);
            a8 = new VariableTerm(engine);
            Term[] args = {a7, a8};
            ((VariableTerm) a6).bind(new StructureTerm(s4, args), engine.trail);
        } else {
            return engine.fail();
        }
        a9 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(9))
        if (! a9.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        //START inline expansion of nonvar(a(3))
        a3 = a3.dereference();
        if (a3.isVariable()) {
            return engine.fail();
        }
        //END inline expansion
        a10 = new VariableTerm(engine);
        a11 = new VariableTerm(engine);
        Term[] y1 = {a10, a11};
        a12 = new StructureTerm(s4, y1);
        //START inline expansion of $unify(a(3),a(12))
        if (! a3.unify(a12, engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        //START inline expansion of $cut(a(9))
        a9 = a9.dereference();
        if (! a9.isInteger()) {
            throw new IllegalTypeException("integer", a9);
        } else {
            engine.cut(((IntegerTerm) a9).intValue());
        }
        //END inline expansion
        a13 = new VariableTerm(engine);
        a14 = new VariableTerm(engine);
        a15 = new VariableTerm(engine);
        p1 = new PRED_$dcg_translate_dcg_4(a11, a8, a14, a15, cont);
        p2 = new PRED_$dcg_translate_dcg_4(a4, a7, a13, a15, p1);
        return new PRED_$dcg_translate_dcg_atom_4(a10, a5, a13, a14, p2);
    }
View Full Code Here

Examples of jp.ac.kobe_u.cs.prolog.lang.VariableTerm

                return engine.fail();
            Term[] args = ((StructureTerm)a1).args();
            a3 = args[0];
            a4 = args[1];
        } else if (a1.isVariable()){
            a3 = new VariableTerm(engine);
            a4 = new VariableTerm(engine);
            Term[] args = {a3, a4};
            ((VariableTerm) a1).bind(new StructureTerm(s2, args), engine.trail);
        } else {
            return engine.fail();
        }
        a2 = a2.dereference();
        if (a2.isStructure()){
            if (! s3.equals(((StructureTerm)a2).functor()))
                return engine.fail();
            Term[] args = ((StructureTerm)a2).args();
            a5 = args[0];
            a6 = args[1];
        } else if (a2.isVariable()){
            a5 = new VariableTerm(engine);
            a6 = new VariableTerm(engine);
            Term[] args = {a5, a6};
            ((VariableTerm) a2).bind(new StructureTerm(s3, args), engine.trail);
        } else {
            return engine.fail();
        }
        a7 = new VariableTerm(engine);
        a8 = new VariableTerm(engine);
        p1 = new PRED_$dcg_translate_dcg_4(a4, a6, a7, a8, cont);
        return new PRED_$dcg_translate_dcg_atom_4(a3, a5, a7, a8, p1);
    }
View Full Code Here

Examples of jp.ac.kobe_u.cs.prolog.lang.VariableTerm

        Predicate p1;
        a1 = arg1;
        a2 = arg2;
        a3 = arg3;
    // compare(A,B,C):-['$compare0'(D,B,C),'$map_compare_op'(D,A)]
        a4 = new VariableTerm(engine);
        p1 = new PRED_$map_compare_op_2(a4, a1, cont);
        return new PRED_$compare0_3(a4, a2, a3, p1);
    }
View Full Code Here

Examples of jp.ac.kobe_u.cs.prolog.lang.VariableTerm

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

Examples of jp.ac.kobe_u.cs.prolog.lang.VariableTerm

        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // '$map_compare_op'(A,B):-['$get_level'(C),'$less_than'(A,0),'$cut'(C),'$unify'(B,<)]
        a3 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(3))
        if (! a3.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
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.