tree-sitter-ada/src/grammar.json
2022-12-13 12:29:02 +01:00

14760 lines
341 KiB
JSON

{
"name": "ada",
"word": "identifier",
"rules": {
"compilation": {
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "compilation_unit"
}
},
"identifier": {
"type": "PATTERN",
"value": "[a-zA-Z\\u{80}-\\u{10FFFF}][0-9a-zA-Z_\\u{80}-\\u{10FFFF}]*"
},
"comment": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "--"
},
{
"type": "PATTERN",
"value": ".*"
}
]
}
},
"string_literal": {
"type": "TOKEN",
"content": {
"type": "PATTERN",
"value": "\"(\"\"|[^\"])*\""
}
},
"character_literal": {
"type": "TOKEN",
"content": {
"type": "PATTERN",
"value": "'.'"
}
},
"numeric_literal": {
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[0-9][0-9_]*(\\.[0-9]+)?([eE][0-9_-]+)?"
},
{
"type": "PATTERN",
"value": "[0-9]+#[0-9a-fA-F._-]+#"
}
]
}
},
"relational_operator": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "="
},
{
"type": "STRING",
"value": "/="
},
{
"type": "STRING",
"value": "<"
},
{
"type": "STRING",
"value": "<="
},
{
"type": "STRING",
"value": ">"
},
{
"type": "STRING",
"value": ">="
}
]
},
"binary_adding_operator": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "&"
}
]
},
"unary_adding_operator": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
}
]
},
"multiplying_operator": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "STRING",
"value": "/"
},
{
"type": "STRING",
"value": "mod"
},
{
"type": "STRING",
"value": "rem"
}
]
},
"tick": {
"type": "STRING",
"value": "'"
},
"_name_not_function_call": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "selected_component"
},
{
"type": "SYMBOL",
"name": "_attribute_reference"
},
{
"type": "SYMBOL",
"name": "qualified_expression"
},
{
"type": "SYMBOL",
"name": "target_name"
},
{
"type": "SYMBOL",
"name": "slice"
},
{
"type": "SYMBOL",
"name": "character_literal"
},
{
"type": "SYMBOL",
"name": "string_literal"
}
]
},
"_name": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_name_not_function_call"
},
{
"type": "SYMBOL",
"name": "function_call"
}
]
},
"selected_component": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "prefix",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "FIELD",
"name": "selector_name",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "character_literal"
},
{
"type": "SYMBOL",
"name": "string_literal"
}
]
}
}
]
}
]
}
},
"target_name": {
"type": "STRING",
"value": "@"
},
"_name_list": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_name"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_name"
}
]
}
}
]
}
},
"_defining_identifier_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
},
"slice": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "prefix",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "range_g"
},
{
"type": "STRING",
"value": ")"
}
]
},
"_attribute_reference": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_name"
},
{
"type": "SYMBOL",
"name": "tick"
},
{
"type": "SYMBOL",
"name": "attribute_designator"
}
]
},
{
"type": "SYMBOL",
"name": "_reduction_attribute_reference"
}
]
},
"_reduction_attribute_reference": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "value_sequence"
},
{
"type": "SYMBOL",
"name": "tick"
},
{
"type": "SYMBOL",
"name": "reduction_attribute_designator"
}
]
},
"reduction_attribute_designator": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "reduction_specification"
},
{
"type": "STRING",
"value": ")"
}
]
},
"reduction_specification": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_name"
},
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
"value_sequence": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "is_parallel",
"content": {
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][aA][rR][aA][lL][lL][eE][lL]"
}
}
},
"named": false,
"value": "parallel"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "chunk_specification"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "iterated_element_association"
},
{
"type": "STRING",
"value": "]"
}
]
},
"chunk_specification": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_simple_expression"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][nN]"
}
}
},
"named": false,
"value": "in"
},
{
"type": "SYMBOL",
"name": "_discrete_subtype_definition"
}
]
}
]
},
"iterated_element_association": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[fF][oO][rR]"
}
}
},
"named": false,
"value": "for"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "loop_parameter_specification"
},
{
"type": "SYMBOL",
"name": "iterator_specification"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[uU][sS][eE]"
}
}
},
"named": false,
"value": "use"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
"_discrete_subtype_definition": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_subtype_indication"
},
{
"type": "SYMBOL",
"name": "range_g"
}
]
},
"loop_parameter_specification": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][nN]"
}
}
},
"named": false,
"value": "in"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][vV][eE][rR][sS][eE]"
}
}
},
"named": false,
"value": "reverse"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_discrete_subtype_definition"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "iterator_filter"
},
{
"type": "BLANK"
}
]
}
]
},
"_loop_parameter_subtype_indication": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_subtype_indication"
},
{
"type": "SYMBOL",
"name": "access_definition"
}
]
},
"iterator_filter": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
}
}
},
"named": false,
"value": "when"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
},
"iterator_specification": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_loop_parameter_subtype_indication"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][nN]"
}
}
},
"named": false,
"value": "in"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][fF]"
}
}
},
"named": false,
"value": "of"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][vV][eE][rR][sS][eE]"
}
}
},
"named": false,
"value": "reverse"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "iterator_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "iterator_filter"
},
{
"type": "BLANK"
}
]
}
]
},
"attribute_designator": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][cC][cC][eE][sS][sS]"
}
}
},
"named": false,
"value": "access"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][eE][lL][tT][aA]"
}
}
},
"named": false,
"value": "delta"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][iI][gG][iI][tT][sS]"
}
}
},
"named": false,
"value": "digits"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[mM][oO][dD]"
}
}
},
"named": false,
"value": "mod"
}
]
},
"qualified_expression": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "subtype_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "SYMBOL",
"name": "tick"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SYMBOL",
"name": "_aggregate"
}
]
}
]
},
"compilation_unit": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "with_clause"
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][iI][vV][aA][tT][eE]"
}
}
},
"named": false,
"value": "private"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_declarative_item"
}
]
},
{
"type": "SYMBOL",
"name": "_statement"
},
{
"type": "SYMBOL",
"name": "subunit"
},
{
"type": "SYMBOL",
"name": "entry_declaration"
}
]
},
"_declarative_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_basic_declarative_item"
},
{
"type": "SYMBOL",
"name": "_proper_body"
},
{
"type": "SYMBOL",
"name": "body_stub"
}
]
},
"_basic_declarative_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_basic_declaration"
},
{
"type": "SYMBOL",
"name": "_aspect_clause"
},
{
"type": "SYMBOL",
"name": "use_clause"
}
]
},
"_basic_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_type_declaration"
},
{
"type": "SYMBOL",
"name": "subtype_declaration"
},
{
"type": "SYMBOL",
"name": "object_declaration"
},
{
"type": "SYMBOL",
"name": "number_declaration"
},
{
"type": "SYMBOL",
"name": "subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "expression_function_declaration"
},
{
"type": "SYMBOL",
"name": "null_procedure_declaration"
},
{
"type": "SYMBOL",
"name": "_package_declaration"
},
{
"type": "SYMBOL",
"name": "_renaming_declaration"
},
{
"type": "SYMBOL",
"name": "exception_declaration"
},
{
"type": "SYMBOL",
"name": "_generic_declaration"
},
{
"type": "SYMBOL",
"name": "generic_instantiation"
}
]
},
"_package_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "package_specification"
},
{
"type": "STRING",
"value": ";"
}
]
},
"package_specification": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][aA][cC][kK][aA][gG][eE]"
}
}
},
"named": false,
"value": "package"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_basic_declarative_item_pragma"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][iI][vV][aA][tT][eE]"
}
}
},
"named": false,
"value": "private"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_basic_declarative_item_pragma"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "FIELD",
"name": "endname",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_name"
},
{
"type": "BLANK"
}
]
}
}
]
},
"with_clause": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "is_limited",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[lL][iI][mM][iI][tT][eE][dD]"
}
}
},
"named": false,
"value": "limited"
},
{
"type": "BLANK"
}
]
}
},
{
"type": "FIELD",
"name": "is_private",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][iI][vV][aA][tT][eE]"
}
}
},
"named": false,
"value": "private"
},
{
"type": "BLANK"
}
]
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "SYMBOL",
"name": "_name_list"
},
{
"type": "STRING",
"value": ";"
}
]
},
"use_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[uU][sS][eE]"
}
}
},
"named": false,
"value": "use"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "is_all",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][lL][lL]"
}
}
},
"named": false,
"value": "all"
},
{
"type": "BLANK"
}
]
}
},
{
"type": "FIELD",
"name": "is_type",
"content": {
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][yY][pP][eE]"
}
}
},
"named": false,
"value": "type"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_name_list"
},
{
"type": "STRING",
"value": ";"
}
]
},
"subunit": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][eE][pP][aA][rR][aA][tT][eE]"
}
}
},
"named": false,
"value": "separate"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "parent_unit_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "STRING",
"value": ")"
},
{
"type": "SYMBOL",
"name": "_proper_body"
}
]
},
"_proper_body": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_body"
},
{
"type": "SYMBOL",
"name": "package_body"
},
{
"type": "SYMBOL",
"name": "task_body"
},
{
"type": "SYMBOL",
"name": "protected_body"
}
]
},
"subprogram_body": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "overriding_indicator"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_subprogram_specification"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "non_empty_declarative_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[bB][eE][gG][iI][nN]"
}
}
},
"named": false,
"value": "begin"
},
{
"type": "SYMBOL",
"name": "handled_sequence_of_statements"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "endname",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"package_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][aA][cC][kK][aA][gG][eE]"
}
}
},
"named": false,
"value": "package"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[bB][oO][dD][yY]"
}
}
},
"named": false,
"value": "body"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "non_empty_declarative_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[bB][eE][gG][iI][nN]"
}
}
},
"named": false,
"value": "begin"
},
{
"type": "SYMBOL",
"name": "handled_sequence_of_statements"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "endname",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"_subtype_indication": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "null_exclusion"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "subtype_mark",
"content": {
"type": "SYMBOL",
"name": "_name_not_function_call"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_constraint"
},
{
"type": "BLANK"
}
]
}
]
},
"_constraint": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_scalar_constraint"
},
{
"type": "SYMBOL",
"name": "index_constraint"
}
]
},
"_scalar_constraint": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "range_constraint"
},
{
"type": "SYMBOL",
"name": "digits_constraint"
},
{
"type": "SYMBOL",
"name": "delta_constraint"
}
]
},
"range_g": {
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "range_attribute_reference",
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "prefix",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "SYMBOL",
"name": "tick"
},
{
"type": "SYMBOL",
"name": "range_attribute_designator"
}
]
}
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_simple_expression"
},
{
"type": "STRING",
"value": ".."
},
{
"type": "SYMBOL",
"name": "_simple_expression"
}
]
}
]
},
"range_attribute_designator": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][aA][nN][gG][eE]"
}
}
},
"named": false,
"value": "range"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"range_constraint": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][aA][nN][gG][eE]"
}
}
},
"named": false,
"value": "range"
},
{
"type": "SYMBOL",
"name": "range_g"
}
]
},
"expression": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_relation"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][nN][dD]"
}
}
},
"named": false,
"value": "and"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
}
}
},
"named": false,
"value": "then"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "_relation"
}
]
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_relation"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][rR]"
}
}
},
"named": false,
"value": "or"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][lL][sS][eE]"
}
}
},
"named": false,
"value": "else"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "_relation"
}
]
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_relation"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[xX][oO][rR]"
}
}
},
"named": false,
"value": "xor"
},
{
"type": "SYMBOL",
"name": "_relation"
}
]
}
}
]
}
]
},
"_relation": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_simple_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "relational_operator"
},
{
"type": "SYMBOL",
"name": "_simple_expression"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "relation_membership"
},
{
"type": "SYMBOL",
"name": "raise_expression"
}
]
},
"relation_membership": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_simple_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][oO][tT]"
}
}
},
"named": false,
"value": "not"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][nN]"
}
}
},
"named": false,
"value": "in"
},
{
"type": "SYMBOL",
"name": "membership_choice_list"
}
]
},
"raise_expression": {
"type": "PREC_RIGHT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][aA][iI][sS][eE]"
}
}
},
"named": false,
"value": "raise"
},
{
"type": "FIELD",
"name": "exception_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "SYMBOL",
"name": "_simple_expression"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
},
"membership_choice_list": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_membership_choice"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "|"
},
{
"type": "SYMBOL",
"name": "_membership_choice"
}
]
}
}
]
}
},
"_membership_choice": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_simple_expression"
},
{
"type": "SYMBOL",
"name": "range_g"
}
]
},
"_simple_expression": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "unary_adding_operator"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "term"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "binary_adding_operator"
},
{
"type": "SYMBOL",
"name": "term"
}
]
}
}
]
},
"term": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_factor"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "multiplying_operator"
},
{
"type": "SYMBOL",
"name": "_factor"
}
]
}
}
]
},
"_factor": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_primary"
},
{
"type": "SYMBOL",
"name": "factor_power"
},
{
"type": "SYMBOL",
"name": "factor_abs"
},
{
"type": "SYMBOL",
"name": "factor_not"
}
]
},
"factor_power": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "_primary"
}
},
{
"type": "STRING",
"value": "**"
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "_primary"
}
}
]
},
"factor_abs": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][bB][sS]"
}
}
},
"named": false,
"value": "abs"
},
{
"type": "SYMBOL",
"name": "_primary"
}
]
},
"factor_not": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][oO][tT]"
}
}
},
"named": false,
"value": "not"
},
{
"type": "SYMBOL",
"name": "_primary"
}
]
},
"_parenthesized_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_conditional_expression"
},
{
"type": "SYMBOL",
"name": "quantified_expression"
},
{
"type": "SYMBOL",
"name": "declare_expression"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"_primary": {
"type": "PREC",
"value": 2,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "numeric_literal"
},
{
"type": "SYMBOL",
"name": "primary_null"
},
{
"type": "SYMBOL",
"name": "_aggregate"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "SYMBOL",
"name": "allocator"
},
{
"type": "SYMBOL",
"name": "_parenthesized_expression"
}
]
}
},
"primary_null": {
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][uU][lL][lL]"
}
}
},
"named": false,
"value": "null"
},
"allocator": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][eE][wW]"
}
}
},
"named": false,
"value": "new"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subpool_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_subtype_indication_paren_constraint"
}
]
},
"_subtype_indication_paren_constraint": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "null_exclusion"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "index_constraint"
},
{
"type": "BLANK"
}
]
}
]
},
"subpool_specification": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "subpool_handle_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"_access_type_definition": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "null_exclusion"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "access_to_object_definition"
},
{
"type": "SYMBOL",
"name": "access_to_subprogram_definition"
}
]
}
]
},
"access_to_subprogram_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][cC][cC][eE][sS][sS]"
}
}
},
"named": false,
"value": "access"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]"
}
}
},
"named": false,
"value": "protected"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][cC][eE][dD][uU][rR][eE]"
}
}
},
"named": false,
"value": "procedure"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "formal_part"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
}
}
},
"named": false,
"value": "function"
},
{
"type": "SYMBOL",
"name": "_parameter_and_result_profile"
}
]
}
]
}
]
},
"access_to_object_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][cC][cC][eE][sS][sS]"
}
}
},
"named": false,
"value": "access"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "general_access_modifier"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_subtype_indication"
}
]
},
"general_access_modifier": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][lL][lL]"
}
}
},
"named": false,
"value": "all"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[cC][oO][nN][sS][tT][aA][nN][tT]"
}
}
},
"named": false,
"value": "constant"
}
]
},
"access_definition": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "null_exclusion"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][cC][cC][eE][sS][sS]"
}
}
},
"named": false,
"value": "access"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[cC][oO][nN][sS][tT][aA][nN][tT]"
}
}
},
"named": false,
"value": "constant"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "subtype_mark",
"content": {
"type": "SYMBOL",
"name": "_name"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]"
}
}
},
"named": false,
"value": "protected"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][cC][eE][dD][uU][rR][eE]"
}
}
},
"named": false,
"value": "procedure"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "formal_part"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]"
}
}
},
"named": false,
"value": "protected"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
}
}
},
"named": false,
"value": "function"
},
{
"type": "SYMBOL",
"name": "_parameter_and_result_profile"
}
]
}
]
}
]
},
"actual_parameter_part": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "parameter_association"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "parameter_association"
}
]
}
}
]
},
{
"type": "SYMBOL",
"name": "_conditional_expression"
},
{
"type": "SYMBOL",
"name": "quantified_expression"
},
{
"type": "SYMBOL",
"name": "declare_expression"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"parameter_association": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "component_choice_list"
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": "<>"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": "<>"
}
]
},
"_conditional_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "if_expression"
},
{
"type": "SYMBOL",
"name": "case_expression"
}
]
},
"_conditional_quantified_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "if_expression"
},
{
"type": "SYMBOL",
"name": "case_expression"
},
{
"type": "SYMBOL",
"name": "quantified_expression"
}
]
},
"quantified_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[fF][oO][rR]"
}
}
},
"named": false,
"value": "for"
},
{
"type": "SYMBOL",
"name": "quantifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "loop_parameter_specification"
},
{
"type": "SYMBOL",
"name": "iterator_specification"
}
]
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "FIELD",
"name": "predicate",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
},
"declare_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][eE][cC][lL][aA][rR][eE]"
}
}
},
"named": false,
"value": "declare"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_declare_item"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[bB][eE][gG][iI][nN]"
}
}
},
"named": false,
"value": "begin"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
"_declare_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "object_declaration"
},
{
"type": "SYMBOL",
"name": "object_renaming_declaration"
}
]
},
"quantifier": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][lL][lL]"
}
}
},
"named": false,
"value": "all"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][oO][mM][eE]"
}
}
},
"named": false,
"value": "some"
}
]
},
"case_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[cC][aA][sS][eE]"
}
}
},
"named": false,
"value": "case"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "case_expression_alternative"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "case_expression_alternative"
}
]
}
}
]
}
]
},
"case_expression_alternative": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
}
}
},
"named": false,
"value": "when"
},
{
"type": "SYMBOL",
"name": "discrete_choice_list"
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
"component_choice_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "|"
},
{
"type": "SYMBOL",
"name": "identifier"
}
]
}
}
]
},
"_aggregate": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "record_aggregate"
},
{
"type": "SYMBOL",
"name": "extension_aggregate"
},
{
"type": "SYMBOL",
"name": "_array_aggregate"
},
{
"type": "SYMBOL",
"name": "_delta_aggregate"
}
]
},
"_delta_aggregate": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "record_delta_aggregate"
},
{
"type": "SYMBOL",
"name": "array_delta_aggregate"
}
]
},
"extension_aggregate": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "SYMBOL",
"name": "record_component_association_list"
},
{
"type": "STRING",
"value": ")"
}
]
},
"record_delta_aggregate": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][eE][lL][tT][aA]"
}
}
},
"named": false,
"value": "delta"
},
{
"type": "SYMBOL",
"name": "record_component_association_list"
},
{
"type": "STRING",
"value": ")"
}
]
},
"array_delta_aggregate": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][eE][lL][tT][aA]"
}
}
},
"named": false,
"value": "delta"
},
{
"type": "SYMBOL",
"name": "_array_component_association_list"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][eE][lL][tT][aA]"
}
}
},
"named": false,
"value": "delta"
},
{
"type": "SYMBOL",
"name": "_array_component_association_list"
},
{
"type": "STRING",
"value": "]"
}
]
}
]
},
"record_aggregate": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "record_component_association_list"
},
{
"type": "STRING",
"value": ")"
}
]
},
"record_component_association_list": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][uU][lL][lL]"
}
}
},
"named": false,
"value": "null"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][cC][oO][rR][dD]"
}
}
},
"named": false,
"value": "record"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": ","
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_named_record_component_association"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_named_record_component_association"
}
]
}
]
}
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_named_record_component_association"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_named_record_component_association"
}
]
}
}
]
}
]
},
"_named_record_component_association": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "component_choice_list"
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": "<>"
}
]
}
]
},
"null_exclusion": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][oO][tT]"
}
}
},
"named": false,
"value": "not"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][uU][lL][lL]"
}
}
},
"named": false,
"value": "null"
}
]
},
"index_constraint": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_discrete_range"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_discrete_range"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"digits_constraint": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][iI][gG][iI][tT][sS]"
}
}
},
"named": false,
"value": "digits"
},
{
"type": "SYMBOL",
"name": "_simple_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "range_constraint"
},
{
"type": "BLANK"
}
]
}
]
},
"delta_constraint": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][eE][lL][tT][aA]"
}
}
},
"named": false,
"value": "delta"
},
{
"type": "SYMBOL",
"name": "_simple_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "range_constraint"
},
{
"type": "BLANK"
}
]
}
]
},
"_basic_declarative_item_pragma": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_basic_declarative_item"
},
{
"type": "SYMBOL",
"name": "pragma_g"
}
]
},
"_type_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "full_type_declaration"
},
{
"type": "SYMBOL",
"name": "incomplete_type_declaration"
},
{
"type": "SYMBOL",
"name": "private_type_declaration"
},
{
"type": "SYMBOL",
"name": "private_extension_declaration"
}
]
},
"full_type_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][yY][pP][eE]"
}
}
},
"named": false,
"value": "type"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "known_discriminant_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "SYMBOL",
"name": "_type_definition"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "SYMBOL",
"name": "task_type_declaration"
},
{
"type": "SYMBOL",
"name": "protected_type_declaration"
}
]
},
"private_type_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][yY][pP][eE]"
}
}
},
"named": false,
"value": "type"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_discriminant_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][bB][sS][tT][rR][aA][cC][tT]"
}
}
},
"named": false,
"value": "abstract"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][aA][gG][gG][eE][dD]"
}
}
},
"named": false,
"value": "tagged"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[lL][iI][mM][iI][tT][eE][dD]"
}
}
},
"named": false,
"value": "limited"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][iI][vV][aA][tT][eE]"
}
}
},
"named": false,
"value": "private"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"private_extension_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][yY][pP][eE]"
}
}
},
"named": false,
"value": "type"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_discriminant_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][bB][sS][tT][rR][aA][cC][tT]"
}
}
},
"named": false,
"value": "abstract"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[lL][iI][mM][iI][tT][eE][dD]"
}
}
},
"named": false,
"value": "limited"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][yY][nN][cC][hH][rR][oO][nN][iI][zZ][eE][dD]"
}
}
},
"named": false,
"value": "synchronized"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][eE][wW]"
}
}
},
"named": false,
"value": "new"
},
{
"type": "SYMBOL",
"name": "_subtype_indication"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][nN][dD]"
}
}
},
"named": false,
"value": "and"
},
{
"type": "SYMBOL",
"name": "_interface_list"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][iI][vV][aA][tT][eE]"
}
}
},
"named": false,
"value": "private"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"_discriminant_part": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "known_discriminant_part"
},
{
"type": "SYMBOL",
"name": "unknown_discriminant_part"
}
]
},
"unknown_discriminant_part": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "STRING",
"value": "<>"
},
{
"type": "STRING",
"value": ")"
}
]
},
"known_discriminant_part": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "discriminant_specification_list"
},
{
"type": "STRING",
"value": ")"
}
]
},
"incomplete_type_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][yY][pP][eE]"
}
}
},
"named": false,
"value": "type"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_discriminant_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][aA][gG][gG][eE][dD]"
}
}
},
"named": false,
"value": "tagged"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"discriminant_specification_list": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "discriminant_specification"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "SYMBOL",
"name": "discriminant_specification"
}
]
}
}
]
}
},
"discriminant_specification": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_defining_identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "null_exclusion"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "subtype_mark",
"content": {
"type": "SYMBOL",
"name": "_name"
}
}
]
},
{
"type": "SYMBOL",
"name": "access_definition"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_assign_value"
},
{
"type": "BLANK"
}
]
}
]
},
"_type_definition": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "enumeration_type_definition"
},
{
"type": "SYMBOL",
"name": "_integer_type_definition"
},
{
"type": "SYMBOL",
"name": "_real_type_definition"
},
{
"type": "SYMBOL",
"name": "array_type_definition"
},
{
"type": "SYMBOL",
"name": "record_type_definition"
},
{
"type": "SYMBOL",
"name": "_access_type_definition"
},
{
"type": "SYMBOL",
"name": "derived_type_definition"
},
{
"type": "SYMBOL",
"name": "interface_type_definition"
}
]
},
"array_type_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][rR][rR][aA][yY]"
}
}
},
"named": false,
"value": "array"
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_discrete_subtype_definition_list"
},
{
"type": "SYMBOL",
"name": "_index_subtype_definition_list"
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][fF]"
}
}
},
"named": false,
"value": "of"
},
{
"type": "SYMBOL",
"name": "component_definition"
}
]
},
"_discrete_subtype_definition_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_discrete_subtype_definition"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_discrete_subtype_definition"
}
]
}
}
]
},
"_discrete_range": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_subtype_indication"
},
{
"type": "SYMBOL",
"name": "range_g"
}
]
},
"_index_subtype_definition_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "index_subtype_definition"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "index_subtype_definition"
}
]
}
}
]
},
"index_subtype_definition": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "subtype_mark",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][aA][nN][gG][eE]"
}
}
},
"named": false,
"value": "range"
},
{
"type": "STRING",
"value": "<>"
}
]
},
"enumeration_type_definition": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_enumeration_literal_list"
},
{
"type": "STRING",
"value": ")"
}
]
},
"_enumeration_literal_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_enumeration_literal_specification"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_enumeration_literal_specification"
}
]
}
}
]
},
"_enumeration_literal_specification": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "character_literal"
}
]
},
"_integer_type_definition": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "signed_integer_type_definition"
},
{
"type": "SYMBOL",
"name": "modular_type_definition"
}
]
},
"modular_type_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[mM][oO][dD]"
}
}
},
"named": false,
"value": "mod"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
"_real_type_definition": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "floating_point_definition"
},
{
"type": "SYMBOL",
"name": "_fixed_point_definition"
}
]
},
"floating_point_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][iI][gG][iI][tT][sS]"
}
}
},
"named": false,
"value": "digits"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "real_range_specification"
},
{
"type": "BLANK"
}
]
}
]
},
"real_range_specification": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][aA][nN][gG][eE]"
}
}
},
"named": false,
"value": "range"
},
{
"type": "SYMBOL",
"name": "_simple_expression"
},
{
"type": "STRING",
"value": ".."
},
{
"type": "SYMBOL",
"name": "_simple_expression"
}
]
},
"_fixed_point_definition": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "ordinary_fixed_point_definition"
},
{
"type": "SYMBOL",
"name": "decimal_fixed_point_definition"
}
]
},
"decimal_fixed_point_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][eE][lL][tT][aA]"
}
}
},
"named": false,
"value": "delta"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][iI][gG][iI][tT][sS]"
}
}
},
"named": false,
"value": "digits"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "real_range_specification"
},
{
"type": "BLANK"
}
]
}
]
},
"ordinary_fixed_point_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][eE][lL][tT][aA]"
}
}
},
"named": false,
"value": "delta"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "real_range_specification"
}
]
},
"signed_integer_type_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][aA][nN][gG][eE]"
}
}
},
"named": false,
"value": "range"
},
{
"type": "SYMBOL",
"name": "_simple_expression"
},
{
"type": "STRING",
"value": ".."
},
{
"type": "SYMBOL",
"name": "_simple_expression"
}
]
},
"derived_type_definition": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][bB][sS][tT][rR][aA][cC][tT]"
}
}
},
"named": false,
"value": "abstract"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[lL][iI][mM][iI][tT][eE][dD]"
}
}
},
"named": false,
"value": "limited"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][eE][wW]"
}
}
},
"named": false,
"value": "new"
},
{
"type": "SYMBOL",
"name": "_subtype_indication"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][nN][dD]"
}
}
},
"named": false,
"value": "and"
},
{
"type": "SYMBOL",
"name": "_interface_list"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "record_extension_part"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"interface_type_definition": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[lL][iI][mM][iI][tT][eE][dD]"
}
}
},
"named": false,
"value": "limited"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][aA][sS][kK]"
}
}
},
"named": false,
"value": "task"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]"
}
}
},
"named": false,
"value": "protected"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][yY][nN][cC][hH][rR][oO][nN][iI][zZ][eE][dD]"
}
}
},
"named": false,
"value": "synchronized"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][nN][tT][eE][rR][fF][aA][cC][eE]"
}
}
},
"named": false,
"value": "interface"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][nN][dD]"
}
}
},
"named": false,
"value": "and"
},
{
"type": "SYMBOL",
"name": "_interface_list"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"_interface_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_name"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][nN][dD]"
}
}
},
"named": false,
"value": "and"
},
{
"type": "SYMBOL",
"name": "_name"
}
]
}
}
]
},
"record_extension_part": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "SYMBOL",
"name": "record_definition"
}
]
},
"record_type_definition": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][bB][sS][tT][rR][aA][cC][tT]"
}
}
},
"named": false,
"value": "abstract"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][aA][gG][gG][eE][dD]"
}
}
},
"named": false,
"value": "tagged"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[lL][iI][mM][iI][tT][eE][dD]"
}
}
},
"named": false,
"value": "limited"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "record_definition"
}
]
},
"record_definition": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][cC][oO][rR][dD]"
}
}
},
"named": false,
"value": "record"
},
{
"type": "SYMBOL",
"name": "component_list"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][cC][oO][rR][dD]"
}
}
},
"named": false,
"value": "record"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][uU][lL][lL]"
}
}
},
"named": false,
"value": "null"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][cC][oO][rR][dD]"
}
}
},
"named": false,
"value": "record"
}
]
}
]
},
"component_list": {
"type": "CHOICE",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_component_item"
}
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_component_item"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "variant_part"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][uU][lL][lL]"
}
}
},
"named": false,
"value": "null"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[;;]"
}
}
},
"named": false,
"value": ";"
}
]
}
]
},
"_component_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "component_declaration"
},
{
"type": "SYMBOL",
"name": "_aspect_clause"
}
]
},
"component_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_defining_identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "component_definition"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_assign_value"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"component_definition": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][lL][iI][aA][sS][eE][dD]"
}
}
},
"named": false,
"value": "aliased"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_subtype_indication"
},
{
"type": "SYMBOL",
"name": "access_definition"
}
]
}
]
},
"_array_aggregate": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "positional_array_aggregate"
},
{
"type": "SYMBOL",
"name": "null_array_aggregate"
},
{
"type": "SYMBOL",
"name": "named_array_aggregate"
}
]
},
"positional_array_aggregate": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": ","
},
{
"type": "PREC_LEFT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "expression"
}
]
}
}
]
}
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "expression"
}
]
}
}
]
},
{
"type": "STRING",
"value": ","
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][tT][hH][eE][rR][sS]"
}
}
},
"named": false,
"value": "others"
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": "<>"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "expression"
}
]
}
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][tT][hH][eE][rR][sS]"
}
}
},
"named": false,
"value": "others"
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": "<>"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "]"
}
]
}
]
},
"null_array_aggregate": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "STRING",
"value": "]"
}
]
},
"named_array_aggregate": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_array_component_association_list"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "SYMBOL",
"name": "_array_component_association_list"
},
{
"type": "STRING",
"value": "]"
}
]
}
]
},
"_array_component_association_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "array_component_association"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "array_component_association"
}
]
}
}
]
},
"array_component_association": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "discrete_choice_list"
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": "<>"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "iterated_element_association"
}
]
},
"discrete_choice_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "discrete_choice"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "|"
},
{
"type": "SYMBOL",
"name": "discrete_choice"
}
]
}
}
]
},
"discrete_choice": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "_subtype_indication"
},
{
"type": "SYMBOL",
"name": "range_g"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][tT][hH][eE][rR][sS]"
}
}
},
"named": false,
"value": "others"
}
]
},
"aspect_association": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_aspect_mark"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "=>"
},
{
"type": "SYMBOL",
"name": "_aspect_definition"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"_aspect_clause": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "attribute_definition_clause"
},
{
"type": "SYMBOL",
"name": "enumeration_representation_clause"
},
{
"type": "SYMBOL",
"name": "record_representation_clause"
},
{
"type": "SYMBOL",
"name": "at_clause"
}
]
},
"_aspect_definition": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "SYMBOL",
"name": "global_aspect_definition"
}
]
},
"_aspect_mark": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "tick"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[CC][lL][aA][sS][sS]"
}
}
},
"named": false,
"value": "Class"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"aspect_mark_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "aspect_association"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "aspect_association"
}
]
}
}
]
},
"aspect_specification": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "SYMBOL",
"name": "aspect_mark_list"
}
]
},
"_assign_value": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":="
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
"at_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[fF][oO][rR]"
}
}
},
"named": false,
"value": "for"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[uU][sS][eE]"
}
}
},
"named": false,
"value": "use"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][tT]"
}
}
},
"named": false,
"value": "at"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"attribute_definition_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[fF][oO][rR]"
}
}
},
"named": false,
"value": "for"
},
{
"type": "FIELD",
"name": "local_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "SYMBOL",
"name": "tick"
},
{
"type": "SYMBOL",
"name": "attribute_designator"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[uU][sS][eE]"
}
}
},
"named": false,
"value": "use"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"body_stub": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_body_stub"
},
{
"type": "SYMBOL",
"name": "package_body_stub"
},
{
"type": "SYMBOL",
"name": "task_body_stub"
},
{
"type": "SYMBOL",
"name": "protected_body_stub"
}
]
},
"subprogram_body_stub": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "overriding_indicator"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_subprogram_specification"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][eE][pP][aA][rR][aA][tT][eE]"
}
}
},
"named": false,
"value": "separate"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"package_body_stub": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][aA][cC][kK][aA][gG][eE]"
}
}
},
"named": false,
"value": "package"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[bB][oO][dD][yY]"
}
}
},
"named": false,
"value": "body"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][eE][pP][aA][rR][aA][tT][eE]"
}
}
},
"named": false,
"value": "separate"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"task_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][aA][sS][kK]"
}
}
},
"named": false,
"value": "task"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[bB][oO][dD][yY]"
}
}
},
"named": false,
"value": "body"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "non_empty_declarative_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[bB][eE][gG][iI][nN]"
}
}
},
"named": false,
"value": "begin"
},
{
"type": "SYMBOL",
"name": "handled_sequence_of_statements"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"task_body_stub": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][aA][sS][kK]"
}
}
},
"named": false,
"value": "task"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[bB][oO][dD][yY]"
}
}
},
"named": false,
"value": "body"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][eE][pP][aA][rR][aA][tT][eE]"
}
}
},
"named": false,
"value": "separate"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"_protected_operation_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "pragma_g"
},
{
"type": "SYMBOL",
"name": "entry_declaration"
},
{
"type": "SYMBOL",
"name": "_aspect_clause"
}
]
},
"_protected_element_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_protected_operation_declaration"
},
{
"type": "SYMBOL",
"name": "component_declaration"
}
]
},
"_protected_operation_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "subprogram_body"
},
{
"type": "SYMBOL",
"name": "null_procedure_declaration"
},
{
"type": "SYMBOL",
"name": "expression_function_declaration"
},
{
"type": "SYMBOL",
"name": "entry_body"
},
{
"type": "SYMBOL",
"name": "_aspect_clause"
}
]
},
"protected_definition": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_protected_operation_declaration"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][iI][vV][aA][tT][eE]"
}
}
},
"named": false,
"value": "private"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_protected_element_declaration"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "BLANK"
}
]
}
]
},
"protected_type_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]"
}
}
},
"named": false,
"value": "protected"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][yY][pP][eE]"
}
}
},
"named": false,
"value": "type"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "known_discriminant_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][eE][wW]"
}
}
},
"named": false,
"value": "new"
},
{
"type": "SYMBOL",
"name": "_interface_list"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "protected_definition"
},
{
"type": "STRING",
"value": ";"
}
]
},
"single_protected_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]"
}
}
},
"named": false,
"value": "protected"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][eE][wW]"
}
}
},
"named": false,
"value": "new"
},
{
"type": "SYMBOL",
"name": "_interface_list"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "protected_definition"
},
{
"type": "STRING",
"value": ";"
}
]
},
"protected_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]"
}
}
},
"named": false,
"value": "protected"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[bB][oO][dD][yY]"
}
}
},
"named": false,
"value": "body"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_protected_operation_item"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"protected_body_stub": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]"
}
}
},
"named": false,
"value": "protected"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[bB][oO][dD][yY]"
}
}
},
"named": false,
"value": "body"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][eE][pP][aA][rR][aA][tT][eE]"
}
}
},
"named": false,
"value": "separate"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"choice_parameter_specification": {
"type": "SYMBOL",
"name": "identifier"
},
"component_clause": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "local_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][tT]"
}
}
},
"named": false,
"value": "at"
},
{
"type": "FIELD",
"name": "position",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][aA][nN][gG][eE]"
}
}
},
"named": false,
"value": "range"
},
{
"type": "FIELD",
"name": "first_bit",
"content": {
"type": "SYMBOL",
"name": "_simple_expression"
}
},
{
"type": "STRING",
"value": ".."
},
{
"type": "FIELD",
"name": "last_bit",
"content": {
"type": "SYMBOL",
"name": "_simple_expression"
}
},
{
"type": "STRING",
"value": ";"
}
]
},
"_declarative_item_pragma": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_declarative_item"
},
{
"type": "SYMBOL",
"name": "pragma_g"
}
]
},
"non_empty_declarative_part": {
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_declarative_item_pragma"
}
},
"entry_declaration": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "overriding_indicator"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][tT][rR][yY]"
}
}
},
"named": false,
"value": "entry"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_discrete_subtype_definition"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "parameter_profile",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "formal_part"
},
{
"type": "BLANK"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"entry_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][tT][rR][yY]"
}
}
},
"named": false,
"value": "entry"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "non_empty_entry_body_formal_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "entry_barrier"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "non_empty_declarative_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[bB][eE][gG][iI][nN]"
}
}
},
"named": false,
"value": "begin"
},
{
"type": "SYMBOL",
"name": "handled_sequence_of_statements"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"entry_barrier": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
}
}
},
"named": false,
"value": "when"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
},
"entry_index_specification": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[fF][oO][rR]"
}
}
},
"named": false,
"value": "for"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][nN]"
}
}
},
"named": false,
"value": "in"
},
{
"type": "SYMBOL",
"name": "_discrete_subtype_definition"
}
]
},
"enumeration_aggregate": {
"type": "SYMBOL",
"name": "_array_aggregate"
},
"enumeration_representation_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[fF][oO][rR]"
}
}
},
"named": false,
"value": "for"
},
{
"type": "FIELD",
"name": "local_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[uU][sS][eE]"
}
}
},
"named": false,
"value": "use"
},
{
"type": "SYMBOL",
"name": "enumeration_aggregate"
},
{
"type": "STRING",
"value": ";"
}
]
},
"exception_choice_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "exception_choice"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "|"
},
{
"type": "SYMBOL",
"name": "exception_choice"
}
]
}
}
]
},
"exception_choice": {
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "exception_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][tT][hH][eE][rR][sS]"
}
}
},
"named": false,
"value": "others"
}
]
},
"exception_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_defining_identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][xX][cC][eE][pP][tT][iI][oO][nN]"
}
}
},
"named": false,
"value": "exception"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"exception_handler": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
}
}
},
"named": false,
"value": "when"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "choice_parameter_specification"
},
{
"type": "STRING",
"value": ":"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "exception_choice_list"
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "SYMBOL",
"name": "_sequence_of_statements"
}
]
},
"_exception_handler_list": {
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "exception_handler"
},
{
"type": "SYMBOL",
"name": "pragma_g"
}
]
}
},
"formal_part": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_parameter_specification_list"
},
{
"type": "STRING",
"value": ")"
}
]
},
"function_specification": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
}
}
},
"named": false,
"value": "function"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "SYMBOL",
"name": "_parameter_and_result_profile"
}
]
},
"_generic_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "generic_package_declaration"
}
]
},
"generic_formal_part": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[gG][eE][nN][eE][rR][iI][cC]"
}
}
},
"named": false,
"value": "generic"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_generic_formal_parameter_declaration"
}
}
]
},
"_generic_formal_parameter_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "formal_object_declaration"
},
{
"type": "SYMBOL",
"name": "_formal_type_declaration"
},
{
"type": "SYMBOL",
"name": "formal_subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "formal_package_declaration"
},
{
"type": "SYMBOL",
"name": "use_clause"
},
{
"type": "SYMBOL",
"name": "pragma_g"
}
]
},
"generic_subprogram_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "generic_formal_part"
},
{
"type": "SYMBOL",
"name": "_subprogram_specification"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"generic_package_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "generic_formal_part"
},
{
"type": "SYMBOL",
"name": "package_specification"
},
{
"type": "STRING",
"value": ";"
}
]
},
"generic_instantiation": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][aA][cC][kK][aA][gG][eE]"
}
}
},
"named": false,
"value": "package"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "overriding_indicator"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][cC][eE][dD][uU][rR][eE]"
}
}
},
"named": false,
"value": "procedure"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
}
}
},
"named": false,
"value": "function"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
}
]
}
]
}
]
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][eE][wW]"
}
}
},
"named": false,
"value": "new"
},
{
"type": "FIELD",
"name": "generic_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"formal_object_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_defining_identifier_list"
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "non_empty_mode"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "null_exclusion"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "subtype_mark",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_assign_value"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_defining_identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "non_empty_mode"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "access_definition"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_assign_value"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
}
]
},
"_formal_type_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "formal_complete_type_declaration"
},
{
"type": "SYMBOL",
"name": "formal_incomplete_type_declaration"
}
]
},
"formal_complete_type_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][yY][pP][eE]"
}
}
},
"named": false,
"value": "type"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_discriminant_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "SYMBOL",
"name": "_formal_type_definition"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][rR]"
}
}
},
"named": false,
"value": "or"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[uU][sS][eE]"
}
}
},
"named": false,
"value": "use"
},
{
"type": "FIELD",
"name": "default_subtype_mark",
"content": {
"type": "SYMBOL",
"name": "_name"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"formal_incomplete_type_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][yY][pP][eE]"
}
}
},
"named": false,
"value": "type"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_discriminant_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][aA][gG][gG][eE][dD]"
}
}
},
"named": false,
"value": "tagged"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][rR]"
}
}
},
"named": false,
"value": "or"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[uU][sS][eE]"
}
}
},
"named": false,
"value": "use"
},
{
"type": "FIELD",
"name": "default_subtype_mark",
"content": {
"type": "SYMBOL",
"name": "_name"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"_formal_type_definition": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "formal_private_type_definition"
},
{
"type": "SYMBOL",
"name": "formal_derived_type_definition"
},
{
"type": "SYMBOL",
"name": "formal_discrete_type_definition"
},
{
"type": "SYMBOL",
"name": "formal_signed_integer_type_definition"
},
{
"type": "SYMBOL",
"name": "formal_modular_type_definition"
},
{
"type": "SYMBOL",
"name": "formal_floating_point_definition"
},
{
"type": "SYMBOL",
"name": "formal_ordinary_fixed_point_definition"
},
{
"type": "SYMBOL",
"name": "formal_decimal_fixed_point_definition"
},
{
"type": "SYMBOL",
"name": "formal_array_type_definition"
},
{
"type": "SYMBOL",
"name": "formal_access_type_definition"
},
{
"type": "SYMBOL",
"name": "formal_interface_type_definition"
}
]
},
"formal_private_type_definition": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][bB][sS][tT][rR][aA][cC][tT]"
}
}
},
"named": false,
"value": "abstract"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][aA][gG][gG][eE][dD]"
}
}
},
"named": false,
"value": "tagged"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[lL][iI][mM][iI][tT][eE][dD]"
}
}
},
"named": false,
"value": "limited"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][iI][vV][aA][tT][eE]"
}
}
},
"named": false,
"value": "private"
}
]
},
"formal_derived_type_definition": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][bB][sS][tT][rR][aA][cC][tT]"
}
}
},
"named": false,
"value": "abstract"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[lL][iI][mM][iI][tT][eE][dD]"
}
}
},
"named": false,
"value": "limited"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][yY][nN][cC][hH][rR][oO][nN][iI][zZ][eE][dD]"
}
}
},
"named": false,
"value": "synchronized"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][eE][wW]"
}
}
},
"named": false,
"value": "new"
},
{
"type": "FIELD",
"name": "subtype_mark",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][nN][dD]"
}
}
},
"named": false,
"value": "and"
},
{
"type": "SYMBOL",
"name": "_interface_list"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][iI][vV][aA][tT][eE]"
}
}
},
"named": false,
"value": "private"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"formal_discrete_type_definition": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "STRING",
"value": "<>"
},
{
"type": "STRING",
"value": ")"
}
]
},
"formal_signed_integer_type_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][aA][nN][gG][eE]"
}
}
},
"named": false,
"value": "range"
},
{
"type": "STRING",
"value": "<>"
}
]
},
"formal_modular_type_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[mM][oO][dD]"
}
}
},
"named": false,
"value": "mod"
},
{
"type": "STRING",
"value": "<>"
}
]
},
"formal_floating_point_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][iI][gG][iI][tT][sS]"
}
}
},
"named": false,
"value": "digits"
},
{
"type": "STRING",
"value": "<>"
}
]
},
"formal_ordinary_fixed_point_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][eE][lL][tT][aA]"
}
}
},
"named": false,
"value": "delta"
},
{
"type": "STRING",
"value": "<>"
}
]
},
"formal_decimal_fixed_point_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][eE][lL][tT][aA]"
}
}
},
"named": false,
"value": "delta"
},
{
"type": "STRING",
"value": "<>"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][iI][gG][iI][tT][sS]"
}
}
},
"named": false,
"value": "digits"
},
{
"type": "STRING",
"value": "<>"
}
]
},
"formal_array_type_definition": {
"type": "SYMBOL",
"name": "array_type_definition"
},
"formal_access_type_definition": {
"type": "SYMBOL",
"name": "_access_type_definition"
},
"formal_interface_type_definition": {
"type": "SYMBOL",
"name": "interface_type_definition"
},
"formal_subprogram_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "formal_concrete_subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "formal_abstract_subprogram_declaration"
}
]
},
"formal_concrete_subprogram_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "SYMBOL",
"name": "_subprogram_specification"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "SYMBOL",
"name": "subprogram_default"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"formal_abstract_subprogram_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "SYMBOL",
"name": "_subprogram_specification"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][bB][sS][tT][rR][aA][cC][tT]"
}
}
},
"named": false,
"value": "abstract"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_default"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"subprogram_default": {
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "default_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "STRING",
"value": "<>"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][uU][lL][lL]"
}
}
},
"named": false,
"value": "null"
}
]
},
"formal_package_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][aA][cC][kK][aA][gG][eE]"
}
}
},
"named": false,
"value": "package"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][eE][wW]"
}
}
},
"named": false,
"value": "new"
},
{
"type": "FIELD",
"name": "generic_package_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"formal_group_designator": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "null"
},
{
"type": "STRING",
"value": "all"
}
]
},
"extended_global_aspect_element": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[uU][sS][eE]"
}
}
},
"named": false,
"value": "use"
},
{
"type": "FIELD",
"name": "formal_parameter_set",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "formal_group_designator"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_name"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_name"
}
]
}
}
]
}
]
}
}
]
}
]
},
"global_aspect_definition": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "global_mode"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "global_aspect_element"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "global_aspect_element"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
]
},
"global_aspect_element": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "global_mode"
},
{
"type": "FIELD",
"name": "global_set",
"content": {
"type": "SYMBOL",
"name": "_name_list"
}
}
]
}
]
},
"global_mode": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "non_empty_mode"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][vV][eE][rR][rR][iI][dD][iI][nN][gG]"
}
}
},
"named": false,
"value": "overriding"
}
]
},
"handled_sequence_of_statements": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_sequence_of_statements"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][xX][cC][eE][pP][tT][iI][oO][nN]"
}
}
},
"named": false,
"value": "exception"
},
{
"type": "SYMBOL",
"name": "_exception_handler_list"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"loop_label": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "statement_identifier",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": ":"
}
]
},
"label": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<<"
},
{
"type": "FIELD",
"name": "statement_identifier",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "STRING",
"value": ">>"
}
]
},
"mod_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][tT]"
}
}
},
"named": false,
"value": "at"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[mM][oO][dD]"
}
}
},
"named": false,
"value": "mod"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"non_empty_mode": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][nN]"
}
}
},
"named": false,
"value": "in"
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][nN]"
}
}
},
"named": false,
"value": "in"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][uU][tT]"
}
}
},
"named": false,
"value": "out"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][uU][tT]"
}
}
},
"named": false,
"value": "out"
}
]
},
"null_procedure_declaration": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "overriding_indicator"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "procedure_specification"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][uU][lL][lL]"
}
}
},
"named": false,
"value": "null"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"null_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][uU][lL][lL]"
}
}
},
"named": false,
"value": "null"
},
{
"type": "STRING",
"value": ";"
}
]
},
"number_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_defining_identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[cC][oO][nN][sS][tT][aA][nN][tT]"
}
}
},
"named": false,
"value": "constant"
},
{
"type": "SYMBOL",
"name": "_assign_value"
},
{
"type": "STRING",
"value": ";"
}
]
},
"object_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_defining_identifier_list"
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][lL][iI][aA][sS][eE][dD]"
}
}
},
"named": false,
"value": "aliased"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[cC][oO][nN][sS][tT][aA][nN][tT]"
}
}
},
"named": false,
"value": "constant"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_subtype_indication"
},
{
"type": "SYMBOL",
"name": "access_definition"
},
{
"type": "SYMBOL",
"name": "array_type_definition"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_assign_value"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "SYMBOL",
"name": "single_task_declaration"
},
{
"type": "SYMBOL",
"name": "single_protected_declaration"
}
]
},
"single_task_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][aA][sS][kK]"
}
}
},
"named": false,
"value": "task"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][eE][wW]"
}
}
},
"named": false,
"value": "new"
},
{
"type": "SYMBOL",
"name": "_interface_list"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "task_definition"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"task_type_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][aA][sS][kK]"
}
}
},
"named": false,
"value": "task"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][yY][pP][eE]"
}
}
},
"named": false,
"value": "type"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "known_discriminant_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][eE][wW]"
}
}
},
"named": false,
"value": "new"
},
{
"type": "SYMBOL",
"name": "_interface_list"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "task_definition"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"non_empty_entry_body_formal_part": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "entry_index_specification"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "parameter_profile",
"content": {
"type": "SYMBOL",
"name": "formal_part"
}
}
]
},
"_task_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "entry_declaration"
},
{
"type": "SYMBOL",
"name": "_aspect_clause"
}
]
},
"task_definition": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_task_item"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][iI][vV][aA][tT][eE]"
}
}
},
"named": false,
"value": "private"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_task_item"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "FIELD",
"name": "endname",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "BLANK"
}
]
}
}
]
},
"overriding_indicator": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[nN][oO][tT]"
}
}
},
"named": false,
"value": "not"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][vV][eE][rR][rR][iI][dD][iI][nN][gG]"
}
}
},
"named": false,
"value": "overriding"
}
]
},
"_parameter_and_result_profile": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "formal_part"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "result_profile"
}
]
},
"parameter_specification": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_defining_identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][lL][iI][aA][sS][eE][dD]"
}
}
},
"named": false,
"value": "aliased"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "non_empty_mode"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "null_exclusion"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "subtype_mark",
"content": {
"type": "SYMBOL",
"name": "_name"
}
}
]
},
{
"type": "SYMBOL",
"name": "access_definition"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_assign_value"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
}
]
},
"_parameter_specification_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "parameter_specification"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "SYMBOL",
"name": "parameter_specification"
}
]
}
}
]
},
"pragma_g": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][aA][gG][mM][aA]"
}
}
},
"named": false,
"value": "pragma"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "pragma_argument_association"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "pragma_argument_association"
}
]
}
}
]
},
{
"type": "SYMBOL",
"name": "_conditional_quantified_expression"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"pragma_argument_association": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_aspect_mark"
},
{
"type": "STRING",
"value": "=>"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
"if_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][fF]"
}
}
},
"named": false,
"value": "if"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
}
}
},
"named": false,
"value": "then"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "elsif_expression_item"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][lL][sS][eE]"
}
}
},
"named": false,
"value": "else"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"elsif_expression_item": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][lL][sS][iI][fF]"
}
}
},
"named": false,
"value": "elsif"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
}
}
},
"named": false,
"value": "then"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
"procedure_specification": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][cC][eE][dD][uU][rR][eE]"
}
}
},
"named": false,
"value": "procedure"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "formal_part"
},
{
"type": "BLANK"
}
]
}
]
},
"record_representation_clause": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[fF][oO][rR]"
}
}
},
"named": false,
"value": "for"
},
{
"type": "FIELD",
"name": "local_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[uU][sS][eE]"
}
}
},
"named": false,
"value": "use"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][cC][oO][rR][dD]"
}
}
},
"named": false,
"value": "record"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "mod_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "component_clause"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][cC][oO][rR][dD]"
}
}
},
"named": false,
"value": "record"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "end_local_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"_renaming_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "object_renaming_declaration"
},
{
"type": "SYMBOL",
"name": "exception_renaming_declaration"
},
{
"type": "SYMBOL",
"name": "package_renaming_declaration"
},
{
"type": "SYMBOL",
"name": "subprogram_renaming_declaration"
},
{
"type": "SYMBOL",
"name": "generic_renaming_declaration"
}
]
},
"object_renaming_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "null_exclusion"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "subtype_mark",
"content": {
"type": "SYMBOL",
"name": "_name"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][nN][aA][mM][eE][sS]"
}
}
},
"named": false,
"value": "renames"
},
{
"type": "FIELD",
"name": "object_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "access_definition"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][nN][aA][mM][eE][sS]"
}
}
},
"named": false,
"value": "renames"
},
{
"type": "FIELD",
"name": "object_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
}
]
},
"exception_renaming_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][xX][cC][eE][pP][tT][iI][oO][nN]"
}
}
},
"named": false,
"value": "exception"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][nN][aA][mM][eE][sS]"
}
}
},
"named": false,
"value": "renames"
},
{
"type": "FIELD",
"name": "exception_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"package_renaming_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][aA][cC][kK][aA][gG][eE]"
}
}
},
"named": false,
"value": "package"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][nN][aA][mM][eE][sS]"
}
}
},
"named": false,
"value": "renames"
},
{
"type": "FIELD",
"name": "package_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"subprogram_renaming_declaration": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "overriding_indicator"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_subprogram_specification"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][nN][aA][mM][eE][sS]"
}
}
},
"named": false,
"value": "renames"
},
{
"type": "FIELD",
"name": "callable_entity_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"generic_renaming_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[gG][eE][nN][eE][rR][iI][cC]"
}
}
},
"named": false,
"value": "generic"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][aA][cC][kK][aA][gG][eE]"
}
}
},
"named": false,
"value": "package"
},
{
"type": "FIELD",
"name": "defining_program_unit_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][nN][aA][mM][eE][sS]"
}
}
},
"named": false,
"value": "renames"
},
{
"type": "FIELD",
"name": "generic_package_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[gG][eE][nN][eE][rR][iI][cC]"
}
}
},
"named": false,
"value": "generic"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[pP][rR][oO][cC][eE][dD][uU][rR][eE]"
}
}
},
"named": false,
"value": "procedure"
},
{
"type": "FIELD",
"name": "defining_program_unit_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][nN][aA][mM][eE][sS]"
}
}
},
"named": false,
"value": "renames"
},
{
"type": "FIELD",
"name": "generic_procedure_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[gG][eE][nN][eE][rR][iI][cC]"
}
}
},
"named": false,
"value": "generic"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
}
}
},
"named": false,
"value": "function"
},
{
"type": "FIELD",
"name": "defining_program_unit_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][nN][aA][mM][eE][sS]"
}
}
},
"named": false,
"value": "renames"
},
{
"type": "FIELD",
"name": "generic_function_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
}
]
},
"result_profile": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][tT][uU][rR][nN]"
}
}
},
"named": false,
"value": "return"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "null_exclusion"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "subtype_mark",
"content": {
"type": "SYMBOL",
"name": "_name"
}
}
]
},
{
"type": "SYMBOL",
"name": "access_definition"
}
]
}
]
},
"_sequence_of_statements": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_statement"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "label"
}
}
]
}
},
"_simple_statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "null_statement"
},
{
"type": "SYMBOL",
"name": "assignment_statement"
},
{
"type": "SYMBOL",
"name": "exit_statement"
},
{
"type": "SYMBOL",
"name": "goto_statement"
},
{
"type": "SYMBOL",
"name": "procedure_call_statement"
},
{
"type": "SYMBOL",
"name": "simple_return_statement"
},
{
"type": "SYMBOL",
"name": "requeue_statement"
},
{
"type": "SYMBOL",
"name": "_delay_statement"
},
{
"type": "SYMBOL",
"name": "abort_statement"
},
{
"type": "SYMBOL",
"name": "raise_statement"
},
{
"type": "SYMBOL",
"name": "pragma_g"
}
]
},
"_statement": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "label"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_simple_statement"
},
{
"type": "SYMBOL",
"name": "_compound_statement"
}
]
}
]
},
"_compound_statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "if_statement"
},
{
"type": "SYMBOL",
"name": "case_statement"
},
{
"type": "SYMBOL",
"name": "loop_statement"
},
{
"type": "SYMBOL",
"name": "block_statement"
},
{
"type": "SYMBOL",
"name": "extended_return_statement"
},
{
"type": "SYMBOL",
"name": "accept_statement"
},
{
"type": "SYMBOL",
"name": "_select_statement"
}
]
},
"_select_statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "selective_accept"
},
{
"type": "SYMBOL",
"name": "timed_entry_call"
},
{
"type": "SYMBOL",
"name": "conditional_entry_call"
},
{
"type": "SYMBOL",
"name": "asynchronous_select"
}
]
},
"entry_call_alternative": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "procedure_call_statement"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_sequence_of_statements"
},
{
"type": "BLANK"
}
]
}
]
},
"asynchronous_select": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][eE][lL][eE][cC][tT]"
}
}
},
"named": false,
"value": "select"
},
{
"type": "SYMBOL",
"name": "triggering_alternative"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
}
}
},
"named": false,
"value": "then"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][bB][oO][rR][tT]"
}
}
},
"named": false,
"value": "abort"
},
{
"type": "FIELD",
"name": "abortable_part",
"content": {
"type": "SYMBOL",
"name": "_sequence_of_statements"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][eE][lL][eE][cC][tT]"
}
}
},
"named": false,
"value": "select"
},
{
"type": "STRING",
"value": ";"
}
]
},
"triggering_alternative": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "procedure_call_statement"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_sequence_of_statements"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_delay_statement"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_sequence_of_statements"
},
{
"type": "BLANK"
}
]
}
]
}
]
},
"conditional_entry_call": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][eE][lL][eE][cC][tT]"
}
}
},
"named": false,
"value": "select"
},
{
"type": "SYMBOL",
"name": "entry_call_alternative"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][lL][sS][eE]"
}
}
},
"named": false,
"value": "else"
},
{
"type": "SYMBOL",
"name": "_sequence_of_statements"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][eE][lL][eE][cC][tT]"
}
}
},
"named": false,
"value": "select"
},
{
"type": "STRING",
"value": ";"
}
]
},
"delay_alternative": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_delay_statement"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_sequence_of_statements"
},
{
"type": "BLANK"
}
]
}
]
},
"timed_entry_call": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][eE][lL][eE][cC][tT]"
}
}
},
"named": false,
"value": "select"
},
{
"type": "SYMBOL",
"name": "entry_call_alternative"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][rR]"
}
}
},
"named": false,
"value": "or"
},
{
"type": "SYMBOL",
"name": "delay_alternative"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][eE][lL][eE][cC][tT]"
}
}
},
"named": false,
"value": "select"
},
{
"type": "STRING",
"value": ";"
}
]
},
"guard": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
}
}
},
"named": false,
"value": "when"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": "=>"
}
]
},
"select_alternative": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "accept_alternative"
},
{
"type": "SYMBOL",
"name": "delay_alternative"
},
{
"type": "SYMBOL",
"name": "terminate_alternative"
}
]
},
"accept_alternative": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "accept_statement"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_sequence_of_statements"
},
{
"type": "BLANK"
}
]
}
]
},
"terminate_alternative": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][eE][rR][mM][iI][nN][aA][tT][eE]"
}
}
},
"named": false,
"value": "terminate"
},
{
"type": "STRING",
"value": ";"
}
]
},
"selective_accept": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][eE][lL][eE][cC][tT]"
}
}
},
"named": false,
"value": "select"
},
{
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "guard"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "select_alternative"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[oO][rR]"
}
}
},
"named": false,
"value": "or"
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "guard"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "select_alternative"
}
]
}
]
}
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][lL][sS][eE]"
}
}
},
"named": false,
"value": "else"
},
{
"type": "SYMBOL",
"name": "_sequence_of_statements"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][eE][lL][eE][cC][tT]"
}
}
},
"named": false,
"value": "select"
},
{
"type": "STRING",
"value": ";"
}
]
},
"abort_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][bB][oO][rR][tT]"
}
}
},
"named": false,
"value": "abort"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_name"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_name"
}
]
}
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"requeue_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][qQ][uU][eE][uU][eE]"
}
}
},
"named": false,
"value": "requeue"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][bB][oO][rR][tT]"
}
}
},
"named": false,
"value": "abort"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"accept_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][cC][cC][eE][pP][tT]"
}
}
},
"named": false,
"value": "accept"
},
{
"type": "FIELD",
"name": "entry_direct_name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "entry_index",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "parameter_profile",
"content": {
"type": "SYMBOL",
"name": "formal_part"
}
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][oO]"
}
}
},
"named": false,
"value": "do"
},
{
"type": "SYMBOL",
"name": "handled_sequence_of_statements"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "entry_identifier",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"case_statement_alternative": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
}
}
},
"named": false,
"value": "when"
},
{
"type": "SYMBOL",
"name": "discrete_choice_list"
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "SYMBOL",
"name": "_sequence_of_statements"
}
]
},
"case_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[cC][aA][sS][eE]"
}
}
},
"named": false,
"value": "case"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "case_statement_alternative"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[cC][aA][sS][eE]"
}
}
},
"named": false,
"value": "case"
},
{
"type": "STRING",
"value": ";"
}
]
},
"block_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "loop_label"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][eE][cC][lL][aA][rR][eE]"
}
}
},
"named": false,
"value": "declare"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "non_empty_declarative_part"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[bB][eE][gG][iI][nN]"
}
}
},
"named": false,
"value": "begin"
},
{
"type": "SYMBOL",
"name": "handled_sequence_of_statements"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"if_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][fF]"
}
}
},
"named": false,
"value": "if"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
}
}
},
"named": false,
"value": "then"
},
{
"type": "FIELD",
"name": "statements",
"content": {
"type": "SYMBOL",
"name": "_sequence_of_statements"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "elsif_statement_item"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][lL][sS][eE]"
}
}
},
"named": false,
"value": "else"
},
{
"type": "FIELD",
"name": "else_statements",
"content": {
"type": "SYMBOL",
"name": "_sequence_of_statements"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][fF]"
}
}
},
"named": false,
"value": "if"
},
{
"type": "STRING",
"value": ";"
}
]
},
"elsif_statement_item": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][lL][sS][iI][fF]"
}
}
},
"named": false,
"value": "elsif"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[tT][hH][eE][nN]"
}
}
},
"named": false,
"value": "then"
},
{
"type": "FIELD",
"name": "statements",
"content": {
"type": "SYMBOL",
"name": "_sequence_of_statements"
}
}
]
},
"exit_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][xX][iI][tT]"
}
}
},
"named": false,
"value": "exit"
},
{
"type": "FIELD",
"name": "loop_name",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_name"
},
{
"type": "BLANK"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
}
}
},
"named": false,
"value": "when"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"goto_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[gG][oO][tT][oO]"
}
}
},
"named": false,
"value": "goto"
},
{
"type": "FIELD",
"name": "label_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "STRING",
"value": ";"
}
]
},
"_delay_statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "delay_until_statement"
},
{
"type": "SYMBOL",
"name": "delay_relative_statement"
}
]
},
"delay_until_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][eE][lL][aA][yY]"
}
}
},
"named": false,
"value": "delay"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[uU][nN][tT][iI][lL]"
}
}
},
"named": false,
"value": "until"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"delay_relative_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][eE][lL][aA][yY]"
}
}
},
"named": false,
"value": "delay"
},
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"simple_return_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][tT][uU][rR][nN]"
}
}
},
"named": false,
"value": "return"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "expression"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"extended_return_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][tT][uU][rR][nN]"
}
}
},
"named": false,
"value": "return"
},
{
"type": "SYMBOL",
"name": "extended_return_object_declaration"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[dD][oO]"
}
}
},
"named": false,
"value": "do"
},
{
"type": "SYMBOL",
"name": "handled_sequence_of_statements"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][eE][tT][uU][rR][nN]"
}
}
},
"named": false,
"value": "return"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"extended_return_object_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][lL][iI][aA][sS][eE][dD]"
}
}
},
"named": false,
"value": "aliased"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[cC][oO][nN][sS][tT][aA][nN][tT]"
}
}
},
"named": false,
"value": "constant"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_return_subtype_indication"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_assign_value"
},
{
"type": "BLANK"
}
]
}
]
},
"_return_subtype_indication": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_subtype_indication"
},
{
"type": "SYMBOL",
"name": "access_definition"
}
]
},
"procedure_call_statement": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name_not_function_call"
}
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "SYMBOL",
"name": "actual_parameter_part"
},
{
"type": "STRING",
"value": ";"
}
]
}
]
},
"function_call": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "SYMBOL",
"name": "actual_parameter_part"
}
]
},
"raise_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[rR][aA][iI][sS][eE]"
}
}
},
"named": false,
"value": "raise"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][iI][tT][hH]"
}
}
},
"named": false,
"value": "with"
},
{
"type": "SYMBOL",
"name": "expression"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"loop_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "loop_label"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "iteration_scheme"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[lL][oO][oO][pP]"
}
}
},
"named": false,
"value": "loop"
},
{
"type": "FIELD",
"name": "statements",
"content": {
"type": "SYMBOL",
"name": "_sequence_of_statements"
}
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[lL][oO][oO][pP]"
}
}
},
"named": false,
"value": "loop"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"iteration_scheme": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][hH][iI][lL][eE]"
}
}
},
"named": false,
"value": "while"
},
{
"type": "FIELD",
"name": "condition",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[fF][oO][rR]"
}
}
},
"named": false,
"value": "for"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "loop_parameter_specification"
},
{
"type": "SYMBOL",
"name": "iterator_specification"
}
]
}
]
}
]
},
"assignment_statement": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "variable_name",
"content": {
"type": "SYMBOL",
"name": "_name"
}
},
{
"type": "SYMBOL",
"name": "_assign_value"
},
{
"type": "STRING",
"value": ";"
}
]
},
"subprogram_declaration": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "overriding_indicator"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_subprogram_specification"
},
{
"type": "FIELD",
"name": "is_abstract",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[aA][bB][sS][tT][rR][aA][cC][tT]"
}
}
},
"named": false,
"value": "abstract"
}
]
},
{
"type": "BLANK"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"expression_function_declaration": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "overriding_indicator"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "function_specification"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_aggregate"
},
{
"type": "SYMBOL",
"name": "_parenthesized_expression"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"_subprogram_specification": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "procedure_specification"
},
{
"type": "SYMBOL",
"name": "function_specification"
}
]
},
"subtype_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[sS][uU][bB][tT][yY][pP][eE]"
}
}
},
"named": false,
"value": "subtype"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "SYMBOL",
"name": "_subtype_indication"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "aspect_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"variant_part": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[cC][aA][sS][eE]"
}
}
},
"named": false,
"value": "case"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[iI][sS]"
}
}
},
"named": false,
"value": "is"
},
{
"type": "SYMBOL",
"name": "variant_list"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[eE][nN][dD]"
}
}
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[cC][aA][sS][eE]"
}
}
},
"named": false,
"value": "case"
},
{
"type": "STRING",
"value": ";"
}
]
},
"variant_list": {
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "variant"
}
},
"variant": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 2,
"content": {
"type": "PATTERN",
"value": "[wW][hH][eE][nN]"
}
}
},
"named": false,
"value": "when"
},
{
"type": "SYMBOL",
"name": "discrete_choice_list"
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "SYMBOL",
"name": "component_list"
}
]
}
},
"extras": [
{
"type": "PATTERN",
"value": "\\s|\\\\\\r?\\n"
},
{
"type": "SYMBOL",
"name": "comment"
}
],
"conflicts": [
[
"null_procedure_declaration",
"_subprogram_specification"
],
[
"expression_function_declaration",
"_subprogram_specification"
],
[
"at_clause",
"_name"
],
[
"_name",
"component_choice_list"
],
[
"slice",
"_discrete_range"
],
[
"record_component_association_list",
"positional_array_aggregate"
],
[
"value_sequence",
"array_component_association"
],
[
"generic_instantiation",
"procedure_specification"
],
[
"_defining_identifier_list",
"object_renaming_declaration",
"exception_renaming_declaration"
],
[
"_defining_identifier_list",
"object_renaming_declaration"
],
[
"_defining_identifier_list",
"object_renaming_declaration",
"loop_label",
"exception_renaming_declaration"
],
[
"_defining_identifier_list",
"_name"
],
[
"generic_formal_part",
"generic_renaming_declaration"
],
[
"derived_type_definition"
],
[
"iterator_specification",
"_subtype_indication"
],
[
"full_type_declaration",
"_discriminant_part"
],
[
"private_extension_declaration",
"derived_type_definition"
],
[
"formal_derived_type_definition"
],
[
"function_call",
"procedure_call_statement"
],
[
"_name",
"_aspect_mark"
],
[
"_name",
"package_body_stub"
],
[
"_name",
"_subtype_indication"
],
[
"_name",
"_subtype_indication",
"component_choice_list"
],
[
"attribute_definition_clause",
"_attribute_reference"
]
],
"precedences": [],
"externals": [],
"inline": [],
"supertypes": []
}