diff options
| author | Jedidiah Barber <contact@jedbarber.id.au> | 2026-01-22 16:41:39 +1300 |
|---|---|---|
| committer | Jedidiah Barber <contact@jedbarber.id.au> | 2026-01-22 16:41:39 +1300 |
| commit | 28d132c2823d7dfa21190bf746f9f39dd59a40d8 (patch) | |
| tree | b0d1e26b2fadffa43bca2300dc273d8991c77df4 /src/kompsos-collector.adb | |
| parent | 42e3c2fa30552a227e38f03b859f03ae51f9000d (diff) | |
States are now custom linked lists
Diffstat (limited to 'src/kompsos-collector.adb')
| -rw-r--r-- | src/kompsos-collector.adb | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/kompsos-collector.adb b/src/kompsos-collector.adb index c8333cf..4654dc7 100644 --- a/src/kompsos-collector.adb +++ b/src/kompsos-collector.adb @@ -95,13 +95,21 @@ package body Kompsos.Collector is -- Unify Variable and other Terms by introducing a new substitution if Real_Left.Kind = Var_Term then - Extended := Potential; - Extended.Actual.Append ((Real_Left.Var, Real_Right)); + Extended := (Ctrl => (Ada.Finalization.Controlled with + Actual => new State_Component'( + Counter => 1, + Key => Real_Left.Var, + Value => Real_Right, + Next => Potential))); return True; end if; if Real_Right.Kind = Var_Term then - Extended := Potential; - Extended.Actual.Append ((Real_Right.Var, Real_Left)); + Extended := (Ctrl => (Ada.Finalization.Controlled with + Actual => new State_Component'( + Counter => 1, + Key => Real_Right.Var, + Value => Real_Left, + Next => Potential))); return True; end if; |
