1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
------------------------------------------------------------------------------
-- --
-- GNAT COMPILER COMPONENTS --
-- --
-- B I N D O . B U I L D E R S --
-- --
-- S p e c --
-- --
-- Copyright (C) 2019-2024, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
-- for more details. You should have received a copy of the GNU General --
-- Public License distributed with GNAT; see file COPYING3. If not, go to --
-- http://www.gnu.org/licenses for a complete copy of the license. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- For full architecture, see unit Bindo.
-- The following unit contains facilities to create various graphs that
-- reflect dependencies between units, as well as activations of tasks,
-- calls, and instantiations within them.
with Bindo.Graphs;
use Bindo.Graphs;
use Bindo.Graphs.Invocation_Graphs;
use Bindo.Graphs.Library_Graphs;
package Bindo.Builders is
-------------------------------
-- Invocation_Graph_Builders --
-------------------------------
package Invocation_Graph_Builders is
function Build_Invocation_Graph
(Lib_G : Library_Graph) return Invocation_Graph;
-- Return a new invocation graph that reflects the activations of
-- tasks, calls, and instantiations in all units of the bind. Each
-- invocation graph vertex is linked with the corresponding vertex
-- of library graph Lib_G, which contains the body of the activated
-- task, invoked subprogram, or instantiated generic.
end Invocation_Graph_Builders;
----------------------------
-- Library_Graph_Builders --
----------------------------
package Library_Graph_Builders is
function Build_Library_Graph return Library_Graph;
-- Return a new library graph that reflects the dependencies between
-- all units of the bind.
end Library_Graph_Builders;
end Bindo.Builders;
|