:- op(1200, xfx, -->).
phrase(G, G) :-
- nonvar(G), G = [_|_], !. %, append(G, _, Ls0).
+ nonvar(G), G = [_|_], !.
phrase(G, Ls0) :-
nonvar(G), G = (G1, G2), !, phrase(G1, Ls0, Ls1), phrase(G2, Ls1, []).
phrase(G, Ls0) :-
nonvar(Term),
expand_body_term(Term, ModTerm, N0, N1),
expand_body(Terms, ModTerms, N1, N).
-expand_body(Term0, ModTerm, N0, N) :-
+expand_body(Term0, ModTerm, N0, N) :-
nonvar(Term0),
expand_body_term(Term0, ModTerm, N0, N).
impl MachineState {
pub(super) fn new() -> Self {
- MachineState {
+ MachineState {
s: 0,
p: CodePtr::default(),
b: 0,
output.append(" = ");
let mut printer = HCPrinter::from_heap_locs(&self, output, var_dir);
-
+
printer.numbervars = false;
printer.quoted = true;
-
+
let mut output = printer.print(addr);
let bad_ending = format!("= {}", &var);
let tr = self.tr;
let val = self.trail[tr - 1];
self.trail[i] = val;
+ self.trail.pop();
self.tr -= 1;
},
Ref::StackCell(fr, _) => {
let tr = self.tr;
let val = self.trail[tr - 1];
self.trail[i] = val;
+ self.trail.pop();
self.tr -= 1;
}
}