diff options
Diffstat (limited to 'src/kompsos.ads')
| -rw-r--r-- | src/kompsos.ads | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/kompsos.ads b/src/kompsos.ads index 9ab7994..9a00251 100644 --- a/src/kompsos.ads +++ b/src/kompsos.ads @@ -463,15 +463,26 @@ private - package Binding_Maps is new Ada.Containers.Ordered_Maps - (Key_Type => Variable, - Element_Type => Term); + type Binding is record + Key : Variable; + Elem : Term; + end record; + + package Binding_Vectors is new Ada.Containers.Vectors + (Index_Type => Long_Positive, + Element_Type => Binding); type State is record - Actual : Binding_Maps.Map; + Actual : Binding_Vectors.Vector; end record; - Empty_State : constant State := (Actual => Binding_Maps.Empty_Map); + function Lookup + (This : in State; + Key : in Variable; + Value : out Term'Class) + return Boolean; + + Empty_State : constant State := (Actual => Binding_Vectors.Empty_Vector); |
