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

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


}

class PRED_$process_order_2_2 extends PRED_$process_order_2 {
    public Predicate exec(Prolog engine) {
    // '$process_order'(end_of_file,A):-!
        Term a1, a2;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // '$process_order'(end_of_file,A):-['$neck_cut']
        a1 = a1.dereference();
        if (a1.isSymbol()){
            if (! a1.equals(s4))
                return engine.fail();
        } else if (a1.isVariable()){
            ((VariableTerm) a1).bind(s4, engine.trail);
        } else {
            return engine.fail();
        }
        //START inline expansion of $neck_cut
View Full Code Here


}

class PRED_$process_order_2_3 extends PRED_$process_order_2 {
    public Predicate exec(Prolog engine) {
    // '$process_order'([A|B],C):-!,consult([A|B])
        Term a1, a2, a3, a4, a5;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // '$process_order'([A|B],C):-['$neck_cut',consult([A|B])]
        a1 = a1.dereference();
        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();
View Full Code Here

}

class PRED_$process_order_2_4 extends PRED_$process_order_2 {
    public Predicate exec(Prolog engine) {
    // '$process_order'(A,B):-current_prolog_flag(debug,C),'$dummy_26_builtins.pl'(A,C),nl,'$rm_redundant_vars'(B,D),'$give_answers_with_prompt'(D),!,'$fast_write'(yes),nl
        Term a1, a2, a3, a4, a5;
        Predicate p1, p2, p3, p4, p5, p6, p7;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
View Full Code Here

}

class PRED_$process_order_2_5 extends PRED_$process_order_2 {
    public Predicate exec(Prolog engine) {
    // '$process_order'(A,B):-nl,'$fast_write'(no),nl
        Term a1, a2;
        Predicate p1, p2;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
View Full Code Here

}

class PRED_$dcg_expansion_2_1 extends PRED_$dcg_expansion_2 {
    public Predicate exec(Prolog engine) {
    // '$dcg_expansion'(A,B):-var(A),!,A=B
        Term a1, a2, a3;
        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
        //START inline expansion of var(a(1))
        a1 = a1.dereference();
        if (! a1.isVariable()) {
            return engine.fail();
        }
        //END inline expansion
        //START inline expansion of $cut(a(3))
        a3 = a3.dereference();
        if (! a3.isInteger()) {
            throw new IllegalTypeException("integer", a3);
        } else {
            engine.cut(((IntegerTerm) a3).intValue());
        }
        //END inline expansion
        //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

}

class PRED_$dcg_expansion_2_2 extends PRED_$dcg_expansion_2 {
    public Predicate exec(Prolog engine) {
    // '$dcg_expansion'(A:B,A:C):-!,'$dcg_expansion'(B,C)
        Term a1, a2, a3, a4, a5;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // '$dcg_expansion'(A:B,A:C):-['$neck_cut','$dcg_expansion'(B,C)]
        a1 = a1.dereference();
        if (a1.isStructure()){
            if (! s1.equals(((StructureTerm)a1).functor()))
                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 {
View Full Code Here

}

class PRED_$dcg_expansion_2_3 extends PRED_$dcg_expansion_2 {
    public Predicate exec(Prolog engine) {
    // '$dcg_expansion'((A-->B),(C:-D,E)):-nonvar(A),A=(F,G),!,'$dcg_translate_dcg_atom'(F,C,H,I),'$dcg_translate_dcg'(B,D,H,J),'$dcg_translate_dcg'(G,E,I,J)
        Term a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15;
        Predicate p1, p2;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // '$dcg_expansion'((A-->B),(C:-D,E)):-['$get_level'(F),nonvar(A),'$unify'(A,(G,H)),'$cut'(F),'$dcg_translate_dcg_atom'(G,C,I,J),'$dcg_translate_dcg'(B,D,I,K),'$dcg_translate_dcg'(H,E,J,K)]
        a1 = a1.dereference();
        if (a1.isStructure()){
            if (! s2.equals(((StructureTerm)a1).functor()))
                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 {
View Full Code Here

}

class PRED_$dcg_expansion_2_4 extends PRED_$dcg_expansion_2 {
    public Predicate exec(Prolog engine) {
    // '$dcg_expansion'((A-->B),(C:-D)):-'$dcg_translate_dcg_atom'(A,C,E,F),'$dcg_translate_dcg'(B,D,E,F)
        Term a1, a2, a3, a4, a5, a6, a7, a8;
        Predicate p1;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // '$dcg_expansion'((A-->B),(C:-D)):-['$dcg_translate_dcg_atom'(A,C,E,F),'$dcg_translate_dcg'(B,D,E,F)]
        a1 = a1.dereference();
        if (a1.isStructure()){
            if (! s2.equals(((StructureTerm)a1).functor()))
                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 {
View Full Code Here

    }

    public Predicate exec(Prolog engine) {
    // compare(A,B,C):-'$compare0'(D,B,C),'$map_compare_op'(D,A)
        engine.setB0();
        Term a1, a2, a3, a4;
        Predicate p1;
        a1 = arg1;
        a2 = arg2;
        a3 = arg3;
    // compare(A,B,C):-['$compare0'(D,B,C),'$map_compare_op'(D,A)]
View Full Code Here

}

class PRED_$map_compare_op_2_1 extends PRED_$map_compare_op_2 {
    public Predicate exec(Prolog engine) {
    // '$map_compare_op'(A,B):-A=:=0,!,B= =
        Term a1, a2, a3;
        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,=)]
View Full Code Here

TOP

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

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.