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

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


}

class PRED_$builtin_meta_predicates_3_8 extends PRED_$builtin_meta_predicates_3 {
    public Predicate exec(Prolog engine) {
    // '$builtin_meta_predicates'(on_exception,3,[?,:,:]):-true
        Term a1, a2, a3;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        cont = engine.cont;
    // '$builtin_meta_predicates'(on_exception,3,[?,:,:]):-[]
        a1 = a1.dereference();
        if (a1.isSymbol()){
            if (! a1.equals(s19))
                return engine.fail();
        } else if (a1.isVariable()){
            ((VariableTerm) a1).bind(s19, engine.trail);
        } else {
            return engine.fail();
        }
        a2 = a2.dereference();
View Full Code Here


}

class PRED_$builtin_meta_predicates_3_9 extends PRED_$builtin_meta_predicates_3 {
    public Predicate exec(Prolog engine) {
    // '$builtin_meta_predicates'(catch,3,[:,?,:]):-true
        Term a1, a2, a3;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        cont = engine.cont;
    // '$builtin_meta_predicates'(catch,3,[:,?,:]):-[]
        a1 = a1.dereference();
        if (a1.isSymbol()){
            if (! a1.equals(s22))
                return engine.fail();
        } else if (a1.isVariable()){
            ((VariableTerm) a1).bind(s22, engine.trail);
        } else {
            return engine.fail();
        }
        a2 = a2.dereference();
View Full Code Here

}

class PRED_$builtin_meta_predicates_3_10 extends PRED_$builtin_meta_predicates_3 {
    public Predicate exec(Prolog engine) {
    // '$builtin_meta_predicates'(freeze,2,[?,:]):-true
        Term a1, a2, a3;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        cont = engine.cont;
    // '$builtin_meta_predicates'(freeze,2,[?,:]):-[]
        a1 = a1.dereference();
        if (a1.isSymbol()){
            if (! a1.equals(s24))
                return engine.fail();
        } else if (a1.isVariable()){
            ((VariableTerm) a1).bind(s24, engine.trail);
        } else {
            return engine.fail();
        }
        a2 = a2.dereference();
View Full Code Here

}

class PRED_$builtin_member_2_1 extends PRED_$builtin_member_2 {
    public Predicate exec(Prolog engine) {
    // '$builtin_member'(A,[A|B]):-true
        Term a1, a2;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // '$builtin_member'(A,[A|B]):-[]
        a2 = a2.dereference();
        if (a2.isList()){
            Term[] args = {((ListTerm)a2).car(), ((ListTerm)a2).cdr()};
            if (! a1.unify(args[0], engine.trail))
                return engine.fail();
        } else if (a2.isVariable()){
            ((VariableTerm) a2).bind(new ListTerm(a1, new VariableTerm(engine)), engine.trail);
        } else {
            return engine.fail();
View Full Code Here

}

class PRED_$builtin_member_2_2 extends PRED_$builtin_member_2 {
    public Predicate exec(Prolog engine) {
    // '$builtin_member'(A,[B|C]):-'$builtin_member'(A,C)
        Term a1, a2, a3;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // '$builtin_member'(A,[B|C]):-['$builtin_member'(A,C)]
View Full Code Here

}

class PRED_set_prolog_flag_2_1 extends PRED_set_prolog_flag_2 {
    public Predicate exec(Prolog engine) {
    // set_prolog_flag(A,B):-var(A),!,illarg(var,set_prolog_flag(A,B),1)
        Term a1, a2, a3, a4;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // set_prolog_flag(A,B):-['$get_level'(C),var(A),'$cut'(C),illarg(var,set_prolog_flag(A,B),1)]
        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();
View Full Code Here

}

class PRED_set_prolog_flag_2_2 extends PRED_set_prolog_flag_2 {
    public Predicate exec(Prolog engine) {
    // set_prolog_flag(A,B):-var(B),!,illarg(var,set_prolog_flag(A,B),2)
        Term a1, a2, a3, a4;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // set_prolog_flag(A,B):-['$get_level'(C),var(B),'$cut'(C),illarg(var,set_prolog_flag(A,B),2)]
View Full Code Here

}

class PRED_set_prolog_flag_2_3 extends PRED_set_prolog_flag_2 {
    public Predicate exec(Prolog engine) {
    // set_prolog_flag(A,B):-atom(A),!,'$set_prolog_flag0'(A,B)
        Term a1, a2, a3;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        cont = engine.cont;
    // set_prolog_flag(A,B):-['$get_level'(C),atom(A),'$cut'(C),'$set_prolog_flag0'(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 atom(a(1))
        a1 = a1.dereference();
        if (! a1.isSymbol()) {
            return engine.fail();
        }
        //END inline expansion
        //START inline expansion of $cut(a(3))
        a3 = a3.dereference();
View Full Code Here

}

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

}

class PRED_$add_operators_3_2 extends PRED_$add_operators_3 {
    public Predicate exec(Prolog engine) {
    // '$add_operators'([A|B],C,D):-'$add_op'(A,C,D),'$add_operators'(B,C,D)
        Term a1, a2, a3, a4, a5;
        Predicate p1;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        cont = engine.cont;
    // '$add_operators'([A|B],C,D):-['$add_op'(A,C,D),'$add_operators'(B,C,D)]
        a1 = a1.dereference();
        if (a1.isList()){
            Term[] args = {((ListTerm)a1).car(), ((ListTerm)a1).cdr()};
            a4 = args[0];
            a5 = args[1];
        } else if (a1.isVariable()){
            a4 = new VariableTerm(engine);
            a5 = new VariableTerm(engine);
            ((VariableTerm) a1).bind(new ListTerm(a4, a5), engine.trail);
        } else {
            return engine.fail();
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.