{
"$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
"name": "vhdl",
"rules": {
"design_file": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "design_unit"
}
},
{
"type": "SYMBOL",
"name": "_end_of_file"
}
]
},
"design_unit": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_context_item"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_library_unit"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "_library_unit"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_block_declarative_item"
}
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_concurrent_statement"
}
}
]
}
},
"_context_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "library_clause"
},
{
"type": "SYMBOL",
"name": "use_clause"
},
{
"type": "SYMBOL",
"name": "context_reference"
}
]
},
"library_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "LIBRARY"
},
"named": false,
"value": "library"
},
{
"type": "SYMBOL",
"name": "logical_name_list"
},
{
"type": "STRING",
"value": ";"
}
]
},
"use_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "USE"
},
"named": false,
"value": "use"
},
{
"type": "SYMBOL",
"name": "selected_name_list"
},
{
"type": "STRING",
"value": ";"
}
]
},
"context_reference": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CONTEXT"
},
"named": false,
"value": "context"
},
{
"type": "SYMBOL",
"name": "selected_name_list"
},
{
"type": "STRING",
"value": ";"
}
]
},
"logical_name_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_logical_name"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_logical_name"
}
]
}
}
]
},
"_logical_name": {
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "library",
"content": {
"type": "SYMBOL",
"name": "library_namespace"
}
},
{
"type": "FIELD",
"name": "library",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
}
]
},
"selected_name_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "selected_name"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "selected_name"
}
]
}
}
]
},
"selected_name": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_logical_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "package",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "SYMBOL",
"name": "ALL"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "SYMBOL",
"name": "ALL"
}
]
}
]
}
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"_library_unit": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "entity_declaration"
},
{
"type": "SYMBOL",
"name": "configuration_declaration"
},
{
"type": "SYMBOL",
"name": "package_declaration"
},
{
"type": "SYMBOL",
"name": "package_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "context_declaration"
},
{
"type": "SYMBOL",
"name": "architecture_definition"
},
{
"type": "SYMBOL",
"name": "package_definition"
}
]
},
"entity_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ENTITY"
},
"named": false,
"value": "entity"
},
{
"type": "FIELD",
"name": "entity",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "SYMBOL",
"name": "entity_head"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "entity_body"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "end_entity"
},
{
"type": "STRING",
"value": ";"
}
]
},
"entity_head": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "port_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_entity_declarative_item"
}
}
]
},
"port_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PORT"
},
"named": false,
"value": "port"
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "interface_list"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "STRING",
"value": ";"
}
]
},
"entity_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BEGIN"
},
"named": false,
"value": "begin"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_entity_statement"
}
}
]
},
"end_entity": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ENTITY"
},
"named": false,
"value": "entity"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "entity",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "BLANK"
}
]
}
]
},
"configuration_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CONFIGURATION"
},
"named": false,
"value": "configuration"
},
{
"type": "FIELD",
"name": "configuration",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OF"
},
"named": false,
"value": "of"
},
{
"type": "FIELD",
"name": "entity",
"content": {
"type": "SYMBOL",
"name": "name"
}
},
{
"type": "SYMBOL",
"name": "configuration_head"
},
{
"type": "SYMBOL",
"name": "block_configuration"
},
{
"type": "SYMBOL",
"name": "end_configuration"
},
{
"type": "STRING",
"value": ";"
}
]
},
"configuration_head": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_configuration_declarative_item"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "verification_unit_binding_indication"
},
{
"type": "STRING",
"value": ";"
}
]
}
}
]
},
"end_configuration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CONFIGURATION"
},
"named": false,
"value": "configuration"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "configuration",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "BLANK"
}
]
}
]
},
"package_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PACKAGE"
},
"named": false,
"value": "package"
},
{
"type": "FIELD",
"name": "package",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "SYMBOL",
"name": "package_declaration_body"
},
{
"type": "SYMBOL",
"name": "end_package"
},
{
"type": "STRING",
"value": ";"
}
]
},
"package_declaration_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "package_header"
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_package_declarative_item"
}
}
]
},
"end_package": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PACKAGE"
},
"named": false,
"value": "package"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "package",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "BLANK"
}
]
}
]
},
"package_instantiation_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PACKAGE"
},
"named": false,
"value": "package"
},
{
"type": "FIELD",
"name": "package",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NEW"
},
"named": false,
"value": "new"
},
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"interface_package_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PACKAGE"
},
"named": false,
"value": "package"
},
{
"type": "FIELD",
"name": "package",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NEW"
},
"named": false,
"value": "new"
},
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "SYMBOL",
"name": "_interface_package_generic_map_aspect"
}
]
},
"context_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CONTEXT"
},
"named": false,
"value": "context"
},
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "SYMBOL",
"name": "context_declaration_body"
},
{
"type": "SYMBOL",
"name": "end_context"
},
{
"type": "STRING",
"value": ";"
}
]
},
"context_declaration_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_context_item"
}
}
]
},
"end_context": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CONTEXT"
},
"named": false,
"value": "context"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "BLANK"
}
]
}
]
},
"architecture_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ARCHITECTURE"
},
"named": false,
"value": "architecture"
},
{
"type": "FIELD",
"name": "architecture",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OF"
},
"named": false,
"value": "of"
},
{
"type": "FIELD",
"name": "entity",
"content": {
"type": "SYMBOL",
"name": "name"
}
},
{
"type": "SYMBOL",
"name": "architecture_head"
},
{
"type": "SYMBOL",
"name": "concurrent_block"
},
{
"type": "SYMBOL",
"name": "end_architecture"
},
{
"type": "STRING",
"value": ";"
}
]
},
"architecture_head": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_block_declarative_item"
}
}
]
},
"end_architecture": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ARCHITECTURE"
},
"named": false,
"value": "architecture"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "architecture",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "BLANK"
}
]
}
]
},
"package_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PACKAGE"
},
"named": false,
"value": "package"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BODY"
},
"named": false,
"value": "body"
},
{
"type": "FIELD",
"name": "package",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "SYMBOL",
"name": "package_definition_body"
},
{
"type": "SYMBOL",
"name": "end_package_body"
},
{
"type": "STRING",
"value": ";"
}
]
},
"package_definition_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_package_body_declarative_item"
}
}
]
},
"end_package_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PACKAGE"
},
"named": false,
"value": "package"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BODY"
},
"named": false,
"value": "body"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "package",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "BLANK"
}
]
}
]
},
"_entity_declarative_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "subprogram_definition"
},
{
"type": "SYMBOL",
"name": "subprogram_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "package_declaration"
},
{
"type": "SYMBOL",
"name": "package_definition"
},
{
"type": "SYMBOL",
"name": "package_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "type_declaration"
},
{
"type": "SYMBOL",
"name": "subtype_declaration"
},
{
"type": "SYMBOL",
"name": "mode_view_declaration"
},
{
"type": "SYMBOL",
"name": "constant_declaration"
},
{
"type": "SYMBOL",
"name": "signal_declaration"
},
{
"type": "SYMBOL",
"name": "variable_declaration"
},
{
"type": "SYMBOL",
"name": "file_declaration"
},
{
"type": "SYMBOL",
"name": "alias_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_specification"
},
{
"type": "SYMBOL",
"name": "disconnection_specification"
},
{
"type": "SYMBOL",
"name": "use_clause"
},
{
"type": "SYMBOL",
"name": "group_template_declaration"
},
{
"type": "SYMBOL",
"name": "group_declaration"
}
]
},
"_package_declarative_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "subprogram_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "package_declaration"
},
{
"type": "SYMBOL",
"name": "package_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "type_declaration"
},
{
"type": "SYMBOL",
"name": "subtype_declaration"
},
{
"type": "SYMBOL",
"name": "mode_view_declaration"
},
{
"type": "SYMBOL",
"name": "constant_declaration"
},
{
"type": "SYMBOL",
"name": "signal_declaration"
},
{
"type": "SYMBOL",
"name": "variable_declaration"
},
{
"type": "SYMBOL",
"name": "file_declaration"
},
{
"type": "SYMBOL",
"name": "alias_declaration"
},
{
"type": "SYMBOL",
"name": "component_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_specification"
},
{
"type": "SYMBOL",
"name": "disconnection_specification"
},
{
"type": "SYMBOL",
"name": "use_clause"
},
{
"type": "SYMBOL",
"name": "group_template_declaration"
},
{
"type": "SYMBOL",
"name": "group_declaration"
}
]
},
"_package_body_declarative_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "subprogram_definition"
},
{
"type": "SYMBOL",
"name": "subprogram_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "package_declaration"
},
{
"type": "SYMBOL",
"name": "package_definition"
},
{
"type": "SYMBOL",
"name": "package_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "type_declaration"
},
{
"type": "SYMBOL",
"name": "subtype_declaration"
},
{
"type": "SYMBOL",
"name": "constant_declaration"
},
{
"type": "SYMBOL",
"name": "variable_declaration"
},
{
"type": "SYMBOL",
"name": "file_declaration"
},
{
"type": "SYMBOL",
"name": "alias_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_specification"
},
{
"type": "SYMBOL",
"name": "use_clause"
},
{
"type": "SYMBOL",
"name": "group_template_declaration"
},
{
"type": "SYMBOL",
"name": "group_declaration"
}
]
},
"_protected_type_declarative_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "subprogram_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_specification"
},
{
"type": "SYMBOL",
"name": "use_clause"
},
{
"type": "SYMBOL",
"name": "private_variable_declaration"
},
{
"type": "SYMBOL",
"name": "alias_declaration"
}
]
},
"_protected_type_body_declarative_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "subprogram_definition"
},
{
"type": "SYMBOL",
"name": "subprogram_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "package_declaration"
},
{
"type": "SYMBOL",
"name": "package_definition"
},
{
"type": "SYMBOL",
"name": "package_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "type_declaration"
},
{
"type": "SYMBOL",
"name": "subtype_declaration"
},
{
"type": "SYMBOL",
"name": "constant_declaration"
},
{
"type": "SYMBOL",
"name": "variable_declaration"
},
{
"type": "SYMBOL",
"name": "file_declaration"
},
{
"type": "SYMBOL",
"name": "alias_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_specification"
},
{
"type": "SYMBOL",
"name": "use_clause"
},
{
"type": "SYMBOL",
"name": "group_template_declaration"
},
{
"type": "SYMBOL",
"name": "group_declaration"
}
]
},
"_process_declarative_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "subprogram_definition"
},
{
"type": "SYMBOL",
"name": "subprogram_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "package_declaration"
},
{
"type": "SYMBOL",
"name": "package_definition"
},
{
"type": "SYMBOL",
"name": "package_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "type_declaration"
},
{
"type": "SYMBOL",
"name": "subtype_declaration"
},
{
"type": "SYMBOL",
"name": "constant_declaration"
},
{
"type": "SYMBOL",
"name": "variable_declaration"
},
{
"type": "SYMBOL",
"name": "file_declaration"
},
{
"type": "SYMBOL",
"name": "alias_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_specification"
},
{
"type": "SYMBOL",
"name": "use_clause"
},
{
"type": "SYMBOL",
"name": "group_template_declaration"
},
{
"type": "SYMBOL",
"name": "group_declaration"
}
]
},
"_subprogram_declarative_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "subprogram_definition"
},
{
"type": "SYMBOL",
"name": "subprogram_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "package_declaration"
},
{
"type": "SYMBOL",
"name": "package_definition"
},
{
"type": "SYMBOL",
"name": "package_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "type_declaration"
},
{
"type": "SYMBOL",
"name": "subtype_declaration"
},
{
"type": "SYMBOL",
"name": "constant_declaration"
},
{
"type": "SYMBOL",
"name": "variable_declaration"
},
{
"type": "SYMBOL",
"name": "file_declaration"
},
{
"type": "SYMBOL",
"name": "alias_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_specification"
},
{
"type": "SYMBOL",
"name": "use_clause"
},
{
"type": "SYMBOL",
"name": "group_template_declaration"
},
{
"type": "SYMBOL",
"name": "group_declaration"
}
]
},
"_block_declarative_item": {
"type": "PREC",
"value": 1,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "subprogram_definition"
},
{
"type": "SYMBOL",
"name": "subprogram_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "package_declaration"
},
{
"type": "SYMBOL",
"name": "package_definition"
},
{
"type": "SYMBOL",
"name": "package_instantiation_declaration"
},
{
"type": "SYMBOL",
"name": "type_declaration"
},
{
"type": "SYMBOL",
"name": "subtype_declaration"
},
{
"type": "SYMBOL",
"name": "mode_view_declaration"
},
{
"type": "SYMBOL",
"name": "constant_declaration"
},
{
"type": "SYMBOL",
"name": "signal_declaration"
},
{
"type": "SYMBOL",
"name": "variable_declaration"
},
{
"type": "SYMBOL",
"name": "file_declaration"
},
{
"type": "SYMBOL",
"name": "alias_declaration"
},
{
"type": "SYMBOL",
"name": "component_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_declaration"
},
{
"type": "SYMBOL",
"name": "attribute_specification"
},
{
"type": "SYMBOL",
"name": "configuration_specification"
},
{
"type": "SYMBOL",
"name": "disconnection_specification"
},
{
"type": "SYMBOL",
"name": "use_clause"
},
{
"type": "SYMBOL",
"name": "group_template_declaration"
},
{
"type": "SYMBOL",
"name": "group_declaration"
}
]
}
},
"subprogram_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_subprogram_specification"
},
{
"type": "STRING",
"value": ";"
}
]
},
"subprogram_definition": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_subprogram_specification"
},
{
"type": "SYMBOL",
"name": "subprogram_head"
},
{
"type": "SYMBOL",
"name": "sequential_block"
},
{
"type": "SYMBOL",
"name": "subprogram_end"
},
{
"type": "STRING",
"value": ";"
}
]
},
"subprogram_head": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_subprogram_declarative_item"
}
}
]
},
"subprogram_end": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PROCEDURE"
},
"named": false,
"value": "procedure"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FUNCTION"
},
"named": false,
"value": "function"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "function",
"content": {
"type": "SYMBOL",
"name": "_designator"
}
},
{
"type": "BLANK"
}
]
}
]
},
"subprogram_instantiation_declaration": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PROCEDURE"
},
"named": false,
"value": "procedure"
},
{
"type": "FIELD",
"name": "procedure",
"content": {
"type": "SYMBOL",
"name": "_designator"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FUNCTION"
},
"named": false,
"value": "function"
},
{
"type": "FIELD",
"name": "function",
"content": {
"type": "SYMBOL",
"name": "_designator"
}
}
]
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NEW"
},
"named": false,
"value": "new"
},
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "signature"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"type_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "TYPE"
},
"named": false,
"value": "type"
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "SYMBOL",
"name": "_type_definition"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"subtype_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SUBTYPE"
},
"named": false,
"value": "subtype"
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
},
{
"type": "STRING",
"value": ";"
}
]
},
"mode_view_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "VIEW"
},
"named": false,
"value": "view"
},
{
"type": "FIELD",
"name": "view",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OF"
},
"named": false,
"value": "of"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
},
{
"type": "SYMBOL",
"name": "mode_view_body"
},
{
"type": "SYMBOL",
"name": "end_view"
},
{
"type": "STRING",
"value": ";"
}
]
},
"mode_view_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "mode_view_element_definition"
}
}
]
},
"end_view": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "VIEW"
},
"named": false,
"value": "view"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "view",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "BLANK"
}
]
}
]
},
"constant_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CONSTANT"
},
"named": false,
"value": "constant"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "constant_identifier_list"
},
"named": true,
"value": "identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "initialiser"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"signal_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SIGNAL"
},
"named": false,
"value": "signal"
},
{
"type": "SYMBOL",
"name": "identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "signal_kind"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "initialiser"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"signal_kind": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "REGISTER"
},
"named": false,
"value": "register"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BUS"
},
"named": false,
"value": "bus"
}
]
},
"variable_declaration": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SHARED"
},
"named": false,
"value": "shared"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "VARIABLE"
},
"named": false,
"value": "variable"
},
{
"type": "SYMBOL",
"name": "identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "initialiser"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"initialiser": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "variable_assignment"
},
{
"type": "SYMBOL",
"name": "conditional_expression"
}
]
},
"file_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FILE"
},
"named": false,
"value": "file"
},
{
"type": "SYMBOL",
"name": "identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "file_open_information"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"interface_file_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FILE"
},
"named": false,
"value": "file"
},
{
"type": "SYMBOL",
"name": "identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
}
]
},
"alias_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ALIAS"
},
"named": false,
"value": "alias"
},
{
"type": "SYMBOL",
"name": "_alias_designator"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "STRING",
"value": ";"
}
]
},
"component_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "COMPONENT"
},
"named": false,
"value": "component"
},
{
"type": "FIELD",
"name": "component",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "component_body"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "end_component"
},
{
"type": "STRING",
"value": ";"
}
]
},
"component_body": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "port_clause"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "generic_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "port_clause"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "port_clause"
}
]
}
]
},
"end_component": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "COMPONENT"
},
"named": false,
"value": "component"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "component",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "BLANK"
}
]
}
]
},
"attribute_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ATTRIBUTE"
},
"named": false,
"value": "attribute"
},
{
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "name"
}
},
{
"type": "STRING",
"value": ";"
}
]
},
"attribute_specification": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ATTRIBUTE"
},
"named": false,
"value": "attribute"
},
{
"type": "SYMBOL",
"name": "_attribute_designator"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OF"
},
"named": false,
"value": "of"
},
{
"type": "SYMBOL",
"name": "entity_specification"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "SYMBOL",
"name": "conditional_expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"disconnection_specification": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "DISCONNECT"
},
"named": false,
"value": "disconnect"
},
{
"type": "SYMBOL",
"name": "guarded_signal_specification"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "AFTER"
},
"named": false,
"value": "after"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"group_template_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GROUP"
},
"named": false,
"value": "group"
},
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "entity_class_entry_list"
},
{
"type": "STRING",
"value": ")"
},
{
"type": "STRING",
"value": ";"
}
]
},
"group_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GROUP"
},
"named": false,
"value": "group"
},
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "group_constituent_list"
},
{
"type": "STRING",
"value": ")"
},
{
"type": "STRING",
"value": ";"
}
]
},
"private_variable_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PRIVATE"
},
"named": false,
"value": "private"
},
{
"type": "SYMBOL",
"name": "variable_declaration"
}
]
},
"_interface_type_indication": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subtype_indication"
},
{
"type": "SYMBOL",
"name": "unspecified_type_indication"
}
]
},
"unspecified_type_indication": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "TYPE"
},
"named": false,
"value": "type"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "SYMBOL",
"name": "_incomplete_type_definition"
}
]
},
"interface_type_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "TYPE"
},
"named": false,
"value": "type"
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "SYMBOL",
"name": "_incomplete_type_definition"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"_incomplete_type_definition": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "private_incomplete_type_definition"
},
{
"type": "SYMBOL",
"name": "scalar_incomplete_type_definition"
},
{
"type": "SYMBOL",
"name": "discrete_incomplete_type_definition"
},
{
"type": "SYMBOL",
"name": "integer_incomplete_type_definition"
},
{
"type": "SYMBOL",
"name": "physical_incomplete_type_definition"
},
{
"type": "SYMBOL",
"name": "floating_incomplete_type_definition"
},
{
"type": "SYMBOL",
"name": "array_type_definition"
},
{
"type": "SYMBOL",
"name": "access_incomplete_type_definition"
},
{
"type": "SYMBOL",
"name": "file_incomplete_type_definition"
}
]
},
"private_incomplete_type_definition": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PRIVATE"
},
"named": false,
"value": "private"
},
"scalar_incomplete_type_definition": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "box"
},
"named": false,
"value": "<>"
},
"discrete_incomplete_type_definition": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "box"
},
"named": false,
"value": "<>"
},
{
"type": "STRING",
"value": ")"
}
]
},
"integer_incomplete_type_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "RANGE"
},
"named": false,
"value": "range"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "box"
},
"named": false,
"value": "<>"
}
]
},
"physical_incomplete_type_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "UNITS"
},
"named": false,
"value": "units"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "box"
},
"named": false,
"value": "<>"
}
]
},
"floating_incomplete_type_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "RANGE"
},
"named": false,
"value": "range"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "box"
},
"named": false,
"value": "<>"
},
{
"type": "STRING",
"value": "."
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "box"
},
"named": false,
"value": "<>"
}
]
},
"array_type_definition": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ARRAY"
},
"named": false,
"value": "array"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "array_index_incomplete_type_list"
},
{
"type": "STRING",
"value": ")"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OF"
},
"named": false,
"value": "of"
},
{
"type": "SYMBOL",
"name": "_incomplete_subtype_indication"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ARRAY"
},
"named": false,
"value": "array"
},
{
"type": "SYMBOL",
"name": "index_constraint"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OF"
},
"named": false,
"value": "of"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
}
]
}
]
},
"array_index_incomplete_type_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_array_index_incomplete_type"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_array_index_incomplete_type"
}
]
}
}
]
},
"_array_index_incomplete_type": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "index_subtype_definition"
},
{
"type": "SYMBOL",
"name": "index_constraint"
},
{
"type": "SYMBOL",
"name": "unspecified_type_indication"
}
]
},
"index_constraint": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_range"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_range"
}
]
}
}
]
}
},
"index_subtype_definition": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "name"
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "RANGE"
},
"named": false,
"value": "range"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "box"
},
"named": false,
"value": "<>"
}
]
},
"access_type_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ACCESS"
},
"named": false,
"value": "access"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "BLANK"
}
]
}
]
},
"access_incomplete_type_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ACCESS"
},
"named": false,
"value": "access"
},
{
"type": "SYMBOL",
"name": "_incomplete_subtype_indication"
}
]
},
"file_type_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FILE"
},
"named": false,
"value": "file"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OF"
},
"named": false,
"value": "of"
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "name"
}
}
]
},
"file_incomplete_type_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FILE"
},
"named": false,
"value": "file"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OF"
},
"named": false,
"value": "of"
},
{
"type": "SYMBOL",
"name": "_incomplete_type_mark"
}
]
},
"subtype_indication": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "resolution_indication"
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "range_constraint"
},
{
"type": "BLANK"
}
]
}
]
},
"resolution_indication": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_element_resolution"
},
{
"type": "STRING",
"value": ")"
}
]
}
]
},
"_element_resolution": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "resolution_indication"
},
{
"type": "SYMBOL",
"name": "record_resolution"
}
]
},
"record_resolution": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "record_element_resolution"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "record_element_resolution"
}
]
}
}
]
},
"record_element_resolution": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "SYMBOL",
"name": "resolution_indication"
}
]
},
"_incomplete_subtype_indication": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subtype_indication"
},
{
"type": "SYMBOL",
"name": "unspecified_type_indication"
}
]
},
"_incomplete_type_mark": {
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "name"
}
},
{
"type": "SYMBOL",
"name": "unspecified_type_indication"
}
]
},
"concurrent_block": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BEGIN"
},
"named": false,
"value": "begin"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_concurrent_statement"
}
}
]
},
"sequential_block": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BEGIN"
},
"named": false,
"value": "begin"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_sequential_statement"
}
}
]
},
"generate_body": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GENERATE"
},
"named": false,
"value": "generate"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generate_block"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GENERATE"
},
"named": false,
"value": "generate"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generate_head"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BEGIN"
},
"named": false,
"value": "begin"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generate_block"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generate_block_end"
},
{
"type": "BLANK"
}
]
}
]
}
]
},
"generate_head": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_block_declarative_item"
}
}
]
},
"case_generate_alternative": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "WHEN"
},
"named": false,
"value": "when"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_element"
},
{
"type": "SYMBOL",
"name": "case_generate_body"
}
]
}
},
"case_generate_body": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "=>"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generate_block"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "=>"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generate_head"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BEGIN"
},
"named": false,
"value": "begin"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generate_block"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generate_block_end"
},
{
"type": "BLANK"
}
]
}
]
}
]
},
"generate_block": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_concurrent_statement"
}
}
]
},
"generate_block_end": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_label"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"_entity_statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "concurrent_assertion_statement"
},
{
"type": "SYMBOL",
"name": "concurrent_procedure_call_statement"
},
{
"type": "SYMBOL",
"name": "process_statement"
}
]
},
"_concurrent_statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "component_instantiation_statement"
},
{
"type": "SYMBOL",
"name": "for_generate_statement"
},
{
"type": "SYMBOL",
"name": "if_generate_statement"
},
{
"type": "SYMBOL",
"name": "case_generate_statement"
},
{
"type": "SYMBOL",
"name": "concurrent_assertion_statement"
},
{
"type": "SYMBOL",
"name": "concurrent_procedure_call_statement"
},
{
"type": "SYMBOL",
"name": "concurrent_simple_signal_assignment"
},
{
"type": "SYMBOL",
"name": "concurrent_conditional_signal_assignment"
},
{
"type": "SYMBOL",
"name": "concurrent_selected_signal_assignment"
},
{
"type": "SYMBOL",
"name": "block_statement"
},
{
"type": "SYMBOL",
"name": "process_statement"
}
]
},
"_sequential_statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "assertion_statement"
},
{
"type": "SYMBOL",
"name": "case_statement"
},
{
"type": "SYMBOL",
"name": "exit_statement"
},
{
"type": "SYMBOL",
"name": "if_statement_block"
},
{
"type": "SYMBOL",
"name": "loop_statement"
},
{
"type": "SYMBOL",
"name": "next_statement"
},
{
"type": "SYMBOL",
"name": "null_statement"
},
{
"type": "SYMBOL",
"name": "procedure_call_statement"
},
{
"type": "SYMBOL",
"name": "report_statement"
},
{
"type": "SYMBOL",
"name": "return_statement"
},
{
"type": "SYMBOL",
"name": "sequential_block_statement"
},
{
"type": "SYMBOL",
"name": "simple_waveform_assignment"
},
{
"type": "SYMBOL",
"name": "simple_force_assignment"
},
{
"type": "SYMBOL",
"name": "simple_release_assignment"
},
{
"type": "SYMBOL",
"name": "conditional_signal_assignment"
},
{
"type": "SYMBOL",
"name": "selected_waveform_assignment"
},
{
"type": "SYMBOL",
"name": "selected_force_assignment"
},
{
"type": "SYMBOL",
"name": "simple_variable_assignment"
},
{
"type": "SYMBOL",
"name": "selected_variable_assignment"
},
{
"type": "SYMBOL",
"name": "wait_statement"
}
]
},
"block_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BLOCK"
},
"named": false,
"value": "block"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "guard_condition"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "block_head"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "concurrent_block"
},
{
"type": "SYMBOL",
"name": "end_block"
},
{
"type": "STRING",
"value": ";"
}
]
},
"guard_condition": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ")"
}
]
},
"block_head": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "generic_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "port_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "port_map_aspect"
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_block_declarative_item"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "generic_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "port_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "port_map_aspect"
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_block_declarative_item"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "port_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "port_map_aspect"
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_block_declarative_item"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_block_declarative_item"
}
}
]
}
]
},
"end_block": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BLOCK"
},
"named": false,
"value": "block"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_label"
},
{
"type": "BLANK"
}
]
}
]
},
"sequential_block_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BLOCK"
},
"named": false,
"value": "block"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "sequential_block_head"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "sequential_block"
},
{
"type": "SYMBOL",
"name": "end_block"
},
{
"type": "STRING",
"value": ";"
}
]
},
"sequential_block_head": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_process_declarative_item"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_process_declarative_item"
}
}
]
}
]
},
"component_instantiation_statement": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "SYMBOL",
"name": "instantiated_unit"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "port_map_aspect"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "FIELD",
"name": "component",
"content": {
"type": "SYMBOL",
"name": "name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "port_map_aspect"
},
{
"type": "STRING",
"value": ";"
}
]
}
]
},
"instantiated_unit": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "COMPONENT"
},
"named": false,
"value": "component"
},
{
"type": "FIELD",
"name": "component",
"content": {
"type": "SYMBOL",
"name": "name"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ENTITY"
},
"named": false,
"value": "entity"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "library",
"content": {
"type": "SYMBOL",
"name": "library_namespace"
}
},
{
"type": "STRING",
"value": "."
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "entity",
"content": {
"type": "SYMBOL",
"name": "name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "architecture",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CONFIGURATION"
},
"named": false,
"value": "configuration"
},
{
"type": "FIELD",
"name": "configuration",
"content": {
"type": "SYMBOL",
"name": "name"
}
}
]
}
]
},
"process_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "POSTPONED"
},
"named": false,
"value": "postponed"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PROCESS"
},
"named": false,
"value": "process"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "sensitivity_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "process_head"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "sequential_block"
},
{
"type": "SYMBOL",
"name": "end_process"
},
{
"type": "STRING",
"value": ";"
}
]
},
"sensitivity_specification": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_process_sensitivity_list"
},
{
"type": "STRING",
"value": ")"
}
]
},
"process_head": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_process_declarative_item"
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_process_declarative_item"
}
}
]
}
]
},
"end_process": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "POSTPONED"
},
"named": false,
"value": "postponed"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PROCESS"
},
"named": false,
"value": "process"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_label"
},
{
"type": "BLANK"
}
]
}
]
},
"case_generate_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CASE"
},
"named": false,
"value": "case"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GENERATE"
},
"named": false,
"value": "generate"
},
{
"type": "SYMBOL",
"name": "case_generate_block"
},
{
"type": "SYMBOL",
"name": "end_generate"
},
{
"type": "STRING",
"value": ";"
}
]
},
"case_generate_block": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "case_generate_alternative"
}
}
]
},
"for_generate_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "SYMBOL",
"name": "for_loop"
},
{
"type": "SYMBOL",
"name": "generate_body"
},
{
"type": "SYMBOL",
"name": "end_generate"
},
{
"type": "STRING",
"value": ";"
}
]
},
"if_generate_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "SYMBOL",
"name": "if_generate"
},
{
"type": "SYMBOL",
"name": "end_generate"
},
{
"type": "STRING",
"value": ";"
}
]
},
"if_generate": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IF"
},
"named": false,
"value": "if"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "generate_body"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_elsif_else_generate"
},
{
"type": "BLANK"
}
]
}
]
},
"_elsif_else_generate": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "elsif_generate"
},
{
"type": "SYMBOL",
"name": "else_generate"
}
]
},
"elsif_generate": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ELSIF"
},
"named": false,
"value": "elsif"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "generate_body"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_elsif_else_generate"
},
{
"type": "BLANK"
}
]
}
]
},
"else_generate": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ELSE"
},
"named": false,
"value": "else"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "generate_body"
}
]
},
"end_generate": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GENERATE"
},
"named": false,
"value": "generate"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_label"
},
{
"type": "BLANK"
}
]
}
]
},
"assertion_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "assertion"
},
{
"type": "STRING",
"value": ";"
}
]
},
"concurrent_assertion_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "POSTPONED"
},
"named": false,
"value": "postponed"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "assertion"
},
{
"type": "STRING",
"value": ";"
}
]
},
"assertion": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ASSERT"
},
"named": false,
"value": "assert"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "report_expression"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "severity_expression"
},
{
"type": "BLANK"
}
]
}
]
},
"report_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "REPORT"
},
"named": false,
"value": "report"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"severity_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SEVERITY"
},
"named": false,
"value": "severity"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"case_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "case_expression"
},
{
"type": "SYMBOL",
"name": "case_body"
},
{
"type": "SYMBOL",
"name": "end_case"
},
{
"type": "STRING",
"value": ";"
}
]
},
"case_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CASE"
},
"named": false,
"value": "case"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "?"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"case_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "case_statement_alternative"
}
}
]
},
"end_case": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CASE"
},
"named": false,
"value": "case"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "?"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_label"
},
{
"type": "BLANK"
}
]
}
]
},
"exit_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "EXIT"
},
"named": false,
"value": "exit"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_label"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "when_expression"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"when_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "WHEN"
},
"named": false,
"value": "when"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"if_statement_block": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "if_statement"
},
{
"type": "SYMBOL",
"name": "end_if"
},
{
"type": "STRING",
"value": ";"
}
]
},
"if_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IF"
},
"named": false,
"value": "if"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "THEN"
},
"named": false,
"value": "then"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "if_statement_body"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_elsif_else_statement"
},
{
"type": "BLANK"
}
]
}
]
},
"_elsif_else_statement": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "elsif_statement"
},
{
"type": "SYMBOL",
"name": "else_statement"
}
]
},
"elsif_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ELSIF"
},
"named": false,
"value": "elsif"
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "THEN"
},
"named": false,
"value": "then"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "if_statement_body"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_elsif_else_statement"
},
{
"type": "BLANK"
}
]
}
]
},
"else_statement": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ELSE"
},
"named": false,
"value": "else"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "if_statement_body"
},
{
"type": "BLANK"
}
]
}
]
},
"if_statement_body": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_sequential_statement"
}
}
]
},
"end_if": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IF"
},
"named": false,
"value": "if"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_label"
},
{
"type": "BLANK"
}
]
}
]
},
"loop_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_iteration_scheme"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "loop_body"
},
{
"type": "SYMBOL",
"name": "end_loop"
},
{
"type": "STRING",
"value": ";"
}
]
},
"_iteration_scheme": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "while_loop"
},
{
"type": "SYMBOL",
"name": "for_loop"
}
]
},
"loop_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "LOOP"
},
"named": false,
"value": "loop"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_sequential_statement"
}
}
]
},
"end_loop": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "LOOP"
},
"named": false,
"value": "loop"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_label"
},
{
"type": "BLANK"
}
]
}
]
},
"next_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NEXT"
},
"named": false,
"value": "next"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_label"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "when_expression"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"null_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NULL"
},
"named": false,
"value": "null"
},
{
"type": "STRING",
"value": ";"
}
]
},
"procedure_call_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "STRING",
"value": ";"
}
]
},
"concurrent_procedure_call_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "POSTPONED"
},
"named": false,
"value": "postponed"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "STRING",
"value": ";"
}
]
},
"report_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "report_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "severity_expression"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"return_statement": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "RETURN"
},
"named": false,
"value": "return"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "when_expression"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "RETURN"
},
"named": false,
"value": "return"
},
{
"type": "SYMBOL",
"name": "conditional_or_unaffected_expression"
},
{
"type": "STRING",
"value": ";"
}
]
}
]
},
"signal_assignment": {
"type": "STRING",
"value": "<="
},
"simple_waveform_assignment": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_target"
},
{
"type": "SYMBOL",
"name": "signal_assignment"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "delay_mechanism"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "waveform"
},
{
"type": "STRING",
"value": ";"
}
]
},
"variable_assignment": {
"type": "STRING",
"value": ":="
},
"simple_variable_assignment": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_target"
},
{
"type": "SYMBOL",
"name": "variable_assignment"
},
{
"type": "SYMBOL",
"name": "conditional_or_unaffected_expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"concurrent_simple_signal_assignment": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "POSTPONED"
},
"named": false,
"value": "postponed"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_target"
},
{
"type": "SYMBOL",
"name": "signal_assignment"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GUARDED"
},
"named": false,
"value": "guarded"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "delay_mechanism"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "waveform"
},
{
"type": "STRING",
"value": ";"
}
]
},
"simple_force_assignment": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_target"
},
{
"type": "SYMBOL",
"name": "signal_assignment"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FORCE"
},
"named": false,
"value": "force"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "force_mode"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "conditional_or_unaffected_expression"
},
{
"type": "STRING",
"value": ";"
}
]
},
"simple_release_assignment": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_target"
},
{
"type": "SYMBOL",
"name": "signal_assignment"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "RELEASE"
},
"named": false,
"value": "release"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "force_mode"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"conditional_signal_assignment": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_target"
},
{
"type": "SYMBOL",
"name": "signal_assignment"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "delay_mechanism"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "conditional_waveforms"
},
{
"type": "STRING",
"value": ";"
}
]
},
"concurrent_conditional_signal_assignment": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "POSTPONED"
},
"named": false,
"value": "postponed"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_target"
},
{
"type": "SYMBOL",
"name": "signal_assignment"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GUARDED"
},
"named": false,
"value": "guarded"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "delay_mechanism"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "conditional_waveforms"
},
{
"type": "STRING",
"value": ";"
}
]
},
"selected_waveform_assignment": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "with_expression"
},
{
"type": "SYMBOL",
"name": "select_target"
},
{
"type": "SYMBOL",
"name": "signal_assignment"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "delay_mechanism"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "selected_waveforms"
},
{
"type": "STRING",
"value": ";"
}
]
},
"concurrent_selected_signal_assignment": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "POSTPONED"
},
"named": false,
"value": "postponed"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "with_expression"
},
{
"type": "SYMBOL",
"name": "select_target"
},
{
"type": "SYMBOL",
"name": "signal_assignment"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GUARDED"
},
"named": false,
"value": "guarded"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "delay_mechanism"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "selected_waveforms"
},
{
"type": "STRING",
"value": ";"
}
]
},
"selected_force_assignment": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "with_expression"
},
{
"type": "SYMBOL",
"name": "select_target"
},
{
"type": "SYMBOL",
"name": "signal_assignment"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FORCE"
},
"named": false,
"value": "force"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "force_mode"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "selected_expressions"
},
{
"type": "STRING",
"value": ";"
}
]
},
"selected_variable_assignment": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "with_expression"
},
{
"type": "SYMBOL",
"name": "select_target"
},
{
"type": "SYMBOL",
"name": "variable_assignment"
},
{
"type": "SYMBOL",
"name": "selected_expressions"
},
{
"type": "STRING",
"value": ";"
}
]
},
"with_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "WITH"
},
"named": false,
"value": "with"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"select_target": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SELECT"
},
"named": false,
"value": "select"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "?"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_target"
}
]
},
"wait_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "label_declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "WAIT"
},
"named": false,
"value": "wait"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "sensitivity_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "condition_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "timeout_clause"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"conditional_expression": {
"type": "PREC",
"value": 9,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "when_expression"
},
{
"type": "SYMBOL",
"name": "else_expression"
}
]
}
}
]
}
},
"else_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ELSE"
},
"named": false,
"value": "else"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"_expression": {
"type": "PREC",
"value": 10,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "condition_expression"
},
{
"type": "SYMBOL",
"name": "logical_expression"
},
{
"type": "SYMBOL",
"name": "relational_expression"
},
{
"type": "SYMBOL",
"name": "shift_expression"
},
{
"type": "SYMBOL",
"name": "simple_expression"
}
]
}
},
"condition_expression": {
"type": "PREC",
"value": 11,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "condition_conversion"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
"condition_conversion": {
"type": "STRING",
"value": "??"
},
"logical_expression": {
"type": "PREC_LEFT",
"value": 12,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "logical_operator"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
"relational_expression": {
"type": "PREC_LEFT",
"value": 13,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "relational_operator"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
"shift_expression": {
"type": "PREC_LEFT",
"value": 14,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "shift_operator"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
"simple_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC_LEFT",
"value": 15,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "adding_operator"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC",
"value": 16,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "sign"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": 17,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "multiplying_operator"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC_LEFT",
"value": 18,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "exponentiate"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC",
"value": 19,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "unary_operator"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
}
},
{
"type": "PREC",
"value": 20,
"content": {
"type": "SYMBOL",
"name": "_primary"
}
}
]
},
"unary_operator": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ABS"
},
"named": false,
"value": "abs"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NOT"
},
"named": false,
"value": "not"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "AND"
},
"named": false,
"value": "and"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OR"
},
"named": false,
"value": "or"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NAND"
},
"named": false,
"value": "nand"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NOR"
},
"named": false,
"value": "nor"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "XOR"
},
"named": false,
"value": "xor"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "XNOR"
},
"named": false,
"value": "xnor"
}
]
},
"logical_operator": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "AND"
},
"named": false,
"value": "and"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OR"
},
"named": false,
"value": "or"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NAND"
},
"named": false,
"value": "nand"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NOR"
},
"named": false,
"value": "nor"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "XOR"
},
"named": false,
"value": "xor"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "XNOR"
},
"named": false,
"value": "xnor"
}
]
},
"relational_operator": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "="
},
{
"type": "STRING",
"value": "/="
},
{
"type": "STRING",
"value": "<"
},
{
"type": "STRING",
"value": "<="
},
{
"type": "STRING",
"value": ">"
},
{
"type": "STRING",
"value": ">="
},
{
"type": "STRING",
"value": "?="
},
{
"type": "STRING",
"value": "?/="
},
{
"type": "STRING",
"value": "?<"
},
{
"type": "STRING",
"value": "?<="
},
{
"type": "STRING",
"value": "?>"
},
{
"type": "STRING",
"value": "?>="
}
]
},
"shift_operator": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SLL"
},
"named": false,
"value": "sll"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SRL"
},
"named": false,
"value": "srl"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SLA"
},
"named": false,
"value": "sla"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SRA"
},
"named": false,
"value": "sra"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ROL"
},
"named": false,
"value": "rol"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ROR"
},
"named": false,
"value": "ror"
}
]
},
"sign": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
}
]
},
"adding_operator": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "&"
}
]
},
"multiplying_operator": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "STRING",
"value": "/"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "MOD"
},
"named": false,
"value": "mod"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "REM"
},
"named": false,
"value": "rem"
}
]
},
"exponentiate": {
"type": "STRING",
"value": "**"
},
"_primary": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "SYMBOL",
"name": "_literal"
},
{
"type": "SYMBOL",
"name": "allocator"
},
{
"type": "SYMBOL",
"name": "parenthesis_expression"
}
]
},
"name": {
"type": "PREC_LEFT",
"value": 21,
"content": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_direct_name"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_name_selector"
}
}
]
}
]
}
},
"_direct_name": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "SYMBOL",
"name": "operator_symbol"
},
{
"type": "SYMBOL",
"name": "character_literal"
},
{
"type": "SYMBOL",
"name": "library_constant_std_logic"
},
{
"type": "SYMBOL",
"name": "_external_name"
}
]
}
},
"_label": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "label"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "library_constant"
},
"named": true,
"value": "label"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "library_function"
},
"named": true,
"value": "label"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "library_type"
},
"named": true,
"value": "label"
}
]
},
"_attribute": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "attribute_identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "library_constant"
},
"named": true,
"value": "attribute_identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "library_function"
},
"named": true,
"value": "attribute_identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "library_type"
},
"named": true,
"value": "attribute_identifier"
}
]
},
"_unit": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "unit"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "library_constant"
},
"named": true,
"value": "unit"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "library_function"
},
"named": true,
"value": "unit"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "library_type"
},
"named": true,
"value": "unit"
},
{
"type": "SYMBOL",
"name": "library_constant_unit"
}
]
},
"_identifier": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "library_constant"
},
{
"type": "SYMBOL",
"name": "library_function"
},
{
"type": "SYMBOL",
"name": "library_type"
}
]
},
"_name_selector": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "function_call"
},
{
"type": "SYMBOL",
"name": "parenthesis_group"
},
{
"type": "SYMBOL",
"name": "attribute"
},
{
"type": "SYMBOL",
"name": "signature"
},
{
"type": "SYMBOL",
"name": "selection"
}
]
},
"_external_name": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "external_constant_name"
},
{
"type": "SYMBOL",
"name": "external_signal_name"
},
{
"type": "SYMBOL",
"name": "external_variable_name"
}
]
},
"external_constant_name": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<<"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CONSTANT"
},
"named": false,
"value": "constant"
},
{
"type": "SYMBOL",
"name": "_external_pathname"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_interface_type_indication"
},
{
"type": "STRING",
"value": ">>"
}
]
},
"external_signal_name": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<<"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SIGNAL"
},
"named": false,
"value": "signal"
},
{
"type": "SYMBOL",
"name": "_external_pathname"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_interface_type_indication"
},
{
"type": "STRING",
"value": ">>"
}
]
},
"external_variable_name": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<<"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "VARIABLE"
},
"named": false,
"value": "variable"
},
{
"type": "SYMBOL",
"name": "_external_pathname"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_interface_type_indication"
},
{
"type": "STRING",
"value": ">>"
}
]
},
"_external_pathname": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "package_pathname"
},
{
"type": "SYMBOL",
"name": "absolute_pathname"
},
{
"type": "SYMBOL",
"name": "relative_pathname"
}
]
},
"package_pathname": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@"
},
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "STRING",
"value": "."
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "STRING",
"value": "."
}
]
}
},
{
"type": "SYMBOL",
"name": "_identifier"
}
]
},
"absolute_pathname": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "partial_pathname"
}
]
},
"relative_pathname": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "^"
},
{
"type": "STRING",
"value": "."
}
]
}
},
{
"type": "SYMBOL",
"name": "partial_pathname"
}
]
},
"partial_pathname": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "pathname_element"
},
{
"type": "STRING",
"value": "."
}
]
}
},
{
"type": "SYMBOL",
"name": "_identifier"
}
]
},
"pathname_element": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"function_call": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PARAMETER"
},
"named": false,
"value": "parameter"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "MAP"
},
"named": false,
"value": "map"
},
{
"type": "SYMBOL",
"name": "parenthesis_group"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PARAMETER"
},
"named": false,
"value": "parameter"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "MAP"
},
"named": false,
"value": "map"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "parenthesis_group"
}
]
},
{
"type": "BLANK"
}
]
}
]
}
]
}
},
"parenthesis_group": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "association_or_range_list"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"association_or_range_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_association_or_range"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_association_or_range"
}
]
}
}
]
},
"_association_or_range": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "association_element"
},
{
"type": "SYMBOL",
"name": "_range"
}
]
},
"association_element": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_actual_part"
},
{
"type": "PREC_LEFT",
"value": 6,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "SYMBOL",
"name": "_actual_part"
}
]
}
}
]
},
"_actual_part": {
"type": "PREC",
"value": 21,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "INERTIAL"
},
"named": false,
"value": "inertial"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "conditional_expression"
}
]
},
{
"type": "SYMBOL",
"name": "OPEN"
}
]
}
},
"attribute": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "'"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_attribute_designator"
},
{
"type": "SYMBOL",
"name": "parenthesis_expression"
}
]
}
]
},
"_attribute_designator": {
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "_attribute"
}
},
{
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "attribute_function"
}
},
{
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "attribute_impure_function"
}
},
{
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "attribute_mode_view"
}
},
{
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "attribute_pure_function"
}
},
{
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "attribute_range"
}
},
{
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "attribute_signal"
}
},
{
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "attribute_subtype"
}
},
{
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "attribute_type"
}
},
{
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "attribute_value"
}
},
{
"type": "FIELD",
"name": "attribute",
"content": {
"type": "SYMBOL",
"name": "library_attribute"
}
}
]
},
"signature": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "name"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "name"
}
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "RETURN"
},
"named": false,
"value": "return"
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "name"
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "]"
}
]
},
"selection": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "_suffix"
}
]
},
"_suffix": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "character_literal"
},
{
"type": "SYMBOL",
"name": "operator_symbol"
},
{
"type": "SYMBOL",
"name": "ALL"
}
]
},
"_literal": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_abstract_literal"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "unit",
"content": {
"type": "SYMBOL",
"name": "_unit"
}
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SYMBOL",
"name": "bit_string_literal"
},
{
"type": "SYMBOL",
"name": "string_literal"
},
{
"type": "SYMBOL",
"name": "string_literal_std_logic"
},
{
"type": "SYMBOL",
"name": "library_constant_boolean"
},
{
"type": "SYMBOL",
"name": "library_constant_character"
},
{
"type": "SYMBOL",
"name": "library_constant_debug"
},
{
"type": "SYMBOL",
"name": "library_constant_env"
},
{
"type": "SYMBOL",
"name": "library_constant_standard"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NULL"
},
"named": false,
"value": "null"
}
]
},
"bit_string_literal": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "bit_string_length"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "bit_string_base"
},
{
"type": "SYMBOL",
"name": "bit_string_value"
}
]
},
"_abstract_literal": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "decimal_integer"
},
{
"type": "SYMBOL",
"name": "decimal_float"
},
{
"type": "SYMBOL",
"name": "based_literal"
}
]
},
"based_literal": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "based_base"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "based_integer"
},
{
"type": "SYMBOL",
"name": "based_float"
}
]
}
]
},
"allocator": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NEW"
},
"named": false,
"value": "new"
},
{
"type": "SYMBOL",
"name": "name"
}
]
},
"parenthesis_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "element_association_list"
},
{
"type": "STRING",
"value": ")"
}
]
},
"element_association_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "element_association"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "element_association"
}
]
}
}
]
},
"element_association": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "conditional_expression"
},
{
"type": "PREC",
"value": 6,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_element"
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "SYMBOL",
"name": "conditional_expression"
}
]
}
}
]
},
"_element": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "simple_expression"
},
{
"type": "SYMBOL",
"name": "_range"
},
{
"type": "SYMBOL",
"name": "OTHERS"
},
{
"type": "SYMBOL",
"name": "choices"
}
]
},
"choices": {
"type": "PREC_LEFT",
"value": 7,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_element"
},
{
"type": "STRING",
"value": "|"
},
{
"type": "SYMBOL",
"name": "_element"
}
]
}
},
"_range": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "simple_range"
}
]
},
"simple_range": {
"type": "PREC_LEFT",
"value": 8,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "simple_expression"
},
{
"type": "SYMBOL",
"name": "_direction"
},
{
"type": "SYMBOL",
"name": "simple_expression"
}
]
}
},
"_direction": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "TO"
},
"named": false,
"value": "to"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "DOWNTO"
},
"named": false,
"value": "downto"
}
]
},
"_tool_directive": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_grave_accent"
},
{
"type": "SYMBOL",
"name": "_directive"
},
{
"type": "SYMBOL",
"name": "_directive_newline"
}
]
},
"_directive": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "user_directive"
},
{
"type": "SYMBOL",
"name": "protect_directive"
},
{
"type": "SYMBOL",
"name": "warning_directive"
},
{
"type": "SYMBOL",
"name": "error_directive"
},
{
"type": "SYMBOL",
"name": "if_conditional_analysis"
},
{
"type": "SYMBOL",
"name": "elsif_conditional_analysis"
},
{
"type": "SYMBOL",
"name": "else_conditional_analysis"
},
{
"type": "SYMBOL",
"name": "end_conditional_analysis"
}
]
},
"user_directive": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "directive_body"
}
}
]
},
"protect_directive": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "directive_protect"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "directive_body"
}
}
]
},
"warning_directive": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "directive_warning"
},
{
"type": "SYMBOL",
"name": "string_literal"
}
]
},
"error_directive": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "directive_error"
},
{
"type": "SYMBOL",
"name": "string_literal"
}
]
},
"if_conditional_analysis": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IF"
},
"named": false,
"value": "if"
},
{
"type": "SYMBOL",
"name": "conditional_analysis_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "THEN"
},
"named": false,
"value": "then"
}
]
},
"elsif_conditional_analysis": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ELSIF"
},
"named": false,
"value": "elsif"
},
{
"type": "SYMBOL",
"name": "conditional_analysis_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "THEN"
},
"named": false,
"value": "then"
}
]
},
"else_conditional_analysis": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ELSE"
},
"named": false,
"value": "else"
}
]
},
"end_conditional_analysis": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IF"
},
"named": false,
"value": "if"
},
{
"type": "BLANK"
}
]
}
]
},
"conditional_analysis_expression": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "conditional_analysis_relation"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "logical_operator"
},
{
"type": "SYMBOL",
"name": "conditional_analysis_relation"
}
]
}
}
]
},
"conditional_analysis_relation": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NOT"
},
"named": false,
"value": "not"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "conditional_analysis_expression"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_conditional_analysis_identifier"
},
{
"type": "SYMBOL",
"name": "_conditional_analysis_operator"
},
{
"type": "SYMBOL",
"name": "string_literal"
}
]
}
]
},
"_conditional_analysis_operator": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "="
},
{
"type": "STRING",
"value": "/="
},
{
"type": "STRING",
"value": "<"
},
{
"type": "STRING",
"value": "<="
},
{
"type": "STRING",
"value": ">"
},
{
"type": "STRING",
"value": ">="
}
]
},
"_conditional_analysis_identifier": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "directive_constant_builtin"
},
{
"type": "SYMBOL",
"name": "_identifier"
}
]
},
"_configuration_declarative_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "use_clause"
},
{
"type": "SYMBOL",
"name": "attribute_specification"
},
{
"type": "SYMBOL",
"name": "group_declaration"
}
]
},
"_configuration_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "block_configuration"
},
{
"type": "SYMBOL",
"name": "component_configuration"
}
]
},
"block_configuration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FOR"
},
"named": false,
"value": "for"
},
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "use_clause"
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_configuration_item"
}
},
{
"type": "SYMBOL",
"name": "end_for"
},
{
"type": "STRING",
"value": ";"
}
]
},
"component_configuration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FOR"
},
"named": false,
"value": "for"
},
{
"type": "SYMBOL",
"name": "component_specification"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "binding_indication"
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "verification_unit_binding_indication"
},
{
"type": "STRING",
"value": ";"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "block_configuration"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "end_for"
},
{
"type": "STRING",
"value": ";"
}
]
},
"end_for": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FOR"
},
"named": false,
"value": "for"
}
]
},
"generic_interface_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_generic_interface_declaration"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "SYMBOL",
"name": "_generic_interface_declaration"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "BLANK"
}
]
}
]
},
"_generic_interface_declaration": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "generic_interface_declaration"
},
"named": true,
"value": "interface_declaration"
},
{
"type": "SYMBOL",
"name": "interface_constant_declaration"
},
{
"type": "SYMBOL",
"name": "interface_signal_declaration"
},
{
"type": "SYMBOL",
"name": "interface_variable_declaration"
},
{
"type": "SYMBOL",
"name": "interface_file_declaration"
},
{
"type": "SYMBOL",
"name": "interface_type_declaration"
},
{
"type": "SYMBOL",
"name": "interface_subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "interface_package_declaration"
}
]
},
"generic_interface_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "generic_identifier_list"
},
"named": true,
"value": "identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_mode_indication"
}
]
},
"interface_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_interface_declaration"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "SYMBOL",
"name": "_interface_declaration"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "BLANK"
}
]
}
]
},
"_interface_declaration": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "interface_declaration"
},
{
"type": "SYMBOL",
"name": "interface_constant_declaration"
},
{
"type": "SYMBOL",
"name": "interface_signal_declaration"
},
{
"type": "SYMBOL",
"name": "interface_variable_declaration"
},
{
"type": "SYMBOL",
"name": "interface_file_declaration"
},
{
"type": "SYMBOL",
"name": "interface_type_declaration"
},
{
"type": "SYMBOL",
"name": "interface_subprogram_declaration"
},
{
"type": "SYMBOL",
"name": "interface_package_declaration"
}
]
},
"interface_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_mode_indication"
}
]
},
"interface_constant_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CONSTANT"
},
"named": false,
"value": "constant"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "constant_identifier_list"
},
"named": true,
"value": "identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_mode_indication"
}
]
},
"interface_signal_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SIGNAL"
},
"named": false,
"value": "signal"
},
{
"type": "SYMBOL",
"name": "identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_mode_indication"
}
]
},
"interface_variable_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "VARIABLE"
},
"named": false,
"value": "variable"
},
{
"type": "SYMBOL",
"name": "identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_mode_indication"
}
]
},
"interface_subprogram_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_interface_subprogram_specification"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "SYMBOL",
"name": "_interface_subprogram_default"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"_interface_subprogram_specification": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "interface_procedure_specification"
},
{
"type": "SYMBOL",
"name": "interface_function_specification"
}
]
},
"procedure_specification": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PROCEDURE"
},
"named": false,
"value": "procedure"
},
{
"type": "FIELD",
"name": "procedure",
"content": {
"type": "SYMBOL",
"name": "_designator"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_header"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "parameter_list_specification"
},
{
"type": "BLANK"
}
]
}
]
}
},
"interface_procedure_specification": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PROCEDURE"
},
"named": false,
"value": "procedure"
},
{
"type": "FIELD",
"name": "procedure",
"content": {
"type": "SYMBOL",
"name": "_designator"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "parameter_list_specification"
},
{
"type": "BLANK"
}
]
}
]
},
"function_specification": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PURE"
},
"named": false,
"value": "pure"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IMPURE"
},
"named": false,
"value": "impure"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FUNCTION"
},
"named": false,
"value": "function"
},
{
"type": "FIELD",
"name": "function",
"content": {
"type": "SYMBOL",
"name": "_designator"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "subprogram_header"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "parameter_list_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "RETURN"
},
"named": false,
"value": "return"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OF"
},
"named": false,
"value": "of"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "name"
}
}
]
},
"interface_function_specification": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PURE"
},
"named": false,
"value": "pure"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IMPURE"
},
"named": false,
"value": "impure"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FUNCTION"
},
"named": false,
"value": "function"
},
{
"type": "FIELD",
"name": "function",
"content": {
"type": "SYMBOL",
"name": "_designator"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "parameter_list_specification"
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "RETURN"
},
"named": false,
"value": "return"
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "name"
}
}
]
},
"_interface_package_generic_map_aspect": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_any"
},
{
"type": "SYMBOL",
"name": "generic_map_default"
},
{
"type": "SYMBOL",
"name": "generic_map_aspect"
}
]
},
"generic_map_any": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GENERIC"
},
"named": false,
"value": "generic"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "MAP"
},
"named": false,
"value": "map"
},
{
"type": "STRING",
"value": "("
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "box"
},
"named": false,
"value": "<>"
},
{
"type": "STRING",
"value": ")"
}
]
},
"generic_map_default": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GENERIC"
},
"named": false,
"value": "generic"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "MAP"
},
"named": false,
"value": "map"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "DEFAULT"
},
{
"type": "STRING",
"value": ")"
}
]
},
"generic_map_aspect": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GENERIC"
},
"named": false,
"value": "generic"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "MAP"
},
"named": false,
"value": "map"
},
{
"type": "SYMBOL",
"name": "association_list"
}
]
},
"port_map_aspect": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PORT"
},
"named": false,
"value": "port"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "MAP"
},
"named": false,
"value": "map"
},
{
"type": "SYMBOL",
"name": "association_list"
}
]
},
"association_list": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "association_element"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "association_element"
}
]
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"_interface_subprogram_default": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "box"
},
"named": false,
"value": "<>"
}
]
},
"_designator": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "SYMBOL",
"name": "operator_symbol"
}
]
},
"generic_identifier_list": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "generic",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "generic",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
}
]
}
}
]
},
"constant_identifier_list": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "constant",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "FIELD",
"name": "constant",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
}
]
}
}
]
},
"identifier_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_identifier"
}
]
}
}
]
},
"_mode_indication": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "simple_mode_indication"
},
{
"type": "SYMBOL",
"name": "_mode_view_indication"
}
]
},
"simple_mode_indication": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "mode"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_interface_type_indication"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BUS"
},
"named": false,
"value": "bus"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "initialiser"
},
{
"type": "BLANK"
}
]
}
]
},
"_mode_view_indication": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "record_mode_view_indication"
},
{
"type": "SYMBOL",
"name": "array_mode_view_indication"
}
]
},
"record_mode_view_indication": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "VIEW"
},
"named": false,
"value": "view"
},
{
"type": "FIELD",
"name": "view",
"content": {
"type": "SYMBOL",
"name": "name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OF"
},
"named": false,
"value": "of"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"array_mode_view_indication": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "VIEW"
},
"named": false,
"value": "view"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "view",
"content": {
"type": "SYMBOL",
"name": "name"
}
},
{
"type": "STRING",
"value": ")"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OF"
},
"named": false,
"value": "of"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"mode_view_element_definition": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "record_element_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_element_mode_indication"
},
{
"type": "STRING",
"value": ";"
}
]
},
"record_element_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_identifier"
}
]
}
}
]
},
"_element_mode_indication": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "mode"
},
{
"type": "SYMBOL",
"name": "_element_mode_view_indication"
}
]
},
"_element_mode_view_indication": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "element_record_mode_view_indication"
},
{
"type": "SYMBOL",
"name": "element_array_mode_view_indication"
}
]
},
"element_record_mode_view_indication": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "VIEW"
},
"named": false,
"value": "view"
},
{
"type": "FIELD",
"name": "view",
"content": {
"type": "SYMBOL",
"name": "name"
}
}
]
},
"element_array_mode_view_indication": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "VIEW"
},
"named": false,
"value": "view"
},
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "view",
"content": {
"type": "SYMBOL",
"name": "name"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"mode": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IN"
},
"named": false,
"value": "in"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OUT"
},
"named": false,
"value": "out"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "INOUT"
},
"named": false,
"value": "inout"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BUFFER"
},
"named": false,
"value": "buffer"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "LINKAGE"
},
"named": false,
"value": "linkage"
}
]
},
"range_constraint": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "RANGE"
},
"named": false,
"value": "range"
},
{
"type": "SYMBOL",
"name": "_range"
}
]
},
"group_constituent_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "name"
}
]
}
}
]
},
"entity_class_entry_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "entity_class_entry"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "entity_class_entry"
}
]
}
}
]
},
"entity_class_entry": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_entity_class"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "box"
},
"named": false,
"value": "<>"
},
{
"type": "BLANK"
}
]
}
]
},
"guarded_signal_specification": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "signal_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "type",
"content": {
"type": "SYMBOL",
"name": "name"
}
}
]
},
"signal_list": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "name"
}
]
}
}
]
},
{
"type": "SYMBOL",
"name": "OTHERS"
},
{
"type": "SYMBOL",
"name": "ALL"
}
]
},
"entity_specification": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "entity_name_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_entity_class"
}
]
},
"_entity_class": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ENTITY"
},
"named": false,
"value": "entity"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ARCHITECTURE"
},
"named": false,
"value": "architecture"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CONFIGURATION"
},
"named": false,
"value": "configuration"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PROCEDURE"
},
"named": false,
"value": "procedure"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FUNCTION"
},
"named": false,
"value": "function"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PACKAGE"
},
"named": false,
"value": "package"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "TYPE"
},
"named": false,
"value": "type"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SUBTYPE"
},
"named": false,
"value": "subtype"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CONSTANT"
},
"named": false,
"value": "constant"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SIGNAL"
},
"named": false,
"value": "signal"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "VARIABLE"
},
"named": false,
"value": "variable"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "COMPONENT"
},
"named": false,
"value": "component"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "LABEL"
},
"named": false,
"value": "label"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "LITERAL"
},
"named": false,
"value": "literal"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "UNITS"
},
"named": false,
"value": "units"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GROUP"
},
"named": false,
"value": "group"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FILE"
},
"named": false,
"value": "file"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PROPERTY"
},
"named": false,
"value": "property"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "SEQUENCE"
},
"named": false,
"value": "sequence"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "VIEW"
},
"named": false,
"value": "view"
}
]
},
"entity_name_list": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "entity_designator"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "entity_designator"
}
]
}
}
]
},
{
"type": "SYMBOL",
"name": "OTHERS"
},
{
"type": "SYMBOL",
"name": "ALL"
}
]
},
"entity_designator": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_entity_tag"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "signature"
},
{
"type": "BLANK"
}
]
}
]
},
"_entity_tag": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "SYMBOL",
"name": "character_literal"
},
{
"type": "SYMBOL",
"name": "operator_symbol"
}
]
},
"_alias_designator": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "SYMBOL",
"name": "character_literal"
},
{
"type": "SYMBOL",
"name": "operator_symbol"
}
]
},
"file_open_information": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "OPEN"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IS"
},
"named": false,
"value": "is"
},
{
"type": "SYMBOL",
"name": "file_logical_name"
}
]
},
"file_logical_name": {
"type": "SYMBOL",
"name": "_expression"
},
"package_header": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "generic_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"generic_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GENERIC"
},
"named": false,
"value": "generic"
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "generic_interface_list"
},
"named": true,
"value": "interface_list"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "STRING",
"value": ";"
}
]
},
"subprogram_header": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "GENERIC"
},
"named": false,
"value": "generic"
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "generic_interface_list"
},
"named": true,
"value": "interface_list"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "BLANK"
}
]
}
]
},
"_subprogram_specification": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "procedure_specification"
},
{
"type": "SYMBOL",
"name": "function_specification"
}
]
},
"parameter_list_specification": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PARAMETER"
},
"named": false,
"value": "parameter"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "interface_list"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"_type_definition": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "enumeration_type_definition"
},
{
"type": "SYMBOL",
"name": "range_constraint"
},
{
"type": "SYMBOL",
"name": "physical_type_definition"
},
{
"type": "SYMBOL",
"name": "array_type_definition"
},
{
"type": "SYMBOL",
"name": "record_type_definition"
},
{
"type": "SYMBOL",
"name": "access_type_definition"
},
{
"type": "SYMBOL",
"name": "file_type_definition"
},
{
"type": "SYMBOL",
"name": "protected_type_declaration"
},
{
"type": "SYMBOL",
"name": "protected_type_body"
},
{
"type": "SYMBOL",
"name": "protected_type_instantiation_definition"
}
]
},
"protected_type_instantiation_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "NEW"
},
"named": false,
"value": "new"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "BLANK"
}
]
}
]
},
"protected_type_declaration": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PROTECTED"
},
"named": false,
"value": "protected"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "protected_type_header"
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_protected_type_declarative_item"
}
},
{
"type": "SYMBOL",
"name": "protected_type_declaration_end"
}
]
},
"protected_type_declaration_end": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PROTECTED"
},
"named": false,
"value": "protected"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "BLANK"
}
]
}
]
},
"protected_type_header": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "generic_clause"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"protected_type_body": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PROTECTED"
},
"named": false,
"value": "protected"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BODY"
},
"named": false,
"value": "body"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_protected_type_body_declarative_item"
}
},
{
"type": "SYMBOL",
"name": "protected_type_body_end"
}
]
},
"protected_type_body_end": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "PROTECTED"
},
"named": false,
"value": "protected"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "BODY"
},
"named": false,
"value": "body"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "BLANK"
}
]
}
]
},
"while_loop": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "WHILE"
},
"named": false,
"value": "while"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"for_loop": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FOR"
},
"named": false,
"value": "for"
},
{
"type": "SYMBOL",
"name": "parameter_specification"
}
]
},
"parameter_specification": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IN"
},
"named": false,
"value": "in"
},
{
"type": "SYMBOL",
"name": "_range"
}
]
},
"case_statement_alternative": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "when_element"
},
{
"type": "STRING",
"value": "=>"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_sequential_statement"
}
}
]
},
"selected_waveforms": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "waveform"
},
{
"type": "SYMBOL",
"name": "when_element"
},
{
"type": "STRING",
"value": ","
}
]
}
},
{
"type": "SYMBOL",
"name": "waveform"
},
{
"type": "SYMBOL",
"name": "when_element"
}
]
},
"waveform": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "waveform_element"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "waveform_element"
}
]
}
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "UNAFFECTED"
},
"named": false,
"value": "unaffected"
}
]
},
"waveform_element": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "AFTER"
},
"named": false,
"value": "after"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"force_mode": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "IN"
},
"named": false,
"value": "in"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "OUT"
},
"named": false,
"value": "out"
}
]
},
"selected_expressions": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "when_element"
},
{
"type": "STRING",
"value": ","
}
]
}
},
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "SYMBOL",
"name": "when_element"
}
]
},
"when_element": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "WHEN"
},
"named": false,
"value": "when"
},
{
"type": "SYMBOL",
"name": "_element"
}
]
},
"conditional_waveforms": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "waveform"
},
{
"type": "SYMBOL",
"name": "when_expression"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "else_waveform"
},
{
"type": "SYMBOL",
"name": "when_expression"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "else_waveform"
},
{
"type": "BLANK"
}
]
}
]
},
"else_waveform": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ELSE"
},
"named": false,
"value": "else"
},
{
"type": "SYMBOL",
"name": "waveform"
}
]
},
"delay_mechanism": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "TRANSPORT"
},
"named": false,
"value": "transport"
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "REJECT"
},
"named": false,
"value": "reject"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "INERTIAL"
},
"named": false,
"value": "inertial"
}
]
}
]
},
"_target": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "SYMBOL",
"name": "aggregate"
}
]
},
"aggregate": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "element_association"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "element_association"
}
]
}
]
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"conditional_or_unaffected_expression": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_expression_or_unaffected"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "when_expression"
},
{
"type": "SYMBOL",
"name": "else_expression_or_unaffected"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "when_expression"
},
{
"type": "BLANK"
}
]
}
]
},
"else_expression_or_unaffected": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ELSE"
},
"named": false,
"value": "else"
},
{
"type": "SYMBOL",
"name": "_expression_or_unaffected"
}
]
},
"_expression_or_unaffected": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "UNAFFECTED"
},
"named": false,
"value": "unaffected"
}
]
},
"label_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_label"
},
{
"type": "STRING",
"value": ":"
}
]
},
"sensitivity_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ON"
},
"named": false,
"value": "on"
},
{
"type": "SYMBOL",
"name": "sensitivity_list"
}
]
},
"sensitivity_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "name"
}
]
}
}
]
},
"condition_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "UNTIL"
},
"named": false,
"value": "until"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"timeout_clause": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FOR"
},
"named": false,
"value": "for"
},
{
"type": "SYMBOL",
"name": "_expression"
}
]
},
"physical_type_definition": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "range_constraint"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "UNITS"
},
"named": false,
"value": "units"
},
{
"type": "SYMBOL",
"name": "primary_unit_declaration"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "secondary_unit_declaration"
}
},
{
"type": "SYMBOL",
"name": "end_units"
}
]
},
"primary_unit_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "STRING",
"value": ";"
}
]
},
"secondary_unit_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "STRING",
"value": "="
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_abstract_literal"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "SYMBOL",
"name": "library_constant_unit"
}
]
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"end_units": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "UNITS"
},
"named": false,
"value": "units"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "BLANK"
}
]
}
]
},
"enumeration_type_definition": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "enumeration_literal"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "enumeration_literal"
}
]
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"enumeration_literal": {
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "constant",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "SYMBOL",
"name": "character_literal"
}
]
},
"record_type_definition": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "RECORD"
},
"named": false,
"value": "record"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "element_declaration"
}
},
{
"type": "SYMBOL",
"name": "end_record"
}
]
},
"end_record": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "END"
},
"named": false,
"value": "end"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "RECORD"
},
"named": false,
"value": "record"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_identifier"
},
{
"type": "BLANK"
}
]
}
]
},
"element_declaration": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "identifier_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "subtype_indication"
},
{
"type": "STRING",
"value": ";"
}
]
},
"_process_sensitivity_list": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "ALL"
},
{
"type": "SYMBOL",
"name": "sensitivity_list"
}
]
},
"configuration_specification": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FOR"
},
"named": false,
"value": "for"
},
{
"type": "SYMBOL",
"name": "component_specification"
},
{
"type": "SYMBOL",
"name": "binding_indication"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "end_for"
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "FOR"
},
"named": false,
"value": "for"
},
{
"type": "SYMBOL",
"name": "component_specification"
},
{
"type": "SYMBOL",
"name": "binding_indication"
},
{
"type": "SYMBOL",
"name": "verification_unit_binding_indication"
},
{
"type": "STRING",
"value": ";"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "verification_unit_binding_indication"
},
{
"type": "STRING",
"value": ";"
}
]
}
},
{
"type": "SYMBOL",
"name": "end_for"
},
{
"type": "STRING",
"value": ";"
}
]
}
]
}
},
"verification_unit_binding_indication": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "USE"
},
"named": false,
"value": "use"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "VUNIT"
},
"named": false,
"value": "vunit"
},
{
"type": "SYMBOL",
"name": "verification_unit_list"
}
]
},
"verification_unit_list": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "name"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "name"
}
]
}
}
]
},
"component_specification": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "instantiation_list"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "name"
}
]
},
"instantiation_list": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_label"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_label"
}
]
}
}
]
},
{
"type": "SYMBOL",
"name": "OTHERS"
},
{
"type": "SYMBOL",
"name": "ALL"
}
]
},
"binding_indication": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "USE"
},
"named": false,
"value": "use"
},
{
"type": "SYMBOL",
"name": "entity_aspect"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "generic_map_aspect"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "port_map_aspect"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"entity_aspect": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "ENTITY"
},
"named": false,
"value": "entity"
},
{
"type": "FIELD",
"name": "entity",
"content": {
"type": "SYMBOL",
"name": "name"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "FIELD",
"name": "architecture",
"content": {
"type": "SYMBOL",
"name": "_identifier"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "CONFIGURATION"
},
"named": false,
"value": "configuration"
},
{
"type": "FIELD",
"name": "configuration",
"content": {
"type": "SYMBOL",
"name": "name"
}
}
]
},
{
"type": "SYMBOL",
"name": "OPEN"
}
]
},
"line_comment": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_line_comment_start"
},
{
"type": "SYMBOL",
"name": "comment_content"
}
]
},
"block_comment": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_block_comment_start"
},
{
"type": "SYMBOL",
"name": "comment_content"
},
{
"type": "SYMBOL",
"name": "_block_comment_end"
}
]
}
},
"extras": [
{
"type": "SYMBOL",
"name": "line_comment"
},
{
"type": "SYMBOL",
"name": "block_comment"
},
{
"type": "SYMBOL",
"name": "_tool_directive"
},
{
"type": "PATTERN",
"value": "\\s+"
}
],
"conflicts": [
[
"generate_body"
],
[
"case_generate_body"
]
],
"precedences": [],
"externals": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "ABS"
},
{
"type": "SYMBOL",
"name": "ACCESS"
},
{
"type": "SYMBOL",
"name": "AFTER"
},
{
"type": "SYMBOL",
"name": "ALIAS"
},
{
"type": "SYMBOL",
"name": "ALL"
},
{
"type": "SYMBOL",
"name": "AND"
},
{
"type": "SYMBOL",
"name": "ARCHITECTURE"
},
{
"type": "SYMBOL",
"name": "ARRAY"
},
{
"type": "SYMBOL",
"name": "ASSERT"
},
{
"type": "SYMBOL",
"name": "ASSUME"
},
{
"type": "SYMBOL",
"name": "ATTRIBUTE"
},
{
"type": "SYMBOL",
"name": "BEGIN"
},
{
"type": "SYMBOL",
"name": "BLOCK"
},
{
"type": "SYMBOL",
"name": "BODY"
},
{
"type": "SYMBOL",
"name": "BUFFER"
},
{
"type": "SYMBOL",
"name": "BUS"
},
{
"type": "SYMBOL",
"name": "CASE"
},
{
"type": "SYMBOL",
"name": "COMPONENT"
},
{
"type": "SYMBOL",
"name": "CONFIGURATION"
},
{
"type": "SYMBOL",
"name": "CONSTANT"
},
{
"type": "SYMBOL",
"name": "CONTEXT"
},
{
"type": "SYMBOL",
"name": "COVER"
},
{
"type": "SYMBOL",
"name": "DEFAULT"
},
{
"type": "SYMBOL",
"name": "DISCONNECT"
},
{
"type": "SYMBOL",
"name": "DOWNTO"
},
{
"type": "SYMBOL",
"name": "ELSE"
},
{
"type": "SYMBOL",
"name": "ELSIF"
},
{
"type": "SYMBOL",
"name": "END"
},
{
"type": "SYMBOL",
"name": "ENTITY"
},
{
"type": "SYMBOL",
"name": "EXIT"
},
{
"type": "SYMBOL",
"name": "FAIRNESS"
},
{
"type": "SYMBOL",
"name": "FILE"
},
{
"type": "SYMBOL",
"name": "FOR"
},
{
"type": "SYMBOL",
"name": "FORCE"
},
{
"type": "SYMBOL",
"name": "FUNCTION"
},
{
"type": "SYMBOL",
"name": "GENERATE"
},
{
"type": "SYMBOL",
"name": "GENERIC"
},
{
"type": "SYMBOL",
"name": "GROUP"
},
{
"type": "SYMBOL",
"name": "GUARDED"
},
{
"type": "SYMBOL",
"name": "IF"
},
{
"type": "SYMBOL",
"name": "IMPURE"
},
{
"type": "SYMBOL",
"name": "IN"
},
{
"type": "SYMBOL",
"name": "INERTIAL"
},
{
"type": "SYMBOL",
"name": "INOUT"
},
{
"type": "SYMBOL",
"name": "IS"
},
{
"type": "SYMBOL",
"name": "LABEL"
},
{
"type": "SYMBOL",
"name": "LIBRARY"
},
{
"type": "SYMBOL",
"name": "LINKAGE"
},
{
"type": "SYMBOL",
"name": "LITERAL"
},
{
"type": "SYMBOL",
"name": "LOOP"
},
{
"type": "SYMBOL",
"name": "MAP"
},
{
"type": "SYMBOL",
"name": "MOD"
},
{
"type": "SYMBOL",
"name": "NAND"
},
{
"type": "SYMBOL",
"name": "NEW"
},
{
"type": "SYMBOL",
"name": "NEXT"
},
{
"type": "SYMBOL",
"name": "NOR"
},
{
"type": "SYMBOL",
"name": "NOT"
},
{
"type": "SYMBOL",
"name": "NULL"
},
{
"type": "SYMBOL",
"name": "OF"
},
{
"type": "SYMBOL",
"name": "ON"
},
{
"type": "SYMBOL",
"name": "OPEN"
},
{
"type": "SYMBOL",
"name": "OR"
},
{
"type": "SYMBOL",
"name": "OTHERS"
},
{
"type": "SYMBOL",
"name": "OUT"
},
{
"type": "SYMBOL",
"name": "PACKAGE"
},
{
"type": "SYMBOL",
"name": "PARAMETER"
},
{
"type": "SYMBOL",
"name": "PORT"
},
{
"type": "SYMBOL",
"name": "POSTPONED"
},
{
"type": "SYMBOL",
"name": "PROCEDURE"
},
{
"type": "SYMBOL",
"name": "PROCESS"
},
{
"type": "SYMBOL",
"name": "PROPERTY"
},
{
"type": "SYMBOL",
"name": "PROTECTED"
},
{
"type": "SYMBOL",
"name": "PRIVATE"
},
{
"type": "SYMBOL",
"name": "PURE"
},
{
"type": "SYMBOL",
"name": "RANGE"
},
{
"type": "SYMBOL",
"name": "RECORD"
},
{
"type": "SYMBOL",
"name": "REGISTER"
},
{
"type": "SYMBOL",
"name": "REJECT"
},
{
"type": "SYMBOL",
"name": "RELEASE"
},
{
"type": "SYMBOL",
"name": "REM"
},
{
"type": "SYMBOL",
"name": "REPORT"
},
{
"type": "SYMBOL",
"name": "RESTRICT"
},
{
"type": "SYMBOL",
"name": "RETURN"
},
{
"type": "SYMBOL",
"name": "ROL"
},
{
"type": "SYMBOL",
"name": "ROR"
},
{
"type": "SYMBOL",
"name": "SELECT"
},
{
"type": "SYMBOL",
"name": "SEQUENCE"
},
{
"type": "SYMBOL",
"name": "SEVERITY"
},
{
"type": "SYMBOL",
"name": "SIGNAL"
},
{
"type": "SYMBOL",
"name": "SHARED"
},
{
"type": "SYMBOL",
"name": "SLA"
},
{
"type": "SYMBOL",
"name": "SLL"
},
{
"type": "SYMBOL",
"name": "SRA"
},
{
"type": "SYMBOL",
"name": "SRL"
},
{
"type": "SYMBOL",
"name": "STRONG"
},
{
"type": "SYMBOL",
"name": "SUBTYPE"
},
{
"type": "SYMBOL",
"name": "THEN"
},
{
"type": "SYMBOL",
"name": "TO"
},
{
"type": "SYMBOL",
"name": "TRANSPORT"
},
{
"type": "SYMBOL",
"name": "TYPE"
},
{
"type": "SYMBOL",
"name": "UNAFFECTED"
},
{
"type": "SYMBOL",
"name": "UNITS"
},
{
"type": "SYMBOL",
"name": "UNTIL"
},
{
"type": "SYMBOL",
"name": "USE"
},
{
"type": "SYMBOL",
"name": "VARIABLE"
},
{
"type": "SYMBOL",
"name": "VIEW"
},
{
"type": "SYMBOL",
"name": "VMODE"
},
{
"type": "SYMBOL",
"name": "VPKG"
},
{
"type": "SYMBOL",
"name": "VPROP"
},
{
"type": "SYMBOL",
"name": "VUNIT"
},
{
"type": "SYMBOL",
"name": "WAIT"
},
{
"type": "SYMBOL",
"name": "WHEN"
},
{
"type": "SYMBOL",
"name": "WHILE"
},
{
"type": "SYMBOL",
"name": "WITH"
},
{
"type": "SYMBOL",
"name": "XNOR"
},
{
"type": "SYMBOL",
"name": "XOR"
},
{
"type": "SYMBOL",
"name": "reserved_end_marker"
},
{
"type": "SYMBOL",
"name": "directive_body"
},
{
"type": "SYMBOL",
"name": "directive_constant_builtin"
},
{
"type": "SYMBOL",
"name": "directive_error"
},
{
"type": "SYMBOL",
"name": "directive_protect"
},
{
"type": "SYMBOL",
"name": "directive_warning"
},
{
"type": "SYMBOL",
"name": "_directive_newline"
},
{
"type": "SYMBOL",
"name": "_grave_accent"
},
{
"type": "SYMBOL",
"name": "box"
},
{
"type": "SYMBOL",
"name": "delimiter_end_marker"
},
{
"type": "SYMBOL",
"name": "decimal_integer"
},
{
"type": "SYMBOL",
"name": "decimal_float"
},
{
"type": "SYMBOL",
"name": "based_base"
},
{
"type": "SYMBOL",
"name": "based_integer"
},
{
"type": "SYMBOL",
"name": "based_float"
},
{
"type": "SYMBOL",
"name": "character_literal"
},
{
"type": "SYMBOL",
"name": "string_literal"
},
{
"type": "SYMBOL",
"name": "string_literal_std_logic"
},
{
"type": "SYMBOL",
"name": "bit_string_length"
},
{
"type": "SYMBOL",
"name": "bit_string_base"
},
{
"type": "SYMBOL",
"name": "bit_string_value"
},
{
"type": "SYMBOL",
"name": "operator_symbol"
},
{
"type": "SYMBOL",
"name": "_line_comment_start"
},
{
"type": "SYMBOL",
"name": "_block_comment_start"
},
{
"type": "SYMBOL",
"name": "_block_comment_end"
},
{
"type": "SYMBOL",
"name": "comment_content"
},
{
"type": "SYMBOL",
"name": "token_end_marker"
},
{
"type": "SYMBOL",
"name": "attribute_function"
},
{
"type": "SYMBOL",
"name": "attribute_impure_function"
},
{
"type": "SYMBOL",
"name": "attribute_mode_view"
},
{
"type": "SYMBOL",
"name": "attribute_pure_function"
},
{
"type": "SYMBOL",
"name": "attribute_range"
},
{
"type": "SYMBOL",
"name": "attribute_signal"
},
{
"type": "SYMBOL",
"name": "attribute_subtype"
},
{
"type": "SYMBOL",
"name": "attribute_type"
},
{
"type": "SYMBOL",
"name": "attribute_value"
},
{
"type": "SYMBOL",
"name": "library_attribute"
},
{
"type": "SYMBOL",
"name": "library_constant"
},
{
"type": "SYMBOL",
"name": "library_constant_boolean"
},
{
"type": "SYMBOL",
"name": "library_constant_character"
},
{
"type": "SYMBOL",
"name": "library_constant_debug"
},
{
"type": "SYMBOL",
"name": "library_constant_env"
},
{
"type": "SYMBOL",
"name": "library_constant_standard"
},
{
"type": "SYMBOL",
"name": "library_constant_std_logic"
},
{
"type": "SYMBOL",
"name": "library_constant_unit"
},
{
"type": "SYMBOL",
"name": "library_function"
},
{
"type": "SYMBOL",
"name": "library_namespace"
},
{
"type": "SYMBOL",
"name": "library_type"
},
{
"type": "SYMBOL",
"name": "_end_of_file"
},
{
"type": "SYMBOL",
"name": "error_sentinel"
}
],
"inline": [],
"supertypes": [],
"reserved": {}
}