-- Programmed by Jedidiah Barber -- Licensed under the Sunset License v1.0 -- See license.txt for further details with Ada.Containers.Multiway_Trees; generic type Element_Array is array (Positive range <>) of Element_Type; Null_Element : Element_Type; with function Variable_Convert (Item : in Term) return Element_Type is <>; -- Element_Trees must be passed in rather than instantiated inside the generic -- due to an issue with implementation-defined Disable_Controlled aspect in GNAT. with package Element_Trees is new Ada.Containers.Multiway_Trees (Element_Type => Element_Type, "=" => "="); package Kompsos.Advanced_Reify is -- Term->Array Conversion -- function Flatten (Item : in Term) return Element_Array; -- Term->Tree Conversion -- function To_Tree (Item : in Term) return Element_Trees.Tree; -- Tree Reification -- function Treeify (Item : in Term; Subst : in State) return Element_Trees.Tree; function Treeify_First (Subst : in State) return Element_Trees.Tree; function Treeify_First (Subst : in State; Name : in String) return Element_Trees.Tree; function Treeify_First (Subst : in State; Name : in Nametag) return Element_Trees.Tree; end Kompsos.Advanced_Reify;