Mercurial > hg > CbC > CbC_gcc
comparison gcc/ada/bindo-writers.ads @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 ------------------------------------------------------------------------------ | |
2 -- -- | |
3 -- GNAT COMPILER COMPONENTS -- | |
4 -- -- | |
5 -- B I N D O . W R I T E R S -- | |
6 -- -- | |
7 -- S p e c -- | |
8 -- -- | |
9 -- Copyright (C) 2019, Free Software Foundation, Inc. -- | |
10 -- -- | |
11 -- GNAT is free software; you can redistribute it and/or modify it under -- | |
12 -- terms of the GNU General Public License as published by the Free Soft- -- | |
13 -- ware Foundation; either version 3, or (at your option) any later ver- -- | |
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- | |
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- | |
16 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- | |
17 -- for more details. You should have received a copy of the GNU General -- | |
18 -- Public License distributed with GNAT; see file COPYING3. If not, go to -- | |
19 -- http://www.gnu.org/licenses for a complete copy of the license. -- | |
20 -- -- | |
21 -- GNAT was originally developed by the GNAT team at New York University. -- | |
22 -- Extensive contributions were provided by Ada Core Technologies Inc. -- | |
23 -- -- | |
24 ------------------------------------------------------------------------------ | |
25 | |
26 -- For full architecture, see unit Bindo. | |
27 | |
28 -- The following unit contains facilities to output the various graphs used in | |
29 -- determining the elaboration order, as well as the elaboration order itself | |
30 -- to standard output. | |
31 | |
32 with Types; use Types; | |
33 | |
34 with Bindo.Graphs; | |
35 use Bindo.Graphs; | |
36 use Bindo.Graphs.Invocation_Graphs; | |
37 use Bindo.Graphs.Library_Graphs; | |
38 | |
39 package Bindo.Writers is | |
40 | |
41 ----------------- | |
42 -- Indentation -- | |
43 ----------------- | |
44 | |
45 -- The following type defines the level of indentation used in various | |
46 -- output routines. | |
47 | |
48 type Indentation_Level is new Natural; | |
49 No_Indentation : constant Indentation_Level := Indentation_Level'First; | |
50 | |
51 Nested_Indentation : constant Indentation_Level := 2; | |
52 -- The level of indentation for a nested new line | |
53 | |
54 Number_Column : constant Indentation_Level := 6; | |
55 -- The level of right justification of numbers | |
56 | |
57 Step_Column : constant Indentation_Level := 4; | |
58 -- The level of right justification of the elaboration order step | |
59 | |
60 procedure Indent_By (Indent : Indentation_Level); | |
61 pragma Inline (Indent_By); | |
62 -- Indent the current line by Indent spaces | |
63 | |
64 procedure Write_Num | |
65 (Val : Int; | |
66 Val_Indent : Indentation_Level := Number_Column); | |
67 pragma Inline (Write_Num); | |
68 -- Output integer value Val in a right-justified form based on the value of | |
69 -- Val_Col. | |
70 | |
71 ----------------- | |
72 -- ALI_Writers -- | |
73 ----------------- | |
74 | |
75 package ALI_Writers is | |
76 procedure Write_ALI_Tables; | |
77 -- Write the contents of the following tables to standard output: | |
78 -- | |
79 -- * ALI.Invocation_Constructs | |
80 -- * ALI.Invocation_Relations | |
81 | |
82 end ALI_Writers; | |
83 | |
84 ------------------- | |
85 -- Cycle_Writers -- | |
86 ------------------- | |
87 | |
88 package Cycle_Writers is | |
89 procedure Write_Cycles (G : Library_Graph); | |
90 -- Write all cycles of library graph G to standard output | |
91 | |
92 end Cycle_Writers; | |
93 | |
94 ------------------------ | |
95 -- Dependency_Writers -- | |
96 ------------------------ | |
97 | |
98 package Dependency_Writers is | |
99 procedure Write_Dependencies (G : Library_Graph); | |
100 -- Write all elaboration dependencies of the units represented by | |
101 -- vertices of library graph G. | |
102 | |
103 end Dependency_Writers; | |
104 | |
105 ------------------------------- | |
106 -- Elaboration_Order_Writers -- | |
107 ------------------------------- | |
108 | |
109 package Elaboration_Order_Writers is | |
110 procedure Write_Elaboration_Order (Order : Unit_Id_Table); | |
111 -- Write elaboration order Order to standard output | |
112 | |
113 end Elaboration_Order_Writers; | |
114 | |
115 ------------------------------ | |
116 -- Invocation_Graph_Writers -- | |
117 ------------------------------ | |
118 | |
119 package Invocation_Graph_Writers is | |
120 procedure Write_Invocation_Graph (G : Invocation_Graph); | |
121 -- Write invocation graph G to standard output | |
122 | |
123 end Invocation_Graph_Writers; | |
124 | |
125 --------------------------- | |
126 -- Library_Graph_Writers -- | |
127 --------------------------- | |
128 | |
129 package Library_Graph_Writers is | |
130 procedure Write_Library_Graph (G : Library_Graph); | |
131 -- Write library graph G to standard output | |
132 | |
133 end Library_Graph_Writers; | |
134 | |
135 ------------------- | |
136 -- Phase_Writers -- | |
137 ------------------- | |
138 | |
139 package Phase_Writers is | |
140 procedure End_Phase (Phase : Elaboration_Phase); | |
141 pragma Inline (End_Phase); | |
142 -- Write the end message associated with elaboration phase Phase to | |
143 -- standard output. | |
144 | |
145 procedure Start_Phase (Phase : Elaboration_Phase); | |
146 pragma Inline (Start_Phase); | |
147 -- Write the start message associated with elaboration phase Phase to | |
148 -- standard output. | |
149 | |
150 end Phase_Writers; | |
151 | |
152 -------------------------- | |
153 -- Unit_Closure_Writers -- | |
154 -------------------------- | |
155 | |
156 package Unit_Closure_Writers is | |
157 procedure Write_Unit_Closure (Order : Unit_Id_Table); | |
158 -- Write all sources in the closure of the main unit as enumerated in | |
159 -- elaboration order Order. | |
160 | |
161 end Unit_Closure_Writers; | |
162 | |
163 end Bindo.Writers; |