1 package Case_Optimization_Pkg1
is
3 type Element
is null record;
5 type Internal_Element_Kinds
is
7 An_All_Calls_Remote_Pragma
,
8 An_Asynchronous_Pragma
,
10 An_Atomic_Components_Pragma
,
11 An_Attach_Handler_Pragma
,
14 A_Discard_Names_Pragma
,
16 An_Elaborate_All_Pragma
,
17 An_Elaborate_Body_Pragma
,
21 An_Inspection_Point_Pragma
,
22 An_Interrupt_Handler_Pragma
,
23 An_Interrupt_Priority_Pragma
,
24 A_Linker_Options_Pragma
,
26 A_Locking_Policy_Pragma
,
27 A_Normalize_Scalars_Pragma
,
31 A_Preelaborate_Pragma
,
34 A_Queuing_Policy_Pragma
,
35 A_Remote_Call_Interface_Pragma
,
36 A_Remote_Types_Pragma
,
37 A_Restrictions_Pragma
,
39 A_Shared_Passive_Pragma
,
40 A_Storage_Size_Pragma
,
42 A_Task_Dispatching_Policy_Pragma
,
44 A_Volatile_Components_Pragma
,
46 An_Assertion_Policy_Pragma
,
47 A_Detect_Blocking_Pragma
,
49 A_Partition_Elaboration_Policy_Pragma
,
50 A_Preelaborable_Initialization_Pragma
,
51 A_Priority_Specific_Dispatching_Pragma
,
53 A_Relative_Deadline_Pragma
,
54 An_Unchecked_Union_Pragma
,
56 An_Implementation_Defined_Pragma
,
58 A_Defining_Identifier
,
59 A_Defining_Character_Literal
,
60 A_Defining_Enumeration_Literal
,
61 A_Defining_And_Operator
,
62 A_Defining_Or_Operator
,
63 A_Defining_Xor_Operator
,
64 A_Defining_Equal_Operator
,
65 A_Defining_Not_Equal_Operator
,
66 A_Defining_Less_Than_Operator
,
67 A_Defining_Less_Than_Or_Equal_Operator
,
68 A_Defining_Greater_Than_Operator
,
69 A_Defining_Greater_Than_Or_Equal_Operator
,
70 A_Defining_Plus_Operator
,
71 A_Defining_Minus_Operator
,
72 A_Defining_Concatenate_Operator
,
73 A_Defining_Unary_Plus_Operator
,
74 A_Defining_Unary_Minus_Operator
,
75 A_Defining_Multiply_Operator
,
76 A_Defining_Divide_Operator
,
77 A_Defining_Mod_Operator
,
78 A_Defining_Rem_Operator
,
79 A_Defining_Exponentiate_Operator
,
80 A_Defining_Abs_Operator
,
81 A_Defining_Not_Operator
,
82 A_Defining_Expanded_Name
,
83 An_Ordinary_Type_Declaration
,
84 A_Task_Type_Declaration
,
85 A_Protected_Type_Declaration
,
86 An_Incomplete_Type_Declaration
,
87 A_Tagged_Incomplete_Type_Declaration
,
88 A_Private_Type_Declaration
,
89 A_Private_Extension_Declaration
,
90 A_Subtype_Declaration
,
91 A_Variable_Declaration
,
92 A_Constant_Declaration
,
93 A_Deferred_Constant_Declaration
,
94 A_Single_Task_Declaration
,
95 A_Single_Protected_Declaration
,
96 An_Integer_Number_Declaration
,
97 A_Real_Number_Declaration
,
98 An_Enumeration_Literal_Specification
,
99 A_Discriminant_Specification
,
100 A_Component_Declaration
,
101 A_Loop_Parameter_Specification
,
102 A_Procedure_Declaration
,
103 A_Function_Declaration
,
104 A_Parameter_Specification
,
105 A_Procedure_Body_Declaration
,
106 A_Function_Body_Declaration
,
107 A_Return_Object_Declaration
,
108 A_Null_Procedure_Declaration
,
109 A_Package_Declaration
,
110 A_Package_Body_Declaration
,
111 An_Object_Renaming_Declaration
,
112 An_Exception_Renaming_Declaration
,
113 A_Package_Renaming_Declaration
,
114 A_Procedure_Renaming_Declaration
,
115 A_Function_Renaming_Declaration
,
116 A_Generic_Package_Renaming_Declaration
,
117 A_Generic_Procedure_Renaming_Declaration
,
118 A_Generic_Function_Renaming_Declaration
,
119 A_Task_Body_Declaration
,
120 A_Protected_Body_Declaration
,
121 An_Entry_Declaration
,
122 An_Entry_Body_Declaration
,
123 An_Entry_Index_Specification
,
124 A_Procedure_Body_Stub
,
125 A_Function_Body_Stub
,
128 A_Protected_Body_Stub
,
129 An_Exception_Declaration
,
130 A_Choice_Parameter_Specification
,
131 A_Generic_Procedure_Declaration
,
132 A_Generic_Function_Declaration
,
133 A_Generic_Package_Declaration
,
134 A_Package_Instantiation
,
135 A_Procedure_Instantiation
,
136 A_Function_Instantiation
,
137 A_Formal_Object_Declaration
,
138 A_Formal_Type_Declaration
,
139 A_Formal_Procedure_Declaration
,
140 A_Formal_Function_Declaration
,
141 A_Formal_Package_Declaration
,
142 A_Formal_Package_Declaration_With_Box
,
143 A_Derived_Type_Definition
,
144 A_Derived_Record_Extension_Definition
,
145 An_Enumeration_Type_Definition
,
146 A_Signed_Integer_Type_Definition
,
147 A_Modular_Type_Definition
,
148 A_Root_Integer_Definition
,
149 A_Root_Real_Definition
,
150 A_Universal_Integer_Definition
,
151 A_Universal_Real_Definition
,
152 A_Universal_Fixed_Definition
,
153 A_Floating_Point_Definition
,
154 An_Ordinary_Fixed_Point_Definition
,
155 A_Decimal_Fixed_Point_Definition
,
156 An_Unconstrained_Array_Definition
,
157 A_Constrained_Array_Definition
,
158 A_Record_Type_Definition
,
159 A_Tagged_Record_Type_Definition
,
160 An_Ordinary_Interface
,
163 A_Protected_Interface
,
164 A_Synchronized_Interface
,
165 A_Pool_Specific_Access_To_Variable
,
166 An_Access_To_Variable
,
167 An_Access_To_Constant
,
168 An_Access_To_Procedure
,
169 An_Access_To_Protected_Procedure
,
170 An_Access_To_Function
,
171 An_Access_To_Protected_Function
,
172 A_Subtype_Indication
,
173 A_Range_Attribute_Reference
,
174 A_Simple_Expression_Range
,
178 A_Discriminant_Constraint
,
179 A_Component_Definition
,
180 A_Discrete_Subtype_Indication_As_Subtype_Definition
,
181 A_Discrete_Range_Attribute_Reference_As_Subtype_Definition
,
182 A_Discrete_Simple_Expression_Range_As_Subtype_Definition
,
183 A_Discrete_Subtype_Indication
,
184 A_Discrete_Range_Attribute_Reference
,
185 A_Discrete_Simple_Expression_Range
,
186 An_Unknown_Discriminant_Part
,
187 A_Known_Discriminant_Part
,
189 A_Null_Record_Definition
,
194 An_Anonymous_Access_To_Variable
,
195 An_Anonymous_Access_To_Constant
,
196 An_Anonymous_Access_To_Procedure
,
197 An_Anonymous_Access_To_Protected_Procedure
,
198 An_Anonymous_Access_To_Function
,
199 An_Anonymous_Access_To_Protected_Function
,
200 A_Private_Type_Definition
,
201 A_Tagged_Private_Type_Definition
,
202 A_Private_Extension_Definition
,
204 A_Protected_Definition
,
205 A_Formal_Private_Type_Definition
,
206 A_Formal_Tagged_Private_Type_Definition
,
207 A_Formal_Derived_Type_Definition
,
208 A_Formal_Discrete_Type_Definition
,
209 A_Formal_Signed_Integer_Type_Definition
,
210 A_Formal_Modular_Type_Definition
,
211 A_Formal_Floating_Point_Definition
,
212 A_Formal_Ordinary_Fixed_Point_Definition
,
213 A_Formal_Decimal_Fixed_Point_Definition
,
214 A_Formal_Ordinary_Interface
,
215 A_Formal_Limited_Interface
,
216 A_Formal_Task_Interface
,
217 A_Formal_Protected_Interface
,
218 A_Formal_Synchronized_Interface
,
219 A_Formal_Unconstrained_Array_Definition
,
220 A_Formal_Constrained_Array_Definition
,
221 A_Formal_Pool_Specific_Access_To_Variable
,
222 A_Formal_Access_To_Variable
,
223 A_Formal_Access_To_Constant
,
224 A_Formal_Access_To_Procedure
,
225 A_Formal_Access_To_Protected_Procedure
,
226 A_Formal_Access_To_Function
,
227 A_Formal_Access_To_Protected_Function
,
236 A_Not_Equal_Operator
,
237 A_Less_Than_Operator
,
238 A_Less_Than_Or_Equal_Operator
,
239 A_Greater_Than_Operator
,
240 A_Greater_Than_Or_Equal_Operator
,
243 A_Concatenate_Operator
,
244 A_Unary_Plus_Operator
,
245 A_Unary_Minus_Operator
,
250 An_Exponentiate_Operator
,
254 An_Enumeration_Literal
,
255 An_Explicit_Dereference
,
257 An_Indexed_Component
,
259 A_Selected_Component
,
261 An_Address_Attribute
,
262 An_Adjacent_Attribute
,
264 An_Alignment_Attribute
,
266 A_Bit_Order_Attribute
,
267 A_Body_Version_Attribute
,
268 A_Callable_Attribute
,
272 A_Component_Size_Attribute
,
274 A_Constrained_Attribute
,
275 A_Copy_Sign_Attribute
,
277 A_Definite_Attribute
,
281 An_Exponent_Attribute
,
282 An_External_Tag_Attribute
,
284 A_First_Bit_Attribute
,
287 A_Fraction_Attribute
,
288 An_Identity_Attribute
,
292 A_Last_Bit_Attribute
,
293 A_Leading_Part_Attribute
,
296 A_Machine_Emax_Attribute
,
297 A_Machine_Emin_Attribute
,
298 A_Machine_Mantissa_Attribute
,
299 A_Machine_Overflows_Attribute
,
300 A_Machine_Radix_Attribute
,
301 A_Machine_Rounds_Attribute
,
303 A_Max_Size_In_Storage_Elements_Attribute
,
306 A_Model_Emin_Attribute
,
307 A_Model_Epsilon_Attribute
,
308 A_Model_Mantissa_Attribute
,
309 A_Model_Small_Attribute
,
312 A_Partition_ID_Attribute
,
314 A_Position_Attribute
,
318 A_Remainder_Attribute
,
320 A_Rounding_Attribute
,
321 A_Safe_First_Attribute
,
322 A_Safe_Last_Attribute
,
325 A_Signed_Zeros_Attribute
,
328 A_Storage_Pool_Attribute
,
329 A_Storage_Size_Attribute
,
332 A_Terminated_Attribute
,
333 A_Truncation_Attribute
,
334 An_Unbiased_Rounding_Attribute
,
335 An_Unchecked_Access_Attribute
,
340 A_Wide_Image_Attribute
,
341 A_Wide_Value_Attribute
,
342 A_Wide_Width_Attribute
,
345 A_Machine_Rounding_Attribute
,
347 A_Priority_Attribute
,
348 A_Stream_Size_Attribute
,
349 A_Wide_Wide_Image_Attribute
,
350 A_Wide_Wide_Value_Attribute
,
351 A_Wide_Wide_Width_Attribute
,
352 An_Implementation_Defined_Attribute
,
353 An_Unknown_Attribute
,
355 An_Extension_Aggregate
,
356 A_Positional_Array_Aggregate
,
357 A_Named_Array_Aggregate
,
358 An_And_Then_Short_Circuit
,
359 An_Or_Else_Short_Circuit
,
360 An_In_Range_Membership_Test
,
361 A_Not_In_Range_Membership_Test
,
362 An_In_Type_Membership_Test
,
363 A_Not_In_Type_Membership_Test
,
365 A_Parenthesized_Expression
,
367 A_Qualified_Expression
,
368 An_Allocation_From_Subtype
,
369 An_Allocation_From_Qualified_Expression
,
370 A_Pragma_Argument_Association
,
371 A_Discriminant_Association
,
372 A_Record_Component_Association
,
373 An_Array_Component_Association
,
374 A_Parameter_Association
,
375 A_Generic_Association
,
377 An_Assignment_Statement
,
381 A_While_Loop_Statement
,
382 A_For_Loop_Statement
,
386 A_Procedure_Call_Statement
,
388 An_Extended_Return_Statement
,
390 An_Entry_Call_Statement
,
392 A_Requeue_Statement_With_Abort
,
393 A_Delay_Until_Statement
,
394 A_Delay_Relative_Statement
,
395 A_Terminate_Alternative_Statement
,
396 A_Selective_Accept_Statement
,
397 A_Timed_Entry_Call_Statement
,
398 A_Conditional_Entry_Call_Statement
,
399 An_Asynchronous_Select_Statement
,
410 A_Use_Package_Clause
,
413 An_Attribute_Definition_Clause
,
414 An_Enumeration_Representation_Clause
,
415 A_Record_Representation_Clause
,
418 An_Exception_Handler
,
420 Not_Implemented_Mapping
,
424 subtype Internal_Expression_Kinds
is Internal_Element_Kinds
425 range An_Integer_Literal
.. An_Allocation_From_Qualified_Expression
;
427 subtype Internal_Operator_Symbol_Kinds
is Internal_Expression_Kinds
428 range An_And_Operator
.. A_Not_Operator
;
430 function Int_Kind
(E
: Element
) return Internal_Element_Kinds
;
432 end Case_Optimization_Pkg1
;