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