tree-sitter-ada/test/corpus/allocators.txt

475 lines
14 KiB
Plaintext

================================================================================
subtype indication (subtype mark: identifier)
================================================================================
procedure P is
begin
A := new T;
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
subtype_mark: (identifier)))))))))
================================================================================
subtype indication (subtype mark: selected component)
================================================================================
procedure P is
begin
A := new X.T;
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
subtype_mark: (selected_component
prefix: (identifier)
selector_name: (identifier))))))))))
================================================================================
subtype indication (subtype mark: attribute reference)
================================================================================
procedure P is
begin
A := new T'Base;
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
subtype_mark: (identifier)
subtype_mark: (tick)
subtype_mark: (attribute_designator
(identifier))))))))))
================================================================================
subtype indication (null exclusion)
================================================================================
procedure P is
begin
A := new not null T;
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
(null_exclusion)
subtype_mark: (identifier)))))))))
================================================================================
subtype indication (constraint: index constraint)
================================================================================
procedure P is
begin
A := new T (1 .. 10, 1 .. 20);
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
subtype_mark: (identifier)
(index_constraint
(range_g
(term
(numeric_literal))
(term
(numeric_literal)))
(range_g
(term
(numeric_literal))
(term
(numeric_literal))))))))))))
================================================================================
subtype indication (constraint: discriminant constraint - numeric literal)
================================================================================
procedure P is
begin
A := new T (100);
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
subtype_mark: (identifier)
(discriminant_constraint
(expression
(term
(numeric_literal))))))))))))
================================================================================
subtype indication (constraint: discriminant constraint - discriminant association)
================================================================================
procedure P is
begin
A := new T (F => 100);
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
subtype_mark: (identifier)
(discriminant_constraint
(discriminant_association
(identifier)
(expression
(term
(numeric_literal)))))))))))))
================================================================================
subtype indication (constraint: discriminant constraint - identifier)
================================================================================
procedure P is
begin
A := new T (F);
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
subtype_mark: (identifier)
(discriminant_constraint
(expression
(term
name: (identifier))))))))))))
================================================================================
qualified expression (aggregate: positional array aggregate)
================================================================================
procedure P is
begin
A := new T'(0, 255, 0);
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
(qualified_expression
subtype_name: (identifier)
(tick)
(positional_array_aggregate
(expression
(term
(numeric_literal)))
(expression
(term
(numeric_literal)))
(expression
(term
(numeric_literal)))))))))))))
================================================================================
qualified expression (aggregate: record aggregate)
================================================================================
procedure P is
begin
A := new T'(F => 1);
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
(qualified_expression
subtype_name: (identifier)
(tick)
(record_aggregate
(record_component_association_list
(component_choice_list
(identifier))
(expression
(term
(numeric_literal))))))))))))))
================================================================================
qualified expression (aggregate: named array aggregate)
================================================================================
procedure P is
begin
A := new T'(1 .. 10 => (1 .. 20 => 0.0));
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
(qualified_expression
subtype_name: (identifier)
(tick)
(named_array_aggregate
(array_component_association
(discrete_choice_list
(discrete_choice
(range_g
(term
(numeric_literal))
(term
(numeric_literal)))))
(expression
(term
(named_array_aggregate
(array_component_association
(discrete_choice_list
(discrete_choice
(range_g
(term
(numeric_literal))
(term
(numeric_literal)))))
(expression
(term
(numeric_literal))))))))))))))))))
================================================================================
qualified expression (expression: numeric literal)
================================================================================
procedure P is
begin
A := new T'(55);
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
(qualified_expression
subtype_name: (identifier)
(tick)
(expression
(term
(numeric_literal))))))))))))
================================================================================
qualified expression (expression: identifier)
================================================================================
procedure P is
begin
A := new T'(F);
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
(qualified_expression
subtype_name: (identifier)
(tick)
(expression
(term
name: (identifier))))))))))))
================================================================================
qualified expression (subtype mark: attribute reference)
================================================================================
procedure P is
begin
A := new T'Base'(5);
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
(qualified_expression
subtype_name: (identifier)
subtype_name: (tick)
subtype_name: (attribute_designator
(identifier))
(tick)
(expression
(term
(numeric_literal))))))))))))
================================================================================
subpool specification
================================================================================
procedure P is
begin
A := new (pkg.pool) T;
A := new (pkg.pool) T'(55);
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(subprogram_body
(procedure_specification
name: (identifier))
(handled_sequence_of_statements
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
(subpool_specification
subpool_handle_name: (selected_component
prefix: (identifier)
selector_name: (identifier)))
subtype_mark: (identifier)))))
(assignment_statement
variable_name: (identifier)
(expression
(term
(allocator
(subpool_specification
subpool_handle_name: (selected_component
prefix: (identifier)
selector_name: (identifier)))
(qualified_expression
subtype_name: (identifier)
(tick)
(expression
(term
(numeric_literal))))))))))))