tree-sitter-ada/corpus/protected.txt
2022-10-25 08:56:27 +02:00

184 lines
7.0 KiB
Plaintext

================================================================================
protected objects
================================================================================
package body P is
protected Obj is
procedure Proc;
function Func return Boolean;
entry E;
entry E2 (Color)(A : Integer);
private
Field : Integer;
end Obj;
protected body Obj is
procedure Proc is begin abort T; end;
function Func return Boolean is begin return False; end;
entry E when Field > 0 is
begin
requeue E with abort;
end E;
entry E2 (for C in Color)(A : Integer) when True is
begin
null;
end E2;
end Obj;
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(proper_body
(package_body
(name
(identifier))
(non_empty_declarative_part
(declarative_item_pragma
(object_declaration
(single_protected_declaration
(identifier)
(protected_definition
(protected_operation_declaration
(subprogram_declaration
(subprogram_specification
(procedure_specification
(name
(identifier))))))
(protected_operation_declaration
(subprogram_declaration
(subprogram_specification
(function_specification
(name
(identifier))
(parameter_and_result_profile
(result_profile
(name
(identifier))))))))
(protected_operation_declaration
(entry_declaration
(identifier)))
(protected_operation_declaration
(entry_declaration
(identifier)
(discrete_subtype_definition
(subtype_indication
(name
(identifier))))
(formal_part
(parameter_specification_list
(parameter_specification
(defining_identifier_list
(identifier))
(name
(identifier)))))))
(protected_element_declaration
(component_declaration
(defining_identifier_list
(identifier))
(component_definition
(subtype_indication
(name
(identifier))))))
(identifier)))))
(declarative_item_pragma
(proper_body
(protected_body
(identifier)
(protected_operation_item
(subprogram_body
(subprogram_specification
(procedure_specification
(name
(identifier))))
(handled_sequence_of_statements
(sequence_of_statements
(statement
(simple_statement
(abort_statement
(name
(identifier)))))))))
(protected_operation_item
(subprogram_body
(subprogram_specification
(function_specification
(name
(identifier))
(parameter_and_result_profile
(result_profile
(name
(identifier))))))
(handled_sequence_of_statements
(sequence_of_statements
(statement
(simple_statement
(simple_return_statement
(expression
(relation
(simple_expression
(term
(factor
(primary
(name
(identifier)))))))))))))))
(protected_operation_item
(entry_body
(identifier)
(entry_barrier
(expression
(relation
(simple_expression
(term
(factor
(primary
(name
(identifier))))))
(relational_operator)
(simple_expression
(term
(factor
(primary
(numeric_literal))))))))
(handled_sequence_of_statements
(sequence_of_statements
(statement
(simple_statement
(requeue_statement
(name
(identifier)))))))
(identifier)))
(protected_operation_item
(entry_body
(identifier)
(non_empty_entry_body_formal_part
(entry_index_specification
(identifier)
(discrete_subtype_definition
(subtype_indication
(name
(identifier)))))
(formal_part
(parameter_specification_list
(parameter_specification
(defining_identifier_list
(identifier))
(name
(identifier))))))
(entry_barrier
(expression
(relation
(simple_expression
(term
(factor
(primary
(name
(identifier)))))))))
(handled_sequence_of_statements
(sequence_of_statements
(statement
(simple_statement
(null_statement)))))
(identifier)))
(identifier)))))))))