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

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


        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

        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

                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

                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

                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

        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

        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

        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

        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // '$map_compare_op'(A,B):-['$get_level'(C),'$greater_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

Related Classes of jp.ac.kobe_u.cs.prolog.lang.VariableTerm

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.