Fixed yet another ugly bug in Ostap

This commit is contained in:
Dmitry Boulytchev 2020-08-27 07:24:46 +03:00
parent f81a638659
commit 6f72275cfa
2 changed files with 3 additions and 3 deletions

View file

@ -43,12 +43,12 @@ public fun memo (f) {
if log then printf ("Applying memoized parser to %s\n", s.string) fi;
case findMap (deref (t), s) of
None ->
t ::= addMap (deref (t), s, [addSet (emptySet (compare), k), emptySet (compare)]);
t ::= addMap (deref (t), s, [addSet (emptySet (compare), k), emptySet (fun (r1, r2) {case [r1, r2] of [Fail (_, _, _), Fail (_, _, _)] -> 0 | _ -> compare (r1, r2) esac })]);
f (fun (r) {
r := lookupMemo (restab, r);
if log then printf ("Running continuation with result %s\n", r.string) fi;
case findMap (deref (t), s) of
Some ([ks, rs]) ->
Some ([ks, rs]) ->
if memSet (rs, r)
then skip
else