tree-sitter-ada/corpus/access.txt
2022-10-25 09:53:24 +02:00

137 lines
4.3 KiB
Plaintext

================================================================================
access types
================================================================================
package P is
type A is access Integer;
type B is access not null Integer;
type C is access constant Integer;
type D is access all Integer;
type E is access function return Boolean;
type F is access protected function return Boolean;
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(package_specification
(name
(identifier))
(type_declaration
(full_type_declaration
(identifier)
(type_definition
(access_type_definition
(access_to_object_definition
(subtype_indication
(name
(identifier))))))))
(type_declaration
(full_type_declaration
(identifier)
(type_definition
(access_type_definition
(access_to_object_definition
(subtype_indication
(null_exclusion)
(name
(identifier))))))))
(type_declaration
(full_type_declaration
(identifier)
(type_definition
(access_type_definition
(access_to_object_definition
(general_access_modifier)
(subtype_indication
(name
(identifier))))))))
(type_declaration
(full_type_declaration
(identifier)
(type_definition
(access_type_definition
(access_to_object_definition
(general_access_modifier)
(subtype_indication
(name
(identifier))))))))
(type_declaration
(full_type_declaration
(identifier)
(type_definition
(access_type_definition
(access_to_subprogram_definition
(parameter_and_result_profile
(result_profile
(name
(identifier)))))))))
(type_declaration
(full_type_declaration
(identifier)
(type_definition
(access_type_definition
(access_to_subprogram_definition
(parameter_and_result_profile
(result_profile
(name
(identifier))))))))))))
================================================================================
Dereference
================================================================================
procedure P is
begin
A := Acc.all;
Proc.all (1);
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(proper_body
(subprogram_body
(subprogram_specification
(procedure_specification
(name
(identifier))))
(handled_sequence_of_statements
(sequence_of_statements
(statement
(simple_statement
(assignment_statement
(name
(identifier))
(assign_value
(expression
(relation
(simple_expression
(term
(factor
(primary
(name
(identifier)
(name
(identifier)))))))))))))
(statement
(simple_statement
(procedure_call_statement
(name
(function_call
(name
(identifier)
(name
(identifier)))
(actual_parameter_part
(parameter_association
(expression
(relation
(simple_expression
(term
(factor
(primary
(numeric_literal))))))))))))))))))))