[ { "type": "abort_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, { "type": "accept_alternative", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } }, { "type": "accept_statement", "named": true, "fields": { "entry_direct_name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "entry_identifier": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "entry_index": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] }, "parameter_profile": { "multiple": false, "required": false, "types": [ { "type": "formal_part", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "handled_sequence_of_statements", "named": true } ] } }, { "type": "access_definition", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "formal_part", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "result_profile", "named": true } ] } }, { "type": "access_to_object_definition", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "general_access_modifier", "named": true }, { "type": "index_constraint", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "range_constraint", "named": true } ] } }, { "type": "access_to_subprogram_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "formal_part", "named": true }, { "type": "result_profile", "named": true } ] } }, { "type": "actual_parameter_part", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "case_expression", "named": true }, { "type": "declare_expression", "named": true }, { "type": "if_expression", "named": true }, { "type": "parameter_association", "named": true }, { "type": "quantified_expression", "named": true } ] } }, { "type": "allocator", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "discriminant_constraint", "named": true }, { "type": "index_constraint", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "subpool_specification", "named": true } ] } }, { "type": "array_component_association", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "discrete_choice_list", "named": true }, { "type": "expression", "named": true }, { "type": "iterated_element_association", "named": true } ] } }, { "type": "array_delta_aggregate", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_component_association", "named": true }, { "type": "expression", "named": true } ] } }, { "type": "array_type_definition", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "component_definition", "named": true }, { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "index_constraint", "named": true }, { "type": "index_subtype_definition", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "range_constraint", "named": true }, { "type": "range_g", "named": true } ] } }, { "type": "aspect_association", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "global_aspect_definition", "named": true }, { "type": "identifier", "named": true }, { "type": "tick", "named": true } ] } }, { "type": "aspect_mark_list", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_association", "named": true } ] } }, { "type": "aspect_specification", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "aspect_mark_list", "named": true } ] } }, { "type": "assignment_statement", "named": true, "fields": { "variable_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "asynchronous_select", "named": true, "fields": { "abortable_part": { "multiple": true, "required": true, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "triggering_alternative", "named": true } ] } }, { "type": "at_clause", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "attribute_definition_clause", "named": true, "fields": { "local_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "expression", "named": true }, { "type": "tick", "named": true } ] } }, { "type": "attribute_designator", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "binary_adding_operator", "named": true, "fields": {} }, { "type": "block_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "handled_sequence_of_statements", "named": true }, { "type": "identifier", "named": true }, { "type": "loop_label", "named": true }, { "type": "non_empty_declarative_part", "named": true } ] } }, { "type": "body_stub", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "package_body_stub", "named": true }, { "type": "protected_body_stub", "named": true }, { "type": "subprogram_body_stub", "named": true }, { "type": "task_body_stub", "named": true } ] } }, { "type": "case_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "case_expression_alternative", "named": true }, { "type": "expression", "named": true } ] } }, { "type": "case_expression_alternative", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "discrete_choice_list", "named": true }, { "type": "expression", "named": true } ] } }, { "type": "case_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "case_statement_alternative", "named": true }, { "type": "expression", "named": true } ] } }, { "type": "case_statement_alternative", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "discrete_choice_list", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } }, { "type": "choice_parameter_specification", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "chunk_specification", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "binary_adding_operator", "named": true }, { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "identifier", "named": true }, { "type": "index_constraint", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "range_constraint", "named": true }, { "type": "range_g", "named": true }, { "type": "term", "named": true }, { "type": "unary_adding_operator", "named": true } ] } }, { "type": "compilation", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "compilation_unit", "named": true } ] } }, { "type": "compilation_unit", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "at_clause", "named": true }, { "type": "attribute_definition_clause", "named": true }, { "type": "block_statement", "named": true }, { "type": "body_stub", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "entry_declaration", "named": true }, { "type": "enumeration_representation_clause", "named": true }, { "type": "exception_declaration", "named": true }, { "type": "exception_renaming_declaration", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_function_declaration", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "full_type_declaration", "named": true }, { "type": "generic_instantiation", "named": true }, { "type": "generic_package_declaration", "named": true }, { "type": "generic_renaming_declaration", "named": true }, { "type": "generic_subprogram_declaration", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "incomplete_type_declaration", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_procedure_declaration", "named": true }, { "type": "null_statement", "named": true }, { "type": "number_declaration", "named": true }, { "type": "object_declaration", "named": true }, { "type": "object_renaming_declaration", "named": true }, { "type": "package_body", "named": true }, { "type": "package_declaration", "named": true }, { "type": "package_renaming_declaration", "named": true }, { "type": "pragma_g", "named": true }, { "type": "private_extension_declaration", "named": true }, { "type": "private_type_declaration", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "protected_body", "named": true }, { "type": "raise_statement", "named": true }, { "type": "record_representation_clause", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "subprogram_body", "named": true }, { "type": "subprogram_declaration", "named": true }, { "type": "subprogram_renaming_declaration", "named": true }, { "type": "subtype_declaration", "named": true }, { "type": "subunit", "named": true }, { "type": "task_body", "named": true }, { "type": "timed_entry_call", "named": true }, { "type": "use_clause", "named": true }, { "type": "with_clause", "named": true } ] } }, { "type": "component_choice_list", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "identifier", "named": true }, { "type": "string_literal", "named": true } ] } }, { "type": "component_clause", "named": true, "fields": { "first_bit": { "multiple": true, "required": true, "types": [ { "type": "binary_adding_operator", "named": true }, { "type": "term", "named": true }, { "type": "unary_adding_operator", "named": true } ] }, "last_bit": { "multiple": true, "required": true, "types": [ { "type": "binary_adding_operator", "named": true }, { "type": "term", "named": true }, { "type": "unary_adding_operator", "named": true } ] }, "local_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "position": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } } }, { "type": "component_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "component_definition", "named": true }, { "type": "expression", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "component_definition", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "access_definition", "named": true }, { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "index_constraint", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "range_constraint", "named": true } ] } }, { "type": "component_list", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "at_clause", "named": true }, { "type": "attribute_definition_clause", "named": true }, { "type": "component_declaration", "named": true }, { "type": "enumeration_representation_clause", "named": true }, { "type": "pragma_g", "named": true }, { "type": "record_representation_clause", "named": true }, { "type": "variant_part", "named": true } ] } }, { "type": "conditional_entry_call", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "entry_call_alternative", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } }, { "type": "decimal_fixed_point_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "real_range_specification", "named": true } ] } }, { "type": "declare_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "object_declaration", "named": true }, { "type": "object_renaming_declaration", "named": true }, { "type": "pragma_g", "named": true } ] } }, { "type": "delay_alternative", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } }, { "type": "delay_relative_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "delay_until_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "delta_constraint", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "binary_adding_operator", "named": true }, { "type": "range_constraint", "named": true }, { "type": "term", "named": true }, { "type": "unary_adding_operator", "named": true } ] } }, { "type": "derived_type_definition", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "index_constraint", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "range_constraint", "named": true }, { "type": "record_extension_part", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, { "type": "digits_constraint", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "binary_adding_operator", "named": true }, { "type": "range_constraint", "named": true }, { "type": "term", "named": true }, { "type": "unary_adding_operator", "named": true } ] } }, { "type": "discrete_choice", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "expression", "named": true }, { "type": "index_constraint", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "range_constraint", "named": true }, { "type": "range_g", "named": true } ] } }, { "type": "discrete_choice_list", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "discrete_choice", "named": true } ] } }, { "type": "discriminant_association", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "identifier", "named": true }, { "type": "string_literal", "named": true } ] } }, { "type": "discriminant_constraint", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "case_expression", "named": true }, { "type": "declare_expression", "named": true }, { "type": "discriminant_association", "named": true }, { "type": "expression", "named": true }, { "type": "if_expression", "named": true }, { "type": "quantified_expression", "named": true } ] } }, { "type": "discriminant_specification", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "access_definition", "named": true }, { "type": "aspect_specification", "named": true }, { "type": "expression", "named": true }, { "type": "identifier", "named": true }, { "type": "null_exclusion", "named": true } ] } }, { "type": "discriminant_specification_list", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "discriminant_specification", "named": true } ] } }, { "type": "elsif_expression_item", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "elsif_statement_item", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] }, "statements": { "multiple": true, "required": true, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } } }, { "type": "entry_barrier", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } } }, { "type": "entry_body", "named": true, "fields": { "parameter_profile": { "multiple": false, "required": false, "types": [ { "type": "formal_part", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "entry_barrier", "named": true }, { "type": "entry_index_specification", "named": true }, { "type": "handled_sequence_of_statements", "named": true }, { "type": "identifier", "named": true }, { "type": "non_empty_declarative_part", "named": true } ] } }, { "type": "entry_call_alternative", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } }, { "type": "entry_declaration", "named": true, "fields": { "parameter_profile": { "multiple": false, "required": false, "types": [ { "type": "formal_part", "named": true } ] }, "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "identifier", "named": true }, { "type": "index_constraint", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "overriding_indicator", "named": true }, { "type": "range_constraint", "named": true }, { "type": "range_g", "named": true } ] } }, { "type": "entry_index_specification", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "identifier", "named": true }, { "type": "index_constraint", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "range_constraint", "named": true }, { "type": "range_g", "named": true } ] } }, { "type": "enumeration_aggregate", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "named_array_aggregate", "named": true }, { "type": "null_array_aggregate", "named": true }, { "type": "positional_array_aggregate", "named": true } ] } }, { "type": "enumeration_representation_clause", "named": true, "fields": { "local_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "enumeration_aggregate", "named": true } ] } }, { "type": "enumeration_type_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "character_literal", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "exception_choice", "named": true, "fields": { "exception_name": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } } }, { "type": "exception_choice_list", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "exception_choice", "named": true } ] } }, { "type": "exception_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "exception_handler", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "choice_parameter_specification", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "exception_choice_list", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } }, { "type": "exception_renaming_declaration", "named": true, "fields": { "exception_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "exit_statement", "named": true, "fields": { "condition": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] }, "loop_name": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } } }, { "type": "expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "binary_adding_operator", "named": true }, { "type": "raise_expression", "named": true }, { "type": "relation_membership", "named": true }, { "type": "relational_operator", "named": true }, { "type": "term", "named": true }, { "type": "unary_adding_operator", "named": true } ] } }, { "type": "expression_function_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_delta_aggregate", "named": true }, { "type": "aspect_specification", "named": true }, { "type": "case_expression", "named": true }, { "type": "declare_expression", "named": true }, { "type": "expression", "named": true }, { "type": "extension_aggregate", "named": true }, { "type": "function_specification", "named": true }, { "type": "if_expression", "named": true }, { "type": "named_array_aggregate", "named": true }, { "type": "null_array_aggregate", "named": true }, { "type": "overriding_indicator", "named": true }, { "type": "positional_array_aggregate", "named": true }, { "type": "quantified_expression", "named": true }, { "type": "record_aggregate", "named": true }, { "type": "record_delta_aggregate", "named": true } ] } }, { "type": "extended_return_object_declaration", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "access_definition", "named": true }, { "type": "aspect_specification", "named": true }, { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "expression", "named": true }, { "type": "identifier", "named": true }, { "type": "index_constraint", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "range_constraint", "named": true } ] } }, { "type": "extended_return_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "extended_return_object_declaration", "named": true }, { "type": "handled_sequence_of_statements", "named": true } ] } }, { "type": "extension_aggregate", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "record_component_association_list", "named": true } ] } }, { "type": "factor_abs", "named": true, "fields": { "name": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "allocator", "named": true }, { "type": "array_delta_aggregate", "named": true }, { "type": "case_expression", "named": true }, { "type": "declare_expression", "named": true }, { "type": "expression", "named": true }, { "type": "extension_aggregate", "named": true }, { "type": "if_expression", "named": true }, { "type": "named_array_aggregate", "named": true }, { "type": "null_array_aggregate", "named": true }, { "type": "numeric_literal", "named": true }, { "type": "positional_array_aggregate", "named": true }, { "type": "primary_null", "named": true }, { "type": "quantified_expression", "named": true }, { "type": "record_aggregate", "named": true }, { "type": "record_delta_aggregate", "named": true } ] } }, { "type": "factor_not", "named": true, "fields": { "name": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "allocator", "named": true }, { "type": "array_delta_aggregate", "named": true }, { "type": "case_expression", "named": true }, { "type": "declare_expression", "named": true }, { "type": "expression", "named": true }, { "type": "extension_aggregate", "named": true }, { "type": "if_expression", "named": true }, { "type": "named_array_aggregate", "named": true }, { "type": "null_array_aggregate", "named": true }, { "type": "numeric_literal", "named": true }, { "type": "positional_array_aggregate", "named": true }, { "type": "primary_null", "named": true }, { "type": "quantified_expression", "named": true }, { "type": "record_aggregate", "named": true }, { "type": "record_delta_aggregate", "named": true } ] } }, { "type": "factor_power", "named": true, "fields": { "left": { "multiple": true, "required": true, "types": [ { "type": "(", "named": false }, { "type": ")", "named": false }, { "type": "allocator", "named": true }, { "type": "array_delta_aggregate", "named": true }, { "type": "attribute_designator", "named": true }, { "type": "case_expression", "named": true }, { "type": "character_literal", "named": true }, { "type": "declare_expression", "named": true }, { "type": "expression", "named": true }, { "type": "extension_aggregate", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "if_expression", "named": true }, { "type": "named_array_aggregate", "named": true }, { "type": "null_array_aggregate", "named": true }, { "type": "numeric_literal", "named": true }, { "type": "positional_array_aggregate", "named": true }, { "type": "primary_null", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "quantified_expression", "named": true }, { "type": "record_aggregate", "named": true }, { "type": "record_delta_aggregate", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "name": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "right": { "multiple": true, "required": true, "types": [ { "type": "(", "named": false }, { "type": ")", "named": false }, { "type": "allocator", "named": true }, { "type": "array_delta_aggregate", "named": true }, { "type": "attribute_designator", "named": true }, { "type": "case_expression", "named": true }, { "type": "character_literal", "named": true }, { "type": "declare_expression", "named": true }, { "type": "expression", "named": true }, { "type": "extension_aggregate", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "if_expression", "named": true }, { "type": "named_array_aggregate", "named": true }, { "type": "null_array_aggregate", "named": true }, { "type": "numeric_literal", "named": true }, { "type": "positional_array_aggregate", "named": true }, { "type": "primary_null", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "quantified_expression", "named": true }, { "type": "record_aggregate", "named": true }, { "type": "record_delta_aggregate", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } } }, { "type": "floating_point_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "real_range_specification", "named": true } ] } }, { "type": "formal_abstract_subprogram_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "function_specification", "named": true }, { "type": "procedure_specification", "named": true }, { "type": "subprogram_default", "named": true } ] } }, { "type": "formal_access_type_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "access_to_object_definition", "named": true }, { "type": "access_to_subprogram_definition", "named": true }, { "type": "null_exclusion", "named": true } ] } }, { "type": "formal_array_type_definition", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "array_type_definition", "named": true } ] } }, { "type": "formal_complete_type_declaration", "named": true, "fields": { "default_subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "formal_access_type_definition", "named": true }, { "type": "formal_array_type_definition", "named": true }, { "type": "formal_decimal_fixed_point_definition", "named": true }, { "type": "formal_derived_type_definition", "named": true }, { "type": "formal_discrete_type_definition", "named": true }, { "type": "formal_floating_point_definition", "named": true }, { "type": "formal_interface_type_definition", "named": true }, { "type": "formal_modular_type_definition", "named": true }, { "type": "formal_ordinary_fixed_point_definition", "named": true }, { "type": "formal_private_type_definition", "named": true }, { "type": "formal_signed_integer_type_definition", "named": true }, { "type": "identifier", "named": true }, { "type": "known_discriminant_part", "named": true }, { "type": "unknown_discriminant_part", "named": true } ] } }, { "type": "formal_concrete_subprogram_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "function_specification", "named": true }, { "type": "procedure_specification", "named": true }, { "type": "subprogram_default", "named": true } ] } }, { "type": "formal_decimal_fixed_point_definition", "named": true, "fields": {} }, { "type": "formal_derived_type_definition", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, { "type": "formal_discrete_type_definition", "named": true, "fields": {} }, { "type": "formal_floating_point_definition", "named": true, "fields": {} }, { "type": "formal_group_designator", "named": true, "fields": {} }, { "type": "formal_incomplete_type_declaration", "named": true, "fields": { "default_subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "known_discriminant_part", "named": true }, { "type": "unknown_discriminant_part", "named": true } ] } }, { "type": "formal_interface_type_definition", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "interface_type_definition", "named": true } ] } }, { "type": "formal_modular_type_definition", "named": true, "fields": {} }, { "type": "formal_object_declaration", "named": true, "fields": { "name": { "multiple": true, "required": false, "types": [ { "type": ",", "named": false }, { "type": "identifier", "named": true } ] }, "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "access_definition", "named": true }, { "type": "aspect_specification", "named": true }, { "type": "expression", "named": true }, { "type": "identifier", "named": true }, { "type": "non_empty_mode", "named": true }, { "type": "null_exclusion", "named": true } ] } }, { "type": "formal_ordinary_fixed_point_definition", "named": true, "fields": {} }, { "type": "formal_package_declaration", "named": true, "fields": { "generic_package_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "formal_part", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "parameter_specification", "named": true } ] } }, { "type": "formal_private_type_definition", "named": true, "fields": {} }, { "type": "formal_signed_integer_type_definition", "named": true, "fields": {} }, { "type": "formal_subprogram_declaration", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "formal_abstract_subprogram_declaration", "named": true }, { "type": "formal_concrete_subprogram_declaration", "named": true } ] } }, { "type": "full_type_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "access_to_object_definition", "named": true }, { "type": "access_to_subprogram_definition", "named": true }, { "type": "array_type_definition", "named": true }, { "type": "aspect_specification", "named": true }, { "type": "decimal_fixed_point_definition", "named": true }, { "type": "derived_type_definition", "named": true }, { "type": "enumeration_type_definition", "named": true }, { "type": "floating_point_definition", "named": true }, { "type": "identifier", "named": true }, { "type": "interface_type_definition", "named": true }, { "type": "known_discriminant_part", "named": true }, { "type": "modular_type_definition", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "ordinary_fixed_point_definition", "named": true }, { "type": "protected_type_declaration", "named": true }, { "type": "record_type_definition", "named": true }, { "type": "signed_integer_type_definition", "named": true }, { "type": "task_type_declaration", "named": true } ] } }, { "type": "function_call", "named": true, "fields": { "name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "actual_parameter_part", "named": true } ] } }, { "type": "function_specification", "named": true, "fields": { "name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "formal_part", "named": true }, { "type": "result_profile", "named": true } ] } }, { "type": "general_access_modifier", "named": true, "fields": {} }, { "type": "generic_formal_part", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "formal_complete_type_declaration", "named": true }, { "type": "formal_incomplete_type_declaration", "named": true }, { "type": "formal_object_declaration", "named": true }, { "type": "formal_package_declaration", "named": true }, { "type": "formal_subprogram_declaration", "named": true }, { "type": "pragma_g", "named": true }, { "type": "use_clause", "named": true } ] } }, { "type": "generic_instantiation", "named": true, "fields": { "generic_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "aspect_specification", "named": true }, { "type": "overriding_indicator", "named": true } ] } }, { "type": "generic_package_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "generic_formal_part", "named": true }, { "type": "package_declaration", "named": true } ] } }, { "type": "generic_renaming_declaration", "named": true, "fields": { "defining_program_unit_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "generic_function_name": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "generic_package_name": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "generic_procedure_name": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "aspect_specification", "named": true } ] } }, { "type": "generic_subprogram_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "function_specification", "named": true }, { "type": "generic_formal_part", "named": true }, { "type": "procedure_specification", "named": true } ] } }, { "type": "global_aspect_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "global_aspect_element", "named": true }, { "type": "global_mode", "named": true } ] } }, { "type": "global_aspect_element", "named": true, "fields": { "global_set": { "multiple": true, "required": true, "types": [ { "type": ",", "named": false }, { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "global_mode", "named": true } ] } }, { "type": "global_mode", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "non_empty_mode", "named": true } ] } }, { "type": "gnatprep_declarative_if_statement", "named": true, "fields": { "condition": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "at_clause", "named": true }, { "type": "attribute_definition_clause", "named": true }, { "type": "body_stub", "named": true }, { "type": "enumeration_representation_clause", "named": true }, { "type": "exception_declaration", "named": true }, { "type": "exception_renaming_declaration", "named": true }, { "type": "expression_function_declaration", "named": true }, { "type": "full_type_declaration", "named": true }, { "type": "generic_instantiation", "named": true }, { "type": "generic_package_declaration", "named": true }, { "type": "generic_renaming_declaration", "named": true }, { "type": "generic_subprogram_declaration", "named": true }, { "type": "gnatprep_declarative_if_statement", "named": true }, { "type": "incomplete_type_declaration", "named": true }, { "type": "null_procedure_declaration", "named": true }, { "type": "number_declaration", "named": true }, { "type": "object_declaration", "named": true }, { "type": "object_renaming_declaration", "named": true }, { "type": "package_body", "named": true }, { "type": "package_declaration", "named": true }, { "type": "package_renaming_declaration", "named": true }, { "type": "pragma_g", "named": true }, { "type": "private_extension_declaration", "named": true }, { "type": "private_type_declaration", "named": true }, { "type": "protected_body", "named": true }, { "type": "record_representation_clause", "named": true }, { "type": "subprogram_body", "named": true }, { "type": "subprogram_declaration", "named": true }, { "type": "subprogram_renaming_declaration", "named": true }, { "type": "subtype_declaration", "named": true }, { "type": "task_body", "named": true }, { "type": "use_clause", "named": true } ] } }, { "type": "gnatprep_if_statement", "named": true, "fields": { "condition": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } }, { "type": "goto_statement", "named": true, "fields": { "label_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } } }, { "type": "guard", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } } }, { "type": "handled_sequence_of_statements", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "exception_handler", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } }, { "type": "if_expression", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "elsif_expression_item", "named": true }, { "type": "expression", "named": true } ] } }, { "type": "if_statement", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] }, "else_statements": { "multiple": true, "required": false, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] }, "statements": { "multiple": true, "required": true, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "elsif_statement_item", "named": true } ] } }, { "type": "incomplete_type_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "known_discriminant_part", "named": true }, { "type": "unknown_discriminant_part", "named": true } ] } }, { "type": "index_constraint", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "index_constraint", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "range_constraint", "named": true }, { "type": "range_g", "named": true } ] } }, { "type": "index_subtype_definition", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } } }, { "type": "interface_type_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, { "type": "iterated_element_association", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "iterator_specification", "named": true }, { "type": "loop_parameter_specification", "named": true } ] } }, { "type": "iteration_scheme", "named": true, "fields": { "condition": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "iterator_specification", "named": true }, { "type": "loop_parameter_specification", "named": true } ] } }, { "type": "iterator_filter", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } } }, { "type": "iterator_specification", "named": true, "fields": { "iterator_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "access_definition", "named": true }, { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "identifier", "named": true }, { "type": "index_constraint", "named": true }, { "type": "iterator_filter", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "range_constraint", "named": true } ] } }, { "type": "known_discriminant_part", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "discriminant_specification_list", "named": true } ] } }, { "type": "label", "named": true, "fields": { "statement_identifier": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } } }, { "type": "loop_label", "named": true, "fields": { "statement_identifier": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } } }, { "type": "loop_parameter_specification", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "identifier", "named": true }, { "type": "index_constraint", "named": true }, { "type": "iterator_filter", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "range_constraint", "named": true }, { "type": "range_g", "named": true } ] } }, { "type": "loop_statement", "named": true, "fields": { "statements": { "multiple": true, "required": true, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "identifier", "named": true }, { "type": "iteration_scheme", "named": true }, { "type": "loop_label", "named": true } ] } }, { "type": "membership_choice_list", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "binary_adding_operator", "named": true }, { "type": "range_g", "named": true }, { "type": "term", "named": true }, { "type": "unary_adding_operator", "named": true } ] } }, { "type": "mod_clause", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "modular_type_definition", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "multiplying_operator", "named": true, "fields": {} }, { "type": "named_array_aggregate", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_component_association", "named": true } ] } }, { "type": "non_empty_declarative_part", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "at_clause", "named": true }, { "type": "attribute_definition_clause", "named": true }, { "type": "body_stub", "named": true }, { "type": "enumeration_representation_clause", "named": true }, { "type": "exception_declaration", "named": true }, { "type": "exception_renaming_declaration", "named": true }, { "type": "expression_function_declaration", "named": true }, { "type": "full_type_declaration", "named": true }, { "type": "generic_instantiation", "named": true }, { "type": "generic_package_declaration", "named": true }, { "type": "generic_renaming_declaration", "named": true }, { "type": "generic_subprogram_declaration", "named": true }, { "type": "gnatprep_declarative_if_statement", "named": true }, { "type": "incomplete_type_declaration", "named": true }, { "type": "null_procedure_declaration", "named": true }, { "type": "number_declaration", "named": true }, { "type": "object_declaration", "named": true }, { "type": "object_renaming_declaration", "named": true }, { "type": "package_body", "named": true }, { "type": "package_declaration", "named": true }, { "type": "package_renaming_declaration", "named": true }, { "type": "pragma_g", "named": true }, { "type": "private_extension_declaration", "named": true }, { "type": "private_type_declaration", "named": true }, { "type": "protected_body", "named": true }, { "type": "record_representation_clause", "named": true }, { "type": "subprogram_body", "named": true }, { "type": "subprogram_declaration", "named": true }, { "type": "subprogram_renaming_declaration", "named": true }, { "type": "subtype_declaration", "named": true }, { "type": "task_body", "named": true }, { "type": "use_clause", "named": true } ] } }, { "type": "non_empty_mode", "named": true, "fields": {} }, { "type": "null_array_aggregate", "named": true, "fields": {} }, { "type": "null_exclusion", "named": true, "fields": {} }, { "type": "null_procedure_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "overriding_indicator", "named": true }, { "type": "procedure_specification", "named": true } ] } }, { "type": "null_statement", "named": true, "fields": {} }, { "type": "number_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "object_declaration", "named": true, "fields": { "name": { "multiple": true, "required": false, "types": [ { "type": ",", "named": false }, { "type": "identifier", "named": true } ] }, "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "access_definition", "named": true }, { "type": "array_type_definition", "named": true }, { "type": "aspect_specification", "named": true }, { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "expression", "named": true }, { "type": "index_constraint", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "range_constraint", "named": true }, { "type": "single_protected_declaration", "named": true }, { "type": "single_task_declaration", "named": true } ] } }, { "type": "object_renaming_declaration", "named": true, "fields": { "object_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "access_definition", "named": true }, { "type": "aspect_specification", "named": true }, { "type": "identifier", "named": true }, { "type": "null_exclusion", "named": true } ] } }, { "type": "ordinary_fixed_point_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "real_range_specification", "named": true } ] } }, { "type": "overriding_indicator", "named": true, "fields": {} }, { "type": "package_body", "named": true, "fields": { "endname": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "aspect_specification", "named": true }, { "type": "handled_sequence_of_statements", "named": true }, { "type": "non_empty_declarative_part", "named": true } ] } }, { "type": "package_body_stub", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "package_declaration", "named": true, "fields": { "endname": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "aspect_specification", "named": true }, { "type": "at_clause", "named": true }, { "type": "attribute_definition_clause", "named": true }, { "type": "enumeration_representation_clause", "named": true }, { "type": "exception_declaration", "named": true }, { "type": "exception_renaming_declaration", "named": true }, { "type": "expression_function_declaration", "named": true }, { "type": "full_type_declaration", "named": true }, { "type": "generic_instantiation", "named": true }, { "type": "generic_package_declaration", "named": true }, { "type": "generic_renaming_declaration", "named": true }, { "type": "generic_subprogram_declaration", "named": true }, { "type": "incomplete_type_declaration", "named": true }, { "type": "null_procedure_declaration", "named": true }, { "type": "number_declaration", "named": true }, { "type": "object_declaration", "named": true }, { "type": "object_renaming_declaration", "named": true }, { "type": "package_declaration", "named": true }, { "type": "package_renaming_declaration", "named": true }, { "type": "pragma_g", "named": true }, { "type": "private_extension_declaration", "named": true }, { "type": "private_type_declaration", "named": true }, { "type": "record_representation_clause", "named": true }, { "type": "subprogram_declaration", "named": true }, { "type": "subprogram_renaming_declaration", "named": true }, { "type": "subtype_declaration", "named": true }, { "type": "use_clause", "named": true } ] } }, { "type": "package_renaming_declaration", "named": true, "fields": { "name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "package_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "aspect_specification", "named": true } ] } }, { "type": "parameter_association", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "component_choice_list", "named": true }, { "type": "expression", "named": true } ] } }, { "type": "parameter_specification", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "access_definition", "named": true }, { "type": "aspect_specification", "named": true }, { "type": "expression", "named": true }, { "type": "identifier", "named": true }, { "type": "non_empty_mode", "named": true }, { "type": "null_exclusion", "named": true } ] } }, { "type": "positional_array_aggregate", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "pragma_argument_association", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "identifier", "named": true }, { "type": "tick", "named": true } ] } }, { "type": "pragma_g", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "case_expression", "named": true }, { "type": "declare_expression", "named": true }, { "type": "identifier", "named": true }, { "type": "if_expression", "named": true }, { "type": "pragma_argument_association", "named": true }, { "type": "quantified_expression", "named": true } ] } }, { "type": "primary_null", "named": true, "fields": {} }, { "type": "private_extension_declaration", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "index_constraint", "named": true }, { "type": "known_discriminant_part", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "range_constraint", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "unknown_discriminant_part", "named": true }, { "type": "value_sequence", "named": true } ] } }, { "type": "private_type_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "identifier", "named": true }, { "type": "known_discriminant_part", "named": true }, { "type": "unknown_discriminant_part", "named": true } ] } }, { "type": "procedure_call_statement", "named": true, "fields": { "name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "actual_parameter_part", "named": true } ] } }, { "type": "procedure_specification", "named": true, "fields": { "name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "formal_part", "named": true } ] } }, { "type": "protected_body", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "at_clause", "named": true }, { "type": "attribute_definition_clause", "named": true }, { "type": "entry_body", "named": true }, { "type": "enumeration_representation_clause", "named": true }, { "type": "expression_function_declaration", "named": true }, { "type": "identifier", "named": true }, { "type": "null_procedure_declaration", "named": true }, { "type": "record_representation_clause", "named": true }, { "type": "subprogram_body", "named": true }, { "type": "subprogram_declaration", "named": true } ] } }, { "type": "protected_body_stub", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "protected_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "at_clause", "named": true }, { "type": "attribute_definition_clause", "named": true }, { "type": "component_declaration", "named": true }, { "type": "entry_declaration", "named": true }, { "type": "enumeration_representation_clause", "named": true }, { "type": "identifier", "named": true }, { "type": "pragma_g", "named": true }, { "type": "record_representation_clause", "named": true }, { "type": "subprogram_declaration", "named": true } ] } }, { "type": "protected_type_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "known_discriminant_part", "named": true }, { "type": "protected_definition", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, { "type": "qualified_expression", "named": true, "fields": { "subtype_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "array_delta_aggregate", "named": true }, { "type": "case_expression", "named": true }, { "type": "declare_expression", "named": true }, { "type": "expression", "named": true }, { "type": "extension_aggregate", "named": true }, { "type": "if_expression", "named": true }, { "type": "named_array_aggregate", "named": true }, { "type": "null_array_aggregate", "named": true }, { "type": "positional_array_aggregate", "named": true }, { "type": "quantified_expression", "named": true }, { "type": "record_aggregate", "named": true }, { "type": "record_delta_aggregate", "named": true }, { "type": "tick", "named": true } ] } }, { "type": "quantified_expression", "named": true, "fields": { "predicate": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "iterator_specification", "named": true }, { "type": "loop_parameter_specification", "named": true }, { "type": "quantifier", "named": true } ] } }, { "type": "quantifier", "named": true, "fields": {} }, { "type": "raise_expression", "named": true, "fields": { "exception_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "binary_adding_operator", "named": true }, { "type": "term", "named": true }, { "type": "unary_adding_operator", "named": true } ] } }, { "type": "raise_statement", "named": true, "fields": { "name": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] } }, { "type": "range_attribute_designator", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] } }, { "type": "range_constraint", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "range_g", "named": true } ] } }, { "type": "range_g", "named": true, "fields": { "prefix": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "range_attribute_reference": { "multiple": true, "required": false, "types": [ { "type": "range_attribute_designator", "named": true }, { "type": "tick", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "binary_adding_operator", "named": true }, { "type": "term", "named": true }, { "type": "unary_adding_operator", "named": true } ] } }, { "type": "real_range_specification", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "binary_adding_operator", "named": true }, { "type": "term", "named": true }, { "type": "unary_adding_operator", "named": true } ] } }, { "type": "record_aggregate", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "record_component_association_list", "named": true } ] } }, { "type": "record_component_association_list", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "component_choice_list", "named": true }, { "type": "expression", "named": true } ] } }, { "type": "record_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "component_list", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "record_delta_aggregate", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "record_component_association_list", "named": true } ] } }, { "type": "record_extension_part", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "record_definition", "named": true } ] } }, { "type": "record_representation_clause", "named": true, "fields": { "end_local_name": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "local_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "component_clause", "named": true }, { "type": "mod_clause", "named": true } ] } }, { "type": "record_type_definition", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "record_definition", "named": true } ] } }, { "type": "reduction_attribute_designator", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "reduction_specification", "named": true } ] } }, { "type": "reduction_specification", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "expression", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, { "type": "relation_membership", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "binary_adding_operator", "named": true }, { "type": "membership_choice_list", "named": true }, { "type": "term", "named": true }, { "type": "unary_adding_operator", "named": true } ] } }, { "type": "relational_operator", "named": true, "fields": {} }, { "type": "requeue_statement", "named": true, "fields": { "name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } } }, { "type": "result_profile", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "access_definition", "named": true }, { "type": "null_exclusion", "named": true } ] } }, { "type": "select_alternative", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "accept_alternative", "named": true }, { "type": "delay_alternative", "named": true }, { "type": "terminate_alternative", "named": true } ] } }, { "type": "selected_component", "named": true, "fields": { "prefix": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] }, "selector_name": { "multiple": false, "required": true, "types": [ { "type": "character_literal", "named": true }, { "type": "identifier", "named": true }, { "type": "string_literal", "named": true } ] } } }, { "type": "selective_accept", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "guard", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "select_alternative", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } }, { "type": "signed_integer_type_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "binary_adding_operator", "named": true }, { "type": "term", "named": true }, { "type": "unary_adding_operator", "named": true } ] } }, { "type": "simple_return_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] } }, { "type": "single_protected_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "protected_definition", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, { "type": "single_task_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "task_definition", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, { "type": "slice", "named": true, "fields": { "prefix": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "range_g", "named": true } ] } }, { "type": "subpool_specification", "named": true, "fields": { "subpool_handle_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } } }, { "type": "subprogram_body", "named": true, "fields": { "endname": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "function_specification", "named": true }, { "type": "handled_sequence_of_statements", "named": true }, { "type": "non_empty_declarative_part", "named": true }, { "type": "overriding_indicator", "named": true }, { "type": "procedure_specification", "named": true } ] } }, { "type": "subprogram_body_stub", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "function_specification", "named": true }, { "type": "overriding_indicator", "named": true }, { "type": "procedure_specification", "named": true } ] } }, { "type": "subprogram_declaration", "named": true, "fields": { "is_abstract": { "multiple": true, "required": false, "types": [ { "type": "abstract", "named": false }, { "type": "is", "named": false } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "function_specification", "named": true }, { "type": "overriding_indicator", "named": true }, { "type": "procedure_specification", "named": true } ] } }, { "type": "subprogram_default", "named": true, "fields": { "default_name": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } } }, { "type": "subprogram_renaming_declaration", "named": true, "fields": { "callable_entity_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "function_specification", "named": true }, { "type": "overriding_indicator", "named": true }, { "type": "procedure_specification", "named": true } ] } }, { "type": "subtype_declaration", "named": true, "fields": { "subtype_mark": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "delta_constraint", "named": true }, { "type": "digits_constraint", "named": true }, { "type": "discriminant_constraint", "named": true }, { "type": "identifier", "named": true }, { "type": "index_constraint", "named": true }, { "type": "null_exclusion", "named": true }, { "type": "range_constraint", "named": true } ] } }, { "type": "subunit", "named": true, "fields": { "parent_unit_name": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "package_body", "named": true }, { "type": "protected_body", "named": true }, { "type": "subprogram_body", "named": true }, { "type": "task_body", "named": true } ] } }, { "type": "task_body", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "handled_sequence_of_statements", "named": true }, { "type": "identifier", "named": true }, { "type": "non_empty_declarative_part", "named": true } ] } }, { "type": "task_body_stub", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "task_definition", "named": true, "fields": { "endname": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "at_clause", "named": true }, { "type": "attribute_definition_clause", "named": true }, { "type": "entry_declaration", "named": true }, { "type": "enumeration_representation_clause", "named": true }, { "type": "pragma_g", "named": true }, { "type": "record_representation_clause", "named": true } ] } }, { "type": "task_type_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "aspect_specification", "named": true }, { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "known_discriminant_part", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "task_definition", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, { "type": "term", "named": true, "fields": { "name": { "multiple": true, "required": false, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "allocator", "named": true }, { "type": "array_delta_aggregate", "named": true }, { "type": "case_expression", "named": true }, { "type": "declare_expression", "named": true }, { "type": "expression", "named": true }, { "type": "extension_aggregate", "named": true }, { "type": "factor_abs", "named": true }, { "type": "factor_not", "named": true }, { "type": "factor_power", "named": true }, { "type": "if_expression", "named": true }, { "type": "multiplying_operator", "named": true }, { "type": "named_array_aggregate", "named": true }, { "type": "null_array_aggregate", "named": true }, { "type": "numeric_literal", "named": true }, { "type": "positional_array_aggregate", "named": true }, { "type": "primary_null", "named": true }, { "type": "quantified_expression", "named": true }, { "type": "record_aggregate", "named": true }, { "type": "record_delta_aggregate", "named": true } ] } }, { "type": "terminate_alternative", "named": true, "fields": {} }, { "type": "timed_entry_call", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "delay_alternative", "named": true }, { "type": "entry_call_alternative", "named": true } ] } }, { "type": "triggering_alternative", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "abort_statement", "named": true }, { "type": "accept_statement", "named": true }, { "type": "assignment_statement", "named": true }, { "type": "asynchronous_select", "named": true }, { "type": "block_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "conditional_entry_call", "named": true }, { "type": "delay_relative_statement", "named": true }, { "type": "delay_until_statement", "named": true }, { "type": "exit_statement", "named": true }, { "type": "extended_return_statement", "named": true }, { "type": "gnatprep_if_statement", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "label", "named": true }, { "type": "loop_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "pragma_g", "named": true }, { "type": "procedure_call_statement", "named": true }, { "type": "raise_statement", "named": true }, { "type": "requeue_statement", "named": true }, { "type": "selective_accept", "named": true }, { "type": "simple_return_statement", "named": true }, { "type": "timed_entry_call", "named": true } ] } }, { "type": "unary_adding_operator", "named": true, "fields": {} }, { "type": "unknown_discriminant_part", "named": true, "fields": {} }, { "type": "use_clause", "named": true, "fields": { "is_all": { "multiple": false, "required": false, "types": [ { "type": "all", "named": false } ] }, "is_type": { "multiple": false, "required": false, "types": [ { "type": "type", "named": false } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, { "type": "value_sequence", "named": true, "fields": { "is_parallel": { "multiple": false, "required": false, "types": [ { "type": "parallel", "named": false } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "chunk_specification", "named": true }, { "type": "iterated_element_association", "named": true } ] } }, { "type": "variant", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "component_list", "named": true }, { "type": "discrete_choice_list", "named": true } ] } }, { "type": "variant_list", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "variant", "named": true } ] } }, { "type": "variant_part", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "variant_list", "named": true } ] } }, { "type": "with_clause", "named": true, "fields": { "is_limited": { "multiple": false, "required": false, "types": [ { "type": "limited", "named": false } ] }, "is_private": { "multiple": false, "required": false, "types": [ { "type": "private", "named": false } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "attribute_designator", "named": true }, { "type": "character_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "gnatprep_identifier", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_expression", "named": true }, { "type": "reduction_attribute_designator", "named": true }, { "type": "selected_component", "named": true }, { "type": "slice", "named": true }, { "type": "string_literal", "named": true }, { "type": "target_name", "named": true }, { "type": "tick", "named": true }, { "type": "value_sequence", "named": true } ] } }, { "type": "#else", "named": false }, { "type": "#elsif", "named": false }, { "type": "#end", "named": false }, { "type": "#if", "named": false }, { "type": "&", "named": false }, { "type": "(", "named": false }, { "type": ")", "named": false }, { "type": "*", "named": false }, { "type": "**", "named": false }, { "type": "+", "named": false }, { "type": ",", "named": false }, { "type": "-", "named": false }, { "type": ".", "named": false }, { "type": "..", "named": false }, { "type": "/", "named": false }, { "type": "/=", "named": false }, { "type": ":", "named": false }, { "type": ":=", "named": false }, { "type": ";", "named": false }, { "type": "<", "named": false }, { "type": "<<", "named": false }, { "type": "<=", "named": false }, { "type": "<>", "named": false }, { "type": "=", "named": false }, { "type": "=>", "named": false }, { "type": ">", "named": false }, { "type": ">=", "named": false }, { "type": ">>", "named": false }, { "type": "Class", "named": false }, { "type": "[", "named": false }, { "type": "]", "named": false }, { "type": "abort", "named": false }, { "type": "abs", "named": false }, { "type": "abstract", "named": false }, { "type": "accept", "named": false }, { "type": "access", "named": false }, { "type": "aliased", "named": false }, { "type": "all", "named": false }, { "type": "and", "named": false }, { "type": "array", "named": false }, { "type": "at", "named": false }, { "type": "begin", "named": false }, { "type": "body", "named": false }, { "type": "case", "named": false }, { "type": "character_literal", "named": true }, { "type": "comment", "named": true }, { "type": "constant", "named": false }, { "type": "declare", "named": false }, { "type": "delay", "named": false }, { "type": "delta", "named": false }, { "type": "digits", "named": false }, { "type": "do", "named": false }, { "type": "else", "named": false }, { "type": "elsif", "named": false }, { "type": "end", "named": false }, { "type": "entry", "named": false }, { "type": "exception", "named": false }, { "type": "exit", "named": false }, { "type": "for", "named": false }, { "type": "function", "named": false }, { "type": "generic", "named": false }, { "type": "gnatprep_identifier", "named": true }, { "type": "goto", "named": false }, { "type": "identifier", "named": true }, { "type": "if", "named": false }, { "type": "in", "named": false }, { "type": "interface", "named": false }, { "type": "is", "named": false }, { "type": "limited", "named": false }, { "type": "loop", "named": false }, { "type": "mod", "named": false }, { "type": "new", "named": false }, { "type": "not", "named": false }, { "type": "null", "named": false }, { "type": "numeric_literal", "named": true }, { "type": "of", "named": false }, { "type": "or", "named": false }, { "type": "others", "named": false }, { "type": "out", "named": false }, { "type": "overriding", "named": false }, { "type": "package", "named": false }, { "type": "parallel", "named": false }, { "type": "pragma", "named": false }, { "type": "private", "named": false }, { "type": "procedure", "named": false }, { "type": "protected", "named": false }, { "type": "raise", "named": false }, { "type": "range", "named": false }, { "type": "record", "named": false }, { "type": "rem", "named": false }, { "type": "renames", "named": false }, { "type": "requeue", "named": false }, { "type": "return", "named": false }, { "type": "reverse", "named": false }, { "type": "select", "named": false }, { "type": "separate", "named": false }, { "type": "some", "named": false }, { "type": "string_literal", "named": true }, { "type": "subtype", "named": false }, { "type": "synchronized", "named": false }, { "type": "tagged", "named": false }, { "type": "target_name", "named": true }, { "type": "task", "named": false }, { "type": "terminate", "named": false }, { "type": "then", "named": false }, { "type": "tick", "named": true }, { "type": "type", "named": false }, { "type": "until", "named": false }, { "type": "use", "named": false }, { "type": "when", "named": false }, { "type": "while", "named": false }, { "type": "with", "named": false }, { "type": "xor", "named": false }, { "type": "|", "named": false } ]