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

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

package jp.ac.kobe_u.cs.prolog.builtin;
import jp.ac.kobe_u.cs.prolog.lang.IntegerTerm;
import jp.ac.kobe_u.cs.prolog.lang.ListTerm;
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>'$parse_tokens_before_op'/5</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_$parse_tokens_before_op_5 extends Predicate {
    static SymbolTerm s1 = SymbolTerm.makeSymbol(" ");
    static SymbolTerm s2 = SymbolTerm.makeSymbol("end_of_file");
    static IntegerTerm si3 = new IntegerTerm(0);
    static SymbolTerm s4 = SymbolTerm.makeSymbol("number", 1);
    static SymbolTerm s5 = SymbolTerm.makeSymbol("atom", 1);
    static SymbolTerm s6 = SymbolTerm.makeSymbol("-");
    static Term[] s7 = {s6};
    static StructureTerm s8 = new StructureTerm(s5, s7);
    static IntegerTerm si9 = new IntegerTerm(-1);
    static SymbolTerm s10 = SymbolTerm.makeSymbol("var", 2);
    static SymbolTerm s11 = SymbolTerm.makeSymbol("string", 1);
    static SymbolTerm s12 = SymbolTerm.makeSymbol("(");
    static IntegerTerm si13 = new IntegerTerm(1201);
    static SymbolTerm s14 = SymbolTerm.makeSymbol(")");
    static SymbolTerm s15 = SymbolTerm.makeSymbol("{");
    static SymbolTerm s16 = SymbolTerm.makeSymbol("[");
    static SymbolTerm s17 = SymbolTerm.makeSymbol("fx");
    static IntegerTerm si18 = new IntegerTerm(1);
    static SymbolTerm s19 = SymbolTerm.makeSymbol("fy");
    static Predicate _$parse_tokens_before_op_5_sub_1 = new PRED_$parse_tokens_before_op_5_sub_1();
    static Predicate _$parse_tokens_before_op_5_sub_2 = new PRED_$parse_tokens_before_op_5_sub_2();
    static Predicate _$parse_tokens_before_op_5_sub_3 = new PRED_$parse_tokens_before_op_5_sub_3();
    static Predicate _$parse_tokens_before_op_5_sub_4 = new PRED_$parse_tokens_before_op_5_sub_4();
    static Predicate _$parse_tokens_before_op_5_sub_5 = new PRED_$parse_tokens_before_op_5_sub_5();
    static Predicate _$parse_tokens_before_op_5_sub_6 = new PRED_$parse_tokens_before_op_5_sub_6();
    static Predicate _$parse_tokens_before_op_5_sub_7 = new PRED_$parse_tokens_before_op_5_sub_7();
    static Predicate _$parse_tokens_before_op_5_sub_8 = new PRED_$parse_tokens_before_op_5_sub_8();
    static Predicate _$parse_tokens_before_op_5_sub_9 = new PRED_$parse_tokens_before_op_5_sub_9();
    static Predicate _$parse_tokens_before_op_5_sub_10 = new PRED_$parse_tokens_before_op_5_sub_10();
    static Predicate _$parse_tokens_before_op_5_sub_11 = new PRED_$parse_tokens_before_op_5_sub_11();
    static Predicate _$parse_tokens_before_op_5_sub_12 = new PRED_$parse_tokens_before_op_5_sub_12();
    static Predicate _$parse_tokens_before_op_5_1 = new PRED_$parse_tokens_before_op_5_1();
    static Predicate _$parse_tokens_before_op_5_2 = new PRED_$parse_tokens_before_op_5_2();
    static Predicate _$parse_tokens_before_op_5_3 = new PRED_$parse_tokens_before_op_5_3();
    static Predicate _$parse_tokens_before_op_5_4 = new PRED_$parse_tokens_before_op_5_4();
    static Predicate _$parse_tokens_before_op_5_5 = new PRED_$parse_tokens_before_op_5_5();
    static Predicate _$parse_tokens_before_op_5_6 = new PRED_$parse_tokens_before_op_5_6();
    static Predicate _$parse_tokens_before_op_5_7 = new PRED_$parse_tokens_before_op_5_7();
    static Predicate _$parse_tokens_before_op_5_8 = new PRED_$parse_tokens_before_op_5_8();
    static Predicate _$parse_tokens_before_op_5_9 = new PRED_$parse_tokens_before_op_5_9();
    static Predicate _$parse_tokens_before_op_5_10 = new PRED_$parse_tokens_before_op_5_10();
    static Predicate _$parse_tokens_before_op_5_11 = new PRED_$parse_tokens_before_op_5_11();
    static Predicate _$parse_tokens_before_op_5_12 = new PRED_$parse_tokens_before_op_5_12();
    static Predicate _$parse_tokens_before_op_5_13 = new PRED_$parse_tokens_before_op_5_13();

    public Term arg1, arg2, arg3, arg4, arg5;

    public PRED_$parse_tokens_before_op_5(Term a1, Term a2, Term a3, Term a4, Term a5, Predicate cont) {
        arg1 = a1;
        arg2 = a2;
        arg3 = a3;
        arg4 = a4;
        arg5 = a5;
        this.cont = cont;
    }

    public PRED_$parse_tokens_before_op_5(){}

    public void setArgument(Term[] args, Predicate cont) {
        arg1 = args[0];
        arg2 = args[1];
        arg3 = args[2];
        arg4 = args[3];
        arg5 = args[4];
        this.cont = cont;
    }

    public int arity() { return 5; }

    public String toString() {
        return "$parse_tokens_before_op(" + arg1 + "," + arg2 + "," + arg3 + "," + arg4 + "," + arg5 + ")";
    }

    public Predicate exec(Prolog engine) {
        engine.aregs[1] = arg1;
        engine.aregs[2] = arg2;
        engine.aregs[3] = arg3;
        engine.aregs[4] = arg4;
        engine.aregs[5] = arg5;
        engine.cont = cont;
        engine.setB0();
        return engine.jtry(_$parse_tokens_before_op_5_1, _$parse_tokens_before_op_5_sub_1);
    }
}

class PRED_$parse_tokens_before_op_5_sub_1 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
        return engine.retry(_$parse_tokens_before_op_5_2, _$parse_tokens_before_op_5_sub_2);
    }
}

class PRED_$parse_tokens_before_op_5_sub_2 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
        return engine.retry(_$parse_tokens_before_op_5_3, _$parse_tokens_before_op_5_sub_3);
    }
}

class PRED_$parse_tokens_before_op_5_sub_3 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
        return engine.retry(_$parse_tokens_before_op_5_4, _$parse_tokens_before_op_5_sub_4);
    }
}

class PRED_$parse_tokens_before_op_5_sub_4 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
        return engine.retry(_$parse_tokens_before_op_5_5, _$parse_tokens_before_op_5_sub_5);
    }
}

class PRED_$parse_tokens_before_op_5_sub_5 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
        return engine.retry(_$parse_tokens_before_op_5_6, _$parse_tokens_before_op_5_sub_6);
    }
}

class PRED_$parse_tokens_before_op_5_sub_6 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
        return engine.retry(_$parse_tokens_before_op_5_7, _$parse_tokens_before_op_5_sub_7);
    }
}

class PRED_$parse_tokens_before_op_5_sub_7 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
        return engine.retry(_$parse_tokens_before_op_5_8, _$parse_tokens_before_op_5_sub_8);
    }
}

class PRED_$parse_tokens_before_op_5_sub_8 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
        return engine.retry(_$parse_tokens_before_op_5_9, _$parse_tokens_before_op_5_sub_9);
    }
}

class PRED_$parse_tokens_before_op_5_sub_9 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
        return engine.retry(_$parse_tokens_before_op_5_10, _$parse_tokens_before_op_5_sub_10);
    }
}

class PRED_$parse_tokens_before_op_5_sub_10 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
        return engine.retry(_$parse_tokens_before_op_5_11, _$parse_tokens_before_op_5_sub_11);
    }
}

class PRED_$parse_tokens_before_op_5_sub_11 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
        return engine.retry(_$parse_tokens_before_op_5_12, _$parse_tokens_before_op_5_sub_12);
    }
}

class PRED_$parse_tokens_before_op_5_sub_12 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
        return engine.trust(_$parse_tokens_before_op_5_13);
    }
}

class PRED_$parse_tokens_before_op_5_1 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
    // '$parse_tokens_before_op'(A,B,C,D,E):-'C'(D,' ',F),!,'$parse_tokens_before_op'(A,B,C,F,E)
        Term a1, a2, a3, a4, a5, a6, a7;
        Predicate p1, p2;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        a4 = engine.aregs[4];
        a5 = engine.aregs[5];
        cont = engine.cont;
    // '$parse_tokens_before_op'(A,B,C,D,E):-['$get_level'(F),'C'(D,' ',G),'$cut'(F),'$parse_tokens_before_op'(A,B,C,G,E)]
        a6 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(6))
        if (! a6.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        a7 = new VariableTerm(engine);
        p1 = new PRED_$parse_tokens_before_op_5(a1, a2, a3, a7, a5, cont);
        p2 = new PRED_$cut_1(a6, p1);
        return new PRED_C_3(a4, s1, a7, p2);
    }
}

class PRED_$parse_tokens_before_op_5_2 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
    // '$parse_tokens_before_op'(A,end_of_file,0,B,C):-'C'(B,end_of_file,C),!
        Term a1, a2, a3, a4, a5, a6;
        Predicate p1;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        a4 = engine.aregs[4];
        a5 = engine.aregs[5];
        cont = engine.cont;
    // '$parse_tokens_before_op'(A,end_of_file,0,B,C):-['$get_level'(D),'C'(B,end_of_file,C),'$cut'(D)]
        a2 = a2.dereference();
        if (a2.isSymbol()){
            if (! a2.equals(s2))
                return engine.fail();
        } else if (a2.isVariable()){
            ((VariableTerm) a2).bind(s2, engine.trail);
        } else {
            return engine.fail();
        }
        a3 = a3.dereference();
        if (a3.isInteger()){
            if (((IntegerTerm) a3).intValue() != 0)
                return engine.fail();
        } else if (a3.isVariable()){
            ((VariableTerm) a3).bind(si3, engine.trail);
        } else {
            return engine.fail();
        }
        a6 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(6))
        if (! a6.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        p1 = new PRED_$cut_1(a6, cont);
        return new PRED_C_3(a4, s2, a5, p1);
    }
}

class PRED_$parse_tokens_before_op_5_3 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
    // '$parse_tokens_before_op'(A,B,0,C,D):-'C'(C,number(B),D),!
        Term a1, a2, a3, a4, a5, a6, a7;
        Predicate p1;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        a4 = engine.aregs[4];
        a5 = engine.aregs[5];
        cont = engine.cont;
    // '$parse_tokens_before_op'(A,B,0,C,D):-['$get_level'(E),'C'(C,number(B),D),'$cut'(E)]
        a3 = a3.dereference();
        if (a3.isInteger()){
            if (((IntegerTerm) a3).intValue() != 0)
                return engine.fail();
        } else if (a3.isVariable()){
            ((VariableTerm) a3).bind(si3, engine.trail);
        } else {
            return engine.fail();
        }
        a6 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(6))
        if (! a6.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        Term[] y1 = {a2};
        a7 = new StructureTerm(s4, y1);
        p1 = new PRED_$cut_1(a6, cont);
        return new PRED_C_3(a4, a7, a5, p1);
    }
}

class PRED_$parse_tokens_before_op_5_4 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
    // '$parse_tokens_before_op'(A,B,0,C,D):-'C'(C,atom(-),E),'C'(E,number(F),D),!,B is-F
        Term a1, a2, a3, a4, a5, a6, a7, a8, a9;
        Predicate p1, p2, p3;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        a4 = engine.aregs[4];
        a5 = engine.aregs[5];
        cont = engine.cont;
    // '$parse_tokens_before_op'(A,B,0,C,D):-['$get_level'(E),'C'(C,atom(-),F),'C'(F,number(G),D),'$cut'(E),'$multi'(-1,G,B)]
        a3 = a3.dereference();
        if (a3.isInteger()){
            if (((IntegerTerm) a3).intValue() != 0)
                return engine.fail();
        } else if (a3.isVariable()){
            ((VariableTerm) a3).bind(si3, engine.trail);
        } else {
            return engine.fail();
        }
        a6 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(6))
        if (! a6.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        a7 = new VariableTerm(engine);
        a8 = new VariableTerm(engine);
        Term[] y1 = {a8};
        a9 = new StructureTerm(s4, y1);
        p1 = new PRED_$multi_3(si9, a8, a2, cont);
        p2 = new PRED_$cut_1(a6, p1);
        p3 = new PRED_C_3(a7, a9, a5, p2);
        return new PRED_C_3(a4, s8, a7, p3);
    }
}

class PRED_$parse_tokens_before_op_5_5 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
    // '$parse_tokens_before_op'(A,B,0,C,D):-'C'(C,var(E,B),D),!
        Term a1, a2, a3, a4, a5, a6, a7;
        Predicate p1;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        a4 = engine.aregs[4];
        a5 = engine.aregs[5];
        cont = engine.cont;
    // '$parse_tokens_before_op'(A,B,0,C,D):-['$get_level'(E),'C'(C,var(F,B),D),'$cut'(E)]
        a3 = a3.dereference();
        if (a3.isInteger()){
            if (((IntegerTerm) a3).intValue() != 0)
                return engine.fail();
        } else if (a3.isVariable()){
            ((VariableTerm) a3).bind(si3, engine.trail);
        } else {
            return engine.fail();
        }
        a6 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(6))
        if (! a6.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        Term[] y1 = {new VariableTerm(engine), a2};
        a7 = new StructureTerm(s10, y1);
        p1 = new PRED_$cut_1(a6, cont);
        return new PRED_C_3(a4, a7, a5, p1);
    }
}

class PRED_$parse_tokens_before_op_5_6 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
    // '$parse_tokens_before_op'(A,B,0,C,D):-'C'(C,string(B),D),!
        Term a1, a2, a3, a4, a5, a6, a7;
        Predicate p1;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        a4 = engine.aregs[4];
        a5 = engine.aregs[5];
        cont = engine.cont;
    // '$parse_tokens_before_op'(A,B,0,C,D):-['$get_level'(E),'C'(C,string(B),D),'$cut'(E)]
        a3 = a3.dereference();
        if (a3.isInteger()){
            if (((IntegerTerm) a3).intValue() != 0)
                return engine.fail();
        } else if (a3.isVariable()){
            ((VariableTerm) a3).bind(si3, engine.trail);
        } else {
            return engine.fail();
        }
        a6 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(6))
        if (! a6.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        Term[] y1 = {a2};
        a7 = new StructureTerm(s11, y1);
        p1 = new PRED_$cut_1(a6, cont);
        return new PRED_C_3(a4, a7, a5, p1);
    }
}

class PRED_$parse_tokens_before_op_5_7 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
    // '$parse_tokens_before_op'(A,B,0,C,D):-'C'(C,'(',E),!,'$parse_tokens'(B,1201,E,F),'$parse_tokens_expect'(')',F,D)
        Term a1, a2, a3, a4, a5, a6, a7, a8;
        Predicate p1, p2, p3;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        a4 = engine.aregs[4];
        a5 = engine.aregs[5];
        cont = engine.cont;
    // '$parse_tokens_before_op'(A,B,0,C,D):-['$get_level'(E),'C'(C,'(',F),'$cut'(E),'$parse_tokens'(B,1201,F,G),'$parse_tokens_expect'(')',G,D)]
        a3 = a3.dereference();
        if (a3.isInteger()){
            if (((IntegerTerm) a3).intValue() != 0)
                return engine.fail();
        } else if (a3.isVariable()){
            ((VariableTerm) a3).bind(si3, engine.trail);
        } else {
            return engine.fail();
        }
        a6 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(6))
        if (! a6.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        a7 = new VariableTerm(engine);
        a8 = new VariableTerm(engine);
        p1 = new PRED_$parse_tokens_expect_3(s14, a8, a5, cont);
        p2 = new PRED_$parse_tokens_4(a2, si13, a7, a8, p1);
        p3 = new PRED_$cut_1(a6, p2);
        return new PRED_C_3(a4, s12, a7, p3);
    }
}

class PRED_$parse_tokens_before_op_5_8 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
    // '$parse_tokens_before_op'(A,B,0,C,D):-'C'(C,'{',E),!,'$parse_tokens_skip_spaces'(E,F),'$parse_tokens_brace'(B,F,D)
        Term a1, a2, a3, a4, a5, a6, a7, a8;
        Predicate p1, p2, p3;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        a4 = engine.aregs[4];
        a5 = engine.aregs[5];
        cont = engine.cont;
    // '$parse_tokens_before_op'(A,B,0,C,D):-['$get_level'(E),'C'(C,'{',F),'$cut'(E),'$parse_tokens_skip_spaces'(F,G),'$parse_tokens_brace'(B,G,D)]
        a3 = a3.dereference();
        if (a3.isInteger()){
            if (((IntegerTerm) a3).intValue() != 0)
                return engine.fail();
        } else if (a3.isVariable()){
            ((VariableTerm) a3).bind(si3, engine.trail);
        } else {
            return engine.fail();
        }
        a6 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(6))
        if (! a6.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        a7 = new VariableTerm(engine);
        a8 = new VariableTerm(engine);
        p1 = new PRED_$parse_tokens_brace_3(a2, a8, a5, cont);
        p2 = new PRED_$parse_tokens_skip_spaces_2(a7, a8, p1);
        p3 = new PRED_$cut_1(a6, p2);
        return new PRED_C_3(a4, s15, a7, p3);
    }
}

class PRED_$parse_tokens_before_op_5_9 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
    // '$parse_tokens_before_op'(A,B,0,C,D):-'C'(C,'[',E),!,'$parse_tokens_skip_spaces'(E,F),'$parse_tokens_list'(B,F,D)
        Term a1, a2, a3, a4, a5, a6, a7, a8;
        Predicate p1, p2, p3;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        a4 = engine.aregs[4];
        a5 = engine.aregs[5];
        cont = engine.cont;
    // '$parse_tokens_before_op'(A,B,0,C,D):-['$get_level'(E),'C'(C,'[',F),'$cut'(E),'$parse_tokens_skip_spaces'(F,G),'$parse_tokens_list'(B,G,D)]
        a3 = a3.dereference();
        if (a3.isInteger()){
            if (((IntegerTerm) a3).intValue() != 0)
                return engine.fail();
        } else if (a3.isVariable()){
            ((VariableTerm) a3).bind(si3, engine.trail);
        } else {
            return engine.fail();
        }
        a6 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(6))
        if (! a6.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        a7 = new VariableTerm(engine);
        a8 = new VariableTerm(engine);
        p1 = new PRED_$parse_tokens_list_3(a2, a8, a5, cont);
        p2 = new PRED_$parse_tokens_skip_spaces_2(a7, a8, p1);
        p3 = new PRED_$cut_1(a6, p2);
        return new PRED_C_3(a4, s16, a7, p3);
    }
}

class PRED_$parse_tokens_before_op_5_10 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
    // '$parse_tokens_before_op'(A,B,0,C,D):-'C'(C,atom(E),F),'C'(F,'(',G),!,'$parse_tokens_skip_spaces'(G,H),'$parse_tokens_args'(I,H,D),B=..[E|I]
        Term a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13;
        Predicate p1, p2, p3, p4, p5;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        a4 = engine.aregs[4];
        a5 = engine.aregs[5];
        cont = engine.cont;
    // '$parse_tokens_before_op'(A,B,0,C,D):-['$get_level'(E),'C'(C,atom(F),G),'C'(G,'(',H),'$cut'(E),'$parse_tokens_skip_spaces'(H,I),'$parse_tokens_args'(J,I,D),'$univ'(B,[F|J])]
        a3 = a3.dereference();
        if (a3.isInteger()){
            if (((IntegerTerm) a3).intValue() != 0)
                return engine.fail();
        } else if (a3.isVariable()){
            ((VariableTerm) a3).bind(si3, engine.trail);
        } else {
            return engine.fail();
        }
        a6 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(6))
        if (! a6.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        a7 = new VariableTerm(engine);
        Term[] y1 = {a7};
        a8 = new StructureTerm(s5, y1);
        a9 = new VariableTerm(engine);
        a10 = new VariableTerm(engine);
        a11 = new VariableTerm(engine);
        a12 = new VariableTerm(engine);
        a13 = new ListTerm(a7, a12);
        p1 = new PRED_$univ_2(a2, a13, cont);
        p2 = new PRED_$parse_tokens_args_3(a12, a11, a5, p1);
        p3 = new PRED_$parse_tokens_skip_spaces_2(a10, a11, p2);
        p4 = new PRED_$cut_1(a6, p3);
        p5 = new PRED_C_3(a9, s12, a10, p4);
        return new PRED_C_3(a4, a8, a9, p5);
    }
}

class PRED_$parse_tokens_before_op_5_11 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
    // '$parse_tokens_before_op'(A,B,C,D,E):-'C'(D,atom(F),G),current_op(C,fx,F),C=<A,'$parse_tokens_skip_spaces'(G,H),'$parse_tokens_peep_next'(I,H,J),'$parse_tokens_is_starter'(I),'$dummy_14_builtins.pl'(I),!,K is C-1,'$parse_tokens'(L,K,J,E),functor(B,F,1),arg(1,B,L)
        Term a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14;
        Predicate p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        a4 = engine.aregs[4];
        a5 = engine.aregs[5];
        cont = engine.cont;
    // '$parse_tokens_before_op'(A,B,C,D,E):-['$get_level'(F),'C'(D,atom(G),H),current_op(C,fx,G),'$less_or_equal'(C,A),'$parse_tokens_skip_spaces'(H,I),'$parse_tokens_peep_next'(J,I,K),'$parse_tokens_is_starter'(J),'$dummy_14_builtins.pl'(J),'$cut'(F),'$minus'(C,1,L),'$parse_tokens'(M,L,K,E),functor(B,G,1),arg(1,B,M)]
        a6 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(6))
        if (! a6.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        a7 = new VariableTerm(engine);
        Term[] y1 = {a7};
        a8 = new StructureTerm(s5, y1);
        a9 = new VariableTerm(engine);
        a10 = new VariableTerm(engine);
        a11 = new VariableTerm(engine);
        a12 = new VariableTerm(engine);
        a13 = new VariableTerm(engine);
        a14 = new VariableTerm(engine);
        p1 = new PRED_arg_3(si18, a2, a14, cont);
        p2 = new PRED_functor_3(a2, a7, si18, p1);
        p3 = new PRED_$parse_tokens_4(a14, a13, a12, a5, p2);
        p4 = new PRED_$minus_3(a3, si18, a13, p3);
        p5 = new PRED_$cut_1(a6, p4);
        p6 = new PRED_$dummy_14_builtins$002Epl_1(a11, p5);
        p7 = new PRED_$parse_tokens_is_starter_1(a11, p6);
        p8 = new PRED_$parse_tokens_peep_next_3(a11, a10, a12, p7);
        p9 = new PRED_$parse_tokens_skip_spaces_2(a9, a10, p8);
        p10 = new PRED_$less_or_equal_2(a3, a1, p9);
        p11 = new PRED_current_op_3(a3, s17, a7, p10);
        return new PRED_C_3(a4, a8, a9, p11);
    }
}

class PRED_$parse_tokens_before_op_5_12 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
    // '$parse_tokens_before_op'(A,B,C,D,E):-'C'(D,atom(F),G),current_op(C,fy,F),C=<A,'$parse_tokens_skip_spaces'(G,H),'$parse_tokens_peep_next'(I,H,J),'$parse_tokens_is_starter'(I),'$dummy_15_builtins.pl'(I),!,'$parse_tokens'(K,C,J,E),functor(B,F,1),arg(1,B,K)
        Term a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13;
        Predicate p1, p2, p3, p4, p5, p6, p7, p8, p9, p10;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        a4 = engine.aregs[4];
        a5 = engine.aregs[5];
        cont = engine.cont;
    // '$parse_tokens_before_op'(A,B,C,D,E):-['$get_level'(F),'C'(D,atom(G),H),current_op(C,fy,G),'$less_or_equal'(C,A),'$parse_tokens_skip_spaces'(H,I),'$parse_tokens_peep_next'(J,I,K),'$parse_tokens_is_starter'(J),'$dummy_15_builtins.pl'(J),'$cut'(F),'$parse_tokens'(L,C,K,E),functor(B,G,1),arg(1,B,L)]
        a6 = new VariableTerm(engine);
        //START inline expansion of $get_level(a(6))
        if (! a6.unify(new IntegerTerm(engine.B0), engine.trail)) {
            return engine.fail();
        }
        //END inline expansion
        a7 = new VariableTerm(engine);
        Term[] y1 = {a7};
        a8 = new StructureTerm(s5, y1);
        a9 = new VariableTerm(engine);
        a10 = new VariableTerm(engine);
        a11 = new VariableTerm(engine);
        a12 = new VariableTerm(engine);
        a13 = new VariableTerm(engine);
        p1 = new PRED_arg_3(si18, a2, a13, cont);
        p2 = new PRED_functor_3(a2, a7, si18, p1);
        p3 = new PRED_$parse_tokens_4(a13, a3, a12, a5, p2);
        p4 = new PRED_$cut_1(a6, p3);
        p5 = new PRED_$dummy_15_builtins$002Epl_1(a11, p4);
        p6 = new PRED_$parse_tokens_is_starter_1(a11, p5);
        p7 = new PRED_$parse_tokens_peep_next_3(a11, a10, a12, p6);
        p8 = new PRED_$parse_tokens_skip_spaces_2(a9, a10, p7);
        p9 = new PRED_$less_or_equal_2(a3, a1, p8);
        p10 = new PRED_current_op_3(a3, s19, a7, p9);
        return new PRED_C_3(a4, a8, a9, p10);
    }
}

class PRED_$parse_tokens_before_op_5_13 extends PRED_$parse_tokens_before_op_5 {
    public Predicate exec(Prolog engine) {
    // '$parse_tokens_before_op'(A,B,0,C,D):-'C'(C,atom(B),D)
        Term a1, a2, a3, a4, a5, a6;
        Predicate cont;
        a1 = engine.aregs[1];
        a2 = engine.aregs[2];
        a3 = engine.aregs[3];
        a4 = engine.aregs[4];
        a5 = engine.aregs[5];
        cont = engine.cont;
    // '$parse_tokens_before_op'(A,B,0,C,D):-['C'(C,atom(B),D)]
        a3 = a3.dereference();
        if (a3.isInteger()){
            if (((IntegerTerm) a3).intValue() != 0)
                return engine.fail();
        } else if (a3.isVariable()){
            ((VariableTerm) a3).bind(si3, engine.trail);
        } else {
            return engine.fail();
        }
        Term[] y1 = {a2};
        a6 = new StructureTerm(s5, y1);
        return new PRED_C_3(a4, a6, a5, cont);
    }
}
TOP

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

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.