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