Exemple #1
0
 public void PushGoal(Frame th, string newGoal)
 {
     bt = new Choice(bt, -1, st);
     bt.st.subrule_iter = th.LexicalFind("$*GOAL");
     th.LexicalBind("$*GOAL", Builtins.MakeStr(newGoal));
     st.ns = new NState(bt, "GOAL", st.ns);
     st.ns.quant = st.pos;
 }
Exemple #2
0
 public static Variable Make(Frame fr, Variable v)
 {
     if (fr.info.name == "CORE make")
         fr = fr.caller;
     Cursor c = (Cursor) fr.LexicalFind("$/").Fetch();
     c.Make(v);
     return v;
 }
Exemple #3
0
    public void PopGoal(Frame th)
    {
        bt = new Choice(bt, -1, st);
        bt.st.subrule_iter = th.LexicalFind("$*GOAL");

        th.LexicalBind("$*GOAL", (Variable)st.ns.cut_to.st.subrule_iter);
        st.ns = st.ns.next;
    }