summaryrefslogtreecommitdiff
path: root/src/kompsos.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/kompsos.adb')
-rw-r--r--src/kompsos.adb18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/kompsos.adb b/src/kompsos.adb
index d0005cb..1370f37 100644
--- a/src/kompsos.adb
+++ b/src/kompsos.adb
@@ -320,26 +320,15 @@ package body Kompsos is
end Roll_Unify_Gen;
- procedure Roll_Buffer_Gen
- (This : in out World) is
- begin
- Ptr (This.Engine.Buff_World).Rollover;
- This.Possibles.Append (Ptr (This.Engine.Buff_World).Possibles);
- if Ptr (This.Engine.Buff_World).Engine.Kind = No_Gen then
- This.Engine := (Kind => No_Gen);
- else
- Ptr (This.Engine.Buff_World).Possibles.Clear;
- end if;
- end Roll_Buffer_Gen;
-
-
procedure Roll_Disjunct_Gen
(This : in out World) is
begin
Ptr (This.Engine.Dis_World1).Rollover;
This.Possibles.Append (Ptr (This.Engine.Dis_World1).Possibles);
if Ptr (This.Engine.Dis_World1).Engine.Kind = No_Gen then
- This.Engine := (Kind => Buffer_Gen, Buff_World => This.Engine.Dis_World2);
+ Ptr (This.Engine.Dis_World2).Rollover; -- why is this line needed?
+ This.Possibles.Append (Ptr (This.Engine.Dis_World2).Possibles);
+ This.Engine := World (This.Engine.Dis_World2.Element).Engine;
else
Ptr (This.Engine.Dis_World1).Possibles.Clear;
Swap (This.Engine.Dis_World1, This.Engine.Dis_World2);
@@ -398,7 +387,6 @@ package body Kompsos is
when No_Gen => null;
when Fresh_Gen => This.Roll_Fresh_Gen;
when Unify_Gen => This.Roll_Unify_Gen;
- when Buffer_Gen => This.Roll_Buffer_Gen;
when Disjunct_Gen => This.Roll_Disjunct_Gen;
when Conjunct_Gen => This.Roll_Conjunct_Gen;
when Recurse_Gen => This.Roll_Recurse_Gen;