Package jp.ac.kobe_u.cs.prolog.builtin

Source Code of jp.ac.kobe_u.cs.prolog.builtin.PRED_$consult_init_1_1

package jp.ac.kobe_u.cs.prolog.builtin;
import jp.ac.kobe_u.cs.prolog.lang.Predicate;
import jp.ac.kobe_u.cs.prolog.lang.Prolog;
import jp.ac.kobe_u.cs.prolog.lang.StructureTerm;
import jp.ac.kobe_u.cs.prolog.lang.SymbolTerm;
import jp.ac.kobe_u.cs.prolog.lang.Term;
import jp.ac.kobe_u.cs.prolog.lang.VariableTerm;
/*
This file is generated by Prolog Cafe.
PLEASE DO NOT EDIT!
*/
/**
<code>'$consult_init'/1</code> defined in builtins.pl<br>
@author Mutsunori Banbara (banbara@kobe-u.ac.jp)
@author Naoyuki Tamura (tamura@kobe-u.ac.jp)
@version 1.0
*/
class PRED_$consult_init_1 extends Predicate {
    static SymbolTerm s1 = SymbolTerm.makeSymbol(":", 2);
    static SymbolTerm s2 = SymbolTerm.makeSymbol("jp.ac.kobe_u.cs.prolog.builtin");
    static SymbolTerm s3 = SymbolTerm.makeSymbol("$consulted_file", 1);
    static SymbolTerm s4 = SymbolTerm.makeSymbol("$consulted_package", 1);
    static SymbolTerm s5 = SymbolTerm.makeSymbol("$consulted_predicate", 3);
    static SymbolTerm s6 = SymbolTerm.makeSymbol("user");
    static Term[] s7 = {s6};
    static StructureTerm s8 = new StructureTerm(s4, s7);
    static Term[] s9 = {s2, s8};
    static StructureTerm s10 = new StructureTerm(s1, s9);
    static Predicate _$consult_init_1_sub_1 = new PRED_$consult_init_1_sub_1();
    static Predicate _$consult_init_1_1 = new PRED_$consult_init_1_1();
    static Predicate _$consult_init_1_2 = new PRED_$consult_init_1_2();

    public Term arg1;

    public PRED_$consult_init_1(Term a1, Predicate cont) {
        arg1 = a1;
        this.cont = cont;
    }

    public PRED_$consult_init_1(){}

    public void setArgument(Term[] args, Predicate cont) {
        arg1 = args[0];
        this.cont = cont;
    }

    public int arity() { return 1; }

    public String toString() {
        return "$consult_init(" + arg1 + ")";
    }

    public Predicate exec(Prolog engine) {
        engine.aregs[1] = arg1;
        engine.cont = cont;
        engine.setB0();
        return engine.jtry(_$consult_init_1_1, _$consult_init_1_sub_1);
    }
}

class PRED_$consult_init_1_sub_1 extends PRED_$consult_init_1 {
    public Predicate exec(Prolog engine) {
        return engine.trust(_$consult_init_1_2);
    }
}

class PRED_$consult_init_1_1 extends PRED_$consult_init_1 {
    public Predicate exec(Prolog engine) {
    // '$consult_init'(A):-retractall('$consulted_file'(B)),retractall('$consulted_package'(C)),retract('$consulted_predicate'(D,E,A)),abolish(D:E),fail
        Term a1, a2, a3, a4, a5, a6, a7, a8, a9, a10;
        Predicate p1, p2, p3, p4;
        Predicate cont;
        a1 = engine.aregs[1];
        cont = engine.cont;
    // '$consult_init'(A):-[retractall('jp.ac.kobe_u.cs.prolog.builtin':'$consulted_file'(B)),retractall('jp.ac.kobe_u.cs.prolog.builtin':'$consulted_package'(C)),retract('jp.ac.kobe_u.cs.prolog.builtin':'$consulted_predicate'(D,E,A)),abolish(D:E),fail]
        Term[] y1 = {new VariableTerm(engine)};
        a2 = new StructureTerm(s3, y1);
        Term[] y2 = {s2, a2};
        a3 = new StructureTerm(s1, y2);
        Term[] y3 = {new VariableTerm(engine)};
        a4 = new StructureTerm(s4, y3);
        Term[] y4 = {s2, a4};
        a5 = new StructureTerm(s1, y4);
        a6 = new VariableTerm(engine);
        a7 = new VariableTerm(engine);
        Term[] y5 = {a6, a7, a1};
        a8 = new StructureTerm(s5, y5);
        Term[] y6 = {s2, a8};
        a9 = new StructureTerm(s1, y6);
        Term[] y7 = {a6, a7};
        a10 = new StructureTerm(s1, y7);
        p1 = new PRED_fail_0(cont);
        p2 = new PRED_abolish_1(a10, p1);
        p3 = new PRED_retract_1(a9, p2);
        p4 = new PRED_retractall_1(a5, p3);
        return new PRED_retractall_1(a3, p4);
    }
}

class PRED_$consult_init_1_2 extends PRED_$consult_init_1 {
    public Predicate exec(Prolog engine) {
    // '$consult_init'(A):-assertz('$consulted_file'(A)),assertz('$consulted_package'(user))
        Term a1, a2, a3;
        Predicate p1;
        Predicate cont;
        a1 = engine.aregs[1];
        cont = engine.cont;
    // '$consult_init'(A):-[assertz('jp.ac.kobe_u.cs.prolog.builtin':'$consulted_file'(A)),assertz('jp.ac.kobe_u.cs.prolog.builtin':'$consulted_package'(user))]
        Term[] y1 = {a1};
        a2 = new StructureTerm(s3, y1);
        Term[] y2 = {s2, a2};
        a3 = new StructureTerm(s1, y2);
        p1 = new PRED_assertz_1(s10, cont);
        return new PRED_assertz_1(a3, p1);
    }
}
TOP

Related Classes of jp.ac.kobe_u.cs.prolog.builtin.PRED_$consult_init_1_1

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.