================================================================================ Range attribute ================================================================================ procedure P is A : MyArray (B'Range (1)); begin for E in Arr'Range loop null; end loop; for E in Arr'Range (1) loop null; end loop; end; -------------------------------------------------------------------------------- (compilation (compilation_unit (subprogram_body (procedure_specification (identifier)) (non_empty_declarative_part (object_declaration (identifier) (identifier) (index_constraint (range_g (identifier) (tick) (range_attribute_designator (expression (term (numeric_literal)))))))) (handled_sequence_of_statements (loop_statement (iteration_scheme (loop_parameter_specification (identifier) (range_g (identifier) (tick) (range_attribute_designator)))) (null_statement)) (loop_statement (iteration_scheme (loop_parameter_specification (identifier) (range_g (identifier) (tick) (range_attribute_designator (expression (term (numeric_literal))))))) (null_statement)))))) ================================================================================ Reduction ================================================================================ procedure P is X : Integer := [parallel for Val of M when Val > 100.0 => (Val, 1)] 'Reduce("+", 0); begin null; end; -------------------------------------------------------------------------------- (compilation (compilation_unit (subprogram_body (procedure_specification (identifier)) (non_empty_declarative_part (object_declaration (identifier) (identifier) (expression (term (value_sequence (iterated_element_association (iterator_specification (identifier) (identifier) (iterator_filter (expression (term (identifier)) (relational_operator) (term (numeric_literal))))) (expression (term (positional_array_aggregate (expression (term (identifier))) (expression (term (numeric_literal)))))))) (tick) (reduction_attribute_designator (identifier) (reduction_specification (string_literal) (expression (term (numeric_literal))))))))) (handled_sequence_of_statements (null_statement)))))