fix faulty tidy_trail

This commit is contained in:
Mark Thom
2018-11-15 23:04:52 -07:00
parent 81f4128bc6
commit 6e20f82d6f
2 changed files with 7 additions and 5 deletions

View File

@@ -6,7 +6,7 @@
:- op(1200, xfx, -->). :- op(1200, xfx, -->).
phrase(G, G) :- phrase(G, G) :-
nonvar(G), G = [_|_], !. %, append(G, _, Ls0). nonvar(G), G = [_|_], !.
phrase(G, Ls0) :- phrase(G, Ls0) :-
nonvar(G), G = (G1, G2), !, phrase(G1, Ls0, Ls1), phrase(G2, Ls1, []). nonvar(G), G = (G1, G2), !, phrase(G1, Ls0, Ls1), phrase(G2, Ls1, []).
phrase(G, Ls0) :- phrase(G, Ls0) :-

View File

@@ -428,6 +428,7 @@ impl MachineState {
let tr = self.tr; let tr = self.tr;
let val = self.trail[tr - 1]; let val = self.trail[tr - 1];
self.trail[i] = val; self.trail[i] = val;
self.trail.pop();
self.tr -= 1; self.tr -= 1;
}, },
Ref::StackCell(fr, _) => { Ref::StackCell(fr, _) => {
@@ -445,6 +446,7 @@ impl MachineState {
let tr = self.tr; let tr = self.tr;
let val = self.trail[tr - 1]; let val = self.trail[tr - 1];
self.trail[i] = val; self.trail[i] = val;
self.trail.pop();
self.tr -= 1; self.tr -= 1;
} }
} }