mirror of https://github.com/Wilfred/difftastic/
19948 lines
454 KiB
JSON
19948 lines
454 KiB
JSON
{
|
|
"name": "vhdl",
|
|
"word": "basic_identifier",
|
|
"rules": {
|
|
"design_file": {
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_sequential_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_concurrent_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "design_unit"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"entity_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][tT][iI][tT][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "entity"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_header"
|
|
},
|
|
"named": true,
|
|
"value": "entity_header"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "declarative_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][eE][gG][iI][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "begin"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "concurrent_statement_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][tT][iI][tT][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "entity"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_entity_name": {
|
|
"type": "FIELD",
|
|
"name": "entity",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"architecture_body": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][rR][cC][hH][iI][tT][eE][cC][tT][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "architecture"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "of"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_entity_name"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "declarative_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][eE][gG][iI][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "begin"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "concurrent_statement_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][rR][cC][hH][iI][tT][eE][cC][tT][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "architecture"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"configuration_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][nN][fF][iI][gG][uU][rR][aA][tT][iI][oO][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "configuration"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "of"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_entity_name"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "declarative_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "verification_unit_binding_indication"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "block_configuration"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][nN][fF][iI][gG][uU][rR][aA][tT][iI][oO][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "configuration"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"block_configuration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "for"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_block_specification"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "use_clause"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_configuration_item"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "for"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_block_specification": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "pathname_element"
|
|
},
|
|
"named": true,
|
|
"value": "block_specification"
|
|
},
|
|
"generate_statement_element": {
|
|
"type": "PREC",
|
|
"value": "generate_statement_element",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "label",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_generate_specification"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_generate_specification": {
|
|
"type": "FIELD",
|
|
"name": "specification",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_range"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_name_or_label"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_configuration_item": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "block_configuration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "component_configuration"
|
|
}
|
|
]
|
|
},
|
|
"component_configuration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "for"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_component_specification"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "binding_indication"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "verification_unit_binding_indication"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "block_configuration"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "for"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_subprogram_declaration": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "procedure_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "function_declaration"
|
|
}
|
|
]
|
|
},
|
|
"procedure_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_procedure_specification"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"function_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_function_specification"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_procedure_specification": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "pure"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][mM][pP][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "impure"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][oO][cC][eE][dD][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "procedure"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_designator"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_header"
|
|
},
|
|
"named": true,
|
|
"value": "subprogram_header"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "procedure_parameter_clause"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "return"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_function_specification": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "pure"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][mM][pP][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "impure"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "function"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_designator"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_header"
|
|
},
|
|
"named": true,
|
|
"value": "subprogram_header"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "function_parameter_clause"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "return"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"return": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][eE][tT][uU][rR][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "return"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "type_mark"
|
|
}
|
|
]
|
|
},
|
|
"_end_designator": {
|
|
"type": "FIELD",
|
|
"name": "at_end",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_operator_symbol"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_designator": {
|
|
"type": "FIELD",
|
|
"name": "designator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_operator_symbol"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"procedure_parameter_clause": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][aA][rR][aA][mM][eE][tT][eE][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "parameter"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_procedure_parameter_list"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
"function_parameter_clause": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][aA][rR][aA][mM][eE][tT][eE][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "parameter"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_function_parameter_list"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
"_subprogram_body": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "procedure_body"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "function_body"
|
|
}
|
|
]
|
|
},
|
|
"procedure_body": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_procedure_specification"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "declarative_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][eE][gG][iI][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "begin"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sequence_of_statements"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_subprogram_kind"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_designator"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"function_body": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_function_specification"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "declarative_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][eE][gG][iI][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "begin"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sequence_of_statements"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_subprogram_kind"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_designator"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_subprogram_kind": {
|
|
"type": "FIELD",
|
|
"name": "at_end",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "pure"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][mM][pP][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "impure"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][oO][cC][eE][dD][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "procedure"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "function"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_subprogram_instantiation_declaration": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "procedure_instantiation_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "function_instantiation_declaration"
|
|
}
|
|
]
|
|
},
|
|
"procedure_instantiation_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "pure"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][mM][pP][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "impure"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][oO][cC][eE][dD][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "procedure"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_designator"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][wW]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "new"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_uninstantiated_name"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "signature"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_header"
|
|
},
|
|
"named": true,
|
|
"value": "subprogram_map_aspect"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"function_instantiation_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "pure"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][mM][pP][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "impure"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "function"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_designator"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][wW]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "new"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_uninstantiated_name"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "signature"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_header"
|
|
},
|
|
"named": true,
|
|
"value": "subprogram_map_aspect"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_uninstantiated_name": {
|
|
"type": "FIELD",
|
|
"name": "uninstantiated",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"signature": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "["
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "type_mark"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "type_mark"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "return"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "]"
|
|
}
|
|
]
|
|
},
|
|
"package_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][aA][cC][kK][aA][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "package"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_header"
|
|
},
|
|
"named": true,
|
|
"value": "package_header"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "declarative_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][aA][cC][kK][aA][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "package"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"package_body": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][aA][cC][kK][aA][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "package"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][oO][dD][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "body"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_package_name"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "declarative_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][aA][cC][kK][aA][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "package"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][oO][dD][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "body"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_package_name": {
|
|
"type": "FIELD",
|
|
"name": "package",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
"package_instantiation_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][aA][cC][kK][aA][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "package"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][wW]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "new"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_uninstantiated_name"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_header"
|
|
},
|
|
"named": true,
|
|
"value": "package_map_aspect"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_scalar_type_definition": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "enumeration_type_definition"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_numeric_type_definition"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "physical_type_definition"
|
|
}
|
|
]
|
|
},
|
|
"_numeric_type_definition": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "range_constraint"
|
|
},
|
|
"named": true,
|
|
"value": "numeric_type_definition"
|
|
},
|
|
"range_constraint": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][aA][nN][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "range"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_range"
|
|
}
|
|
]
|
|
},
|
|
"_range": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "ascending_range"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "descending_range"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_range_attribute_name"
|
|
}
|
|
]
|
|
},
|
|
"_range_attribute_name": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "range_attribute_name"
|
|
},
|
|
"named": true,
|
|
"value": "attribute_name"
|
|
},
|
|
"range_attribute_name": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "prefix",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "ambiguous_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "attribute_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_external_object_name"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_range_attribute_designator"
|
|
}
|
|
]
|
|
},
|
|
"ascending_range": {
|
|
"type": "PREC",
|
|
"value": "range",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "low",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_expression"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[tT][oO]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "to"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "high",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_expression"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"descending_range": {
|
|
"type": "PREC",
|
|
"value": "range",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "high",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_expression"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[dD][oO][wW][nN][tT][oO]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "downto"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "low",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_expression"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"enumeration_type_definition": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"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": "FIELD",
|
|
"name": "literal",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "character_literal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"physical_type_definition": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "range_constraint"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[uU][nN][iI][tT][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "units"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "primary_unit_declaration"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "secondary_unit_declaration"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[uU][nN][iI][tT][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "units"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"primary_unit_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"secondary_unit_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "physical_literal"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_physical_literal"
|
|
},
|
|
"named": true,
|
|
"value": "physical_literal"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_physical_literal": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_unit"
|
|
}
|
|
]
|
|
},
|
|
"physical_literal": {
|
|
"type": "PREC",
|
|
"value": "physical_literal",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_abstract_literal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_unit"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_unit": {
|
|
"type": "FIELD",
|
|
"name": "unit",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": "physical_literal",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"_composite_type_definition": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_array_type_definition"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "record_type_definition"
|
|
}
|
|
]
|
|
},
|
|
"_array_type_definition": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "unbounded_array_definition"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "constrained_array_definition"
|
|
}
|
|
]
|
|
},
|
|
"unbounded_array_definition": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][rR][rR][aA][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "array"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "index_subtype_definition"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "index_subtype_definition"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "of"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "element",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"constrained_array_definition": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][rR][rR][aA][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "array"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "index_constraint"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "of"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "element",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"index_subtype_definition": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "type_mark"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][aA][nN][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "range"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_any"
|
|
}
|
|
]
|
|
},
|
|
"array_constraint": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "index_constraint"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_array_element_constraint"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_array_element_constraint": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_element_constraint"
|
|
},
|
|
"named": true,
|
|
"value": "array_element_constraint"
|
|
},
|
|
"index_constraint": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_discrete_range"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_discrete_range"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 99,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "open"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
"_discrete_range": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_range"
|
|
}
|
|
]
|
|
},
|
|
"open": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][pP][eE][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "open"
|
|
},
|
|
"record_type_definition": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][eE][cC][oO][rR][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "record"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "element_declaration"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][eE][cC][oO][rR][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "record"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"element_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "identifier_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"record_constraint": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "record_element_constraint"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "record_element_constraint"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
"record_element_constraint": {
|
|
"type": "PREC",
|
|
"value": "record_element_constraint",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "element",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_element_constraint"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"identifier_list": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"access_type_definition": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][cC][cC][eE][sS][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "access"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
}
|
|
]
|
|
},
|
|
"incomplete_type_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[tT][yY][pP][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "type"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"file_type_definition": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][iI][lL][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "file"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "of"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "type_mark"
|
|
}
|
|
]
|
|
},
|
|
"protected_type_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "protected"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "declarative_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "protected"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"protected_type_body": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "protected"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][oO][dD][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "body"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "declarative_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][oO][tT][eE][cC][tT][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "protected"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][oO][dD][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "body"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"declarative_part": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_declaration"
|
|
}
|
|
}
|
|
},
|
|
"_declaration": {
|
|
"type": "PREC",
|
|
"value": "declaration",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_subprogram_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_subprogram_body"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_subprogram_instantiation_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "package_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "package_body"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "package_instantiation_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_type_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_object_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"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Directive"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Declaration"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_type_declaration": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "full_type_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "incomplete_type_declaration"
|
|
}
|
|
]
|
|
},
|
|
"full_type_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[tT][yY][pP][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "type"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_type_definition"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_type_definition": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_scalar_type_definition"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_composite_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"
|
|
}
|
|
]
|
|
},
|
|
"subtype_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][uU][bB][tT][yY][pP][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "subtype"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"subtype_indication": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_resolution_indication"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "type_mark"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_constraint"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_resolution_indication": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "resolution_function"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "record_resolution"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "parenthesized_resolution"
|
|
}
|
|
]
|
|
},
|
|
"resolution_function": {
|
|
"type": "PREC",
|
|
"value": "resolution_function",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"parenthesized_resolution": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_resolution_indication"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
"record_resolution": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "record_element_resolution"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "record_element_resolution"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
"record_element_resolution": {
|
|
"type": "PREC",
|
|
"value": "record_element_resolution",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "element",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_resolution_indication"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type_mark": {
|
|
"type": "PREC",
|
|
"value": "type_mark",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "attribute_name"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_constraint": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "range_constraint"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "array_constraint"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "record_constraint"
|
|
}
|
|
]
|
|
},
|
|
"_element_constraint": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "array_constraint"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "record_constraint"
|
|
}
|
|
]
|
|
},
|
|
"_object_declaration": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "constant_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "signal_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "variable_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "shared_variable_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "file_declaration"
|
|
}
|
|
]
|
|
},
|
|
"constant_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][nN][sS][tT][aA][nN][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "constant"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "identifier_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "default_expression"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"signal_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][iI][gG][nN][aA][lL]"
|
|
}
|
|
}
|
|
},
|
|
"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": "default_expression"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"signal_kind": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][eE][gG][iI][sS][tT][eE][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "register"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][uU][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "bus"
|
|
}
|
|
]
|
|
},
|
|
"variable_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[vV][aA][rR][iI][aA][bB][lL][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "variable"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "identifier_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "default_expression"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"shared_variable_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][hH][aA][rR][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "shared"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[vV][aA][rR][iI][aA][bB][lL][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "variable"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "identifier_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "default_expression"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"file_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][iI][lL][eE]"
|
|
}
|
|
}
|
|
},
|
|
"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": ";"
|
|
}
|
|
]
|
|
},
|
|
"file_open_information": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][pP][eE][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "open"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_file_open_kind"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_file_logical_name"
|
|
}
|
|
]
|
|
},
|
|
"_file_logical_name": {
|
|
"type": "SYMBOL",
|
|
"name": "_string_expression"
|
|
},
|
|
"_generic_interface_declaration": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "constant_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "type_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_subprogram_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "package_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_illegal_interface_declaration"
|
|
}
|
|
]
|
|
},
|
|
"_port_interface_declaration": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "signal_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_illegal_interface_declaration"
|
|
}
|
|
]
|
|
},
|
|
"_procedure_interface_declaration": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "constant_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "signal_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "variable_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "file_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_illegal_interface_declaration"
|
|
}
|
|
]
|
|
},
|
|
"_function_interface_declaration": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "constant_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "signal_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "file_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_illegal_interface_declaration"
|
|
}
|
|
]
|
|
},
|
|
"constant_interface_declaration": {
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 3,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][nN][sS][tT][aA][nN][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "constant"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "identifier_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_constant_mode"
|
|
},
|
|
"named": true,
|
|
"value": "mode"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "default_expression"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"signal_interface_declaration": {
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][iI][gG][nN][aA][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "signal"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "identifier_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_signal_mode"
|
|
},
|
|
"named": true,
|
|
"value": "mode"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "signal_kind"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "default_expression"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"variable_interface_declaration": {
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[vV][aA][rR][iI][aA][bB][lL][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "variable"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "identifier_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_variable_mode"
|
|
},
|
|
"named": true,
|
|
"value": "mode"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "default_expression"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"file_interface_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][iI][lL][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "file"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "identifier_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_signal_mode"
|
|
},
|
|
"named": true,
|
|
"value": "mode"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "default_expression"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_in": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "in"
|
|
},
|
|
"_out": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][uU][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "out"
|
|
},
|
|
"_inout": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][nN][oO][uU][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "inout"
|
|
},
|
|
"_buffer": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][uU][fF][fF][eE][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "buffer"
|
|
},
|
|
"_linkage": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][iI][nN][kK][aA][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "linkage"
|
|
},
|
|
"_constant_mode": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_in"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": -3,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_out"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": -3,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_inout"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": -3,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_buffer"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": -3,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_linkage"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_variable_mode": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_in"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_out"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_inout"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": -2,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_buffer"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": -2,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_linkage"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_signal_mode": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_in"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_out"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_inout"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_buffer"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_linkage"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_illegal_interface_declaration": {
|
|
"type": "PREC_DYNAMIC",
|
|
"value": -3,
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "constant_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "signal_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "variable_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "file_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "type_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_subprogram_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "package_interface_declaration"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type_interface_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[tT][yY][pP][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "type"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_subprogram_interface_declaration": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "procedure_interface_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "function_interface_declaration"
|
|
}
|
|
]
|
|
},
|
|
"procedure_interface_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_procedure_specification"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "interface_subprogram_default"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"function_interface_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_function_specification"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "interface_subprogram_default"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"interface_subprogram_default": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_operator_symbol"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "<>"
|
|
},
|
|
"named": true,
|
|
"value": "same"
|
|
}
|
|
]
|
|
},
|
|
"package_interface_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][aA][cC][kK][aA][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "package"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][wW]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "new"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_uninstantiated_name"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_header"
|
|
},
|
|
"named": true,
|
|
"value": "package_map_aspect"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_generic_interface_list": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_generic_interface_declaration"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_generic_interface_declaration"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_port_interface_list": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_port_interface_declaration"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_port_interface_declaration"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_procedure_parameter_list": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_procedure_interface_declaration"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_procedure_interface_declaration"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_function_parameter_list": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_function_interface_declaration"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_function_interface_declaration"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"generic_clause": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][eE][nN][eE][rR][iI][cC]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "generic"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_generic_interface_list"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_semicolon"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_semicolon": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": ";"
|
|
},
|
|
"named": true,
|
|
"value": "semicolon"
|
|
},
|
|
"port_clause": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][oO][rR][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "port"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_port_interface_list"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_semicolon"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"association_list": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_association_element"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_association_element"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_association_element": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "positional_association_element"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "named_association_element"
|
|
}
|
|
]
|
|
},
|
|
"positional_association_element": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_actual_part"
|
|
}
|
|
]
|
|
},
|
|
"named_association_element": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_formal_part"
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "=>"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_actual_part"
|
|
}
|
|
]
|
|
},
|
|
"_formal_part": {
|
|
"type": "FIELD",
|
|
"name": "formal_part",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "others"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_actual_part": {
|
|
"type": "FIELD",
|
|
"name": "actual_part",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "inertial_expression"
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": -1,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 99,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "open"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "character_literal"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string_literal"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"generic_map_aspect": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][eE][nN][eE][rR][iI][cC]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "generic"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[mM][aA][pP]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "map"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "association_list"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "default"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_any"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_semicolon"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"default": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[dD][eE][fF][aA][uU][lL][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "default"
|
|
},
|
|
"_any": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "<>"
|
|
},
|
|
"named": true,
|
|
"value": "any"
|
|
},
|
|
"port_map_aspect": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][oO][rR][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "port"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[mM][aA][pP]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "map"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "association_list"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_semicolon"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_header": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_clause"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_clause"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_clause"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_clause"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_clause": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "generic_clause"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "generic_map_aspect"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "port_clause"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "port_map_aspect"
|
|
}
|
|
]
|
|
},
|
|
"alias_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][lL][iI][aA][sS]"
|
|
}
|
|
}
|
|
},
|
|
"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": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_alias_denotator"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "signature"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_alias_designator": {
|
|
"type": "FIELD",
|
|
"name": "designator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "character_literal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_operator_symbol"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_alias_denotator": {
|
|
"type": "FIELD",
|
|
"name": "denotator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "character_literal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "ambiguous_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "slice_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "attribute_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_external_object_name"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_operator_symbol": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string_literal"
|
|
},
|
|
"named": true,
|
|
"value": "operator_symbol"
|
|
},
|
|
"attribute_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][tT][tT][rR][iI][bB][uU][tT][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "attribute"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "type_mark"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"component_declaration": {
|
|
"type": "PREC",
|
|
"value": "component_declaration",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][mM][pP][oO][nN][eE][nN][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "component"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_header"
|
|
},
|
|
"named": true,
|
|
"value": "component_header"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][mM][pP][oO][nN][eE][nN][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "component"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"group_template_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][rR][oO][uU][pP]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "group"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "entity_class_entry_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"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": "SYMBOL",
|
|
"name": "_any"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"group_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][rR][oO][uU][pP]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "group"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_group_template"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "group_constituent_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"group_constituent_list": {
|
|
"type": "PREC",
|
|
"value": "group_constituent_list",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_group_constituent"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_group_constituent"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_group_constituent": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "character_literal"
|
|
}
|
|
]
|
|
},
|
|
"_group_template": {
|
|
"type": "FIELD",
|
|
"name": "template",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"attribute_specification": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][tT][tT][rR][iI][bB][uU][tT][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "attribute"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "of"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "entity_specification"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"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_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": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][tT][iI][tT][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "entity"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][rR][cC][hH][iI][tT][eE][cC][tT][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "architecture"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][nN][fF][iI][gG][uU][rR][aA][tT][iI][oO][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "configuration"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][oO][cC][eE][dD][uU][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "procedure"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][uU][nN][cC][tT][iI][oO][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "function"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][aA][cC][kK][aA][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "package"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[tT][yY][pP][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "type"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][uU][bB][tT][yY][pP][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "subtype"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][nN][sS][tT][aA][nN][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "constant"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][iI][gG][nN][aA][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "signal"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[vV][aA][rR][iI][aA][bB][lL][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "variable"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][mM][pP][oO][nN][eE][nN][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "component"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][aA][bB][eE][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "label"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][iI][tT][eE][rR][aA][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "literal"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[uU][nN][iI][tT][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "units"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][rR][oO][uU][pP]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "group"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][iI][lL][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "file"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][oO][pP][eE][rR][tT][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "property"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][eE][qQ][uU][eE][nN][cC][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "sequence"
|
|
}
|
|
]
|
|
},
|
|
"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": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "character_literal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_operator_symbol"
|
|
}
|
|
]
|
|
},
|
|
"configuration_specification": {
|
|
"type": "PREC_RIGHT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "for"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_component_specification"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "binding_indication"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "verification_unit_binding_indication"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "for"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_component_specification": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "instantiation_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_component_name"
|
|
}
|
|
]
|
|
},
|
|
"instantiation_list": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "others"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "all"
|
|
}
|
|
]
|
|
},
|
|
"all": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][lL][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "all"
|
|
},
|
|
"_component_name": {
|
|
"type": "FIELD",
|
|
"name": "component",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
"binding_indication": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[uU][sS][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "use"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_entity_aspect"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_header"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_entity_aspect": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "entity_instantiation"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "configuration_instantiation"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "component_instantiation"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "open"
|
|
}
|
|
]
|
|
},
|
|
"verification_unit_binding_indication": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[uU][sS][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "use"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[vV][uU][nN][iI][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "vunit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "verification_unit_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"verification_unit_list": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"disconnection_specification": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[dD][iI][sS][cC][oO][nN][nN][eE][cC][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "disconnect"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "guarded_signal_specification"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_after"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"guarded_signal_specification": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "signal_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "type_mark"
|
|
}
|
|
]
|
|
},
|
|
"signal_list": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_signal_name"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_signal_name"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "others"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "all"
|
|
}
|
|
]
|
|
},
|
|
"_name": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "character_literal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "ambiguous_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "slice_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "attribute_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_external_object_name"
|
|
}
|
|
]
|
|
},
|
|
"_simple_name": {
|
|
"type": "PREC",
|
|
"value": "simple_name",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "basic_identifier"
|
|
},
|
|
"named": true,
|
|
"value": "simple_name"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "extended_identifier"
|
|
},
|
|
"named": true,
|
|
"value": "extended_simple_name"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_end_simple_name": {
|
|
"type": "FIELD",
|
|
"name": "at_end",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
"selected_name": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "prefix",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "ambiguous_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "slice_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_external_object_name"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "."
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "suffix",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "character_literal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_operator_symbol"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "all"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"ambiguous_name": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "prefix",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "ambiguous_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "function_call"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "expression_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
"expression_list": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"slice_name": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "prefix",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "ambiguous_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "slice_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "function_call"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_range"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
"attribute_name": {
|
|
"type": "PREC",
|
|
"value": "attribute_name",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "prefix",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "ambiguous_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "attribute_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "function_call"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_external_object_name"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "signature"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_attribute_designator"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_predefined_attribute_designator"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_predefined_attribute_designator_with_expression"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_attribute_designator": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "'"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "designator",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_predefined_attribute_designator": {
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "'"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "designator",
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_predefined_designator"
|
|
},
|
|
"named": true,
|
|
"value": "predefined_designator"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_predefined_attribute_designator_with_expression": {
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PREC_RIGHT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "'"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "designator",
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_predefined_designator_with_expression"
|
|
},
|
|
"named": true,
|
|
"value": "predefined_designator"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"_range_attribute_designator": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "'"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "designator",
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_range_designator"
|
|
},
|
|
"named": true,
|
|
"value": "predefined_designator"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_predefined_designator": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][aA][sS][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "base"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][eE][fF][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "left"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][iI][gG][hH][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "right"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[hH][iI][gG][hH]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "high"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][oO][wW]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "low"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][mM][aA][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "image"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][oO][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "pos"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[vV][aA][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "val"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][uU][cC][cC]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "succ"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "pred"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][eE][fF][tT][oO][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "leftof"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][iI][gG][hH][tT][oO][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "rightof"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][uU][bB][tT][yY][pP][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "subtype"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][eE][nN][gG][tT][hH]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "length"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][sS][cC][eE][nN][dD][iI][nN][gG]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "ascending"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[dD][eE][sS][cC][eE][nN][dD][iI][nN][gG]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "descending"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][lL][eE][mM][eE][nN][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "element"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[dD][eE][lL][aA][yY][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "delayed"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][tT][aA][bB][lL][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "stable"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[qQ][uU][iI][eE][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "quiet"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[tT][rR][aA][nN][sS][aA][cC][tT][iI][oO][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "transaction"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][vV][eE][nN][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "event"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][cC][tT][iI][vV][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "active"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][aA][sS][tT][__][eE][vV][eE][nN][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "last_event"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][aA][sS][tT][__][aA][cC][tT][iI][vV][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "last_active"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][aA][sS][tT][__][vV][aA][lL][uU][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "last_value"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[dD][rR][iI][vV][iI][nN][gG]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "driving"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[dD][rR][iI][vV][iI][nN][gG][__][vV][aA][lL][uU][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "driving_value"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][iI][mM][pP][lL][eE][__][nN][aA][mM][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "simple_name"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][nN][sS][tT][aA][nN][cC][eE][__][nN][aA][mM][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "instance_name"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][aA][tT][hH][__][nN][aA][mM][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "path_name"
|
|
}
|
|
]
|
|
},
|
|
"_predefined_designator_with_expression": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][mM][aA][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "image"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[vV][aA][lL][uU][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "value"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][oO][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "pos"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[vV][aA][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "val"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][uU][cC][cC]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "succ"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "pred"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][eE][fF][tT][oO][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "leftof"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][iI][gG][hH][tT][oO][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "rightof"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][eE][fF][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "left"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][iI][gG][hH][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "right"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[hH][iI][gG][hH]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "high"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][oO][wW]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "low"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][eE][nN][gG][tT][hH]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "length"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][sS][cC][eE][nN][dD][iI][nN][gG]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "ascending"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[dD][eE][lL][aA][yY][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "delayed"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][tT][aA][bB][lL][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "stable"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[qQ][uU][iI][eE][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "quiet"
|
|
}
|
|
]
|
|
},
|
|
"_range_designator": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][aA][nN][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "range"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][eE][vV][eE][rR][sS][eE][__][rR][aA][nN][gG][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "reverse_range"
|
|
}
|
|
]
|
|
},
|
|
"_external_object_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": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "<<"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][nN][sS][tT][aA][nN][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "constant"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_external_pathname"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": ">>"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"external_signal_name": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "<<"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][iI][gG][nN][aA][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "signal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_external_pathname"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": ">>"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"external_variable_name": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "<<"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[vV][aA][rR][iI][aA][bB][lL][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "variable"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_external_pathname"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"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": "FIELD",
|
|
"name": "library",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "."
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "package",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "."
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "package",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "."
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "object",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"absolute_pathname": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "."
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_partial_pathname"
|
|
}
|
|
]
|
|
},
|
|
"relative_pathname": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"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": "FIELD",
|
|
"name": "object",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"pathname_element": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_name_or_label"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "generate_statement_element"
|
|
}
|
|
]
|
|
},
|
|
"_name_or_label": {
|
|
"type": "FIELD",
|
|
"name": "name_or_label",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
"_expr": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_unary_expression"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_binary_expression"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_primary"
|
|
}
|
|
]
|
|
},
|
|
"_unary_expression": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "condition"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "reduction"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sign"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "factor"
|
|
}
|
|
]
|
|
},
|
|
"_binary_expression": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "logical_expression"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "relation"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "shift_expression"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "simple_expression"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "concatenation"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "term"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "exponentiation"
|
|
}
|
|
]
|
|
},
|
|
"_primary": {
|
|
"type": "PREC",
|
|
"value": "primary",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_literal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "aggregate"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "qualified_expression"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "allocator"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "parenthesized_expression"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "function_call"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_expression": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
"named": true,
|
|
"value": "expression"
|
|
},
|
|
"_condition": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
"named": true,
|
|
"value": "conditional_expression"
|
|
},
|
|
"_simple_expression": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
"named": true,
|
|
"value": "simple_expression"
|
|
},
|
|
"_time_expression": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
"named": true,
|
|
"value": "time_expression"
|
|
},
|
|
"_string_expression": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
"named": true,
|
|
"value": "string_expression"
|
|
},
|
|
"_severity_expression": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_primary"
|
|
},
|
|
"named": true,
|
|
"value": "severity_expression"
|
|
},
|
|
"_file_open_kind": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_primary"
|
|
},
|
|
"named": true,
|
|
"value": "file_open_kind"
|
|
},
|
|
"default_expression": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ":="
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
},
|
|
"inertial_expression": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][nN][eE][rR][tT][iI][aA][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "inertial"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
},
|
|
"parenthesized_expression": {
|
|
"type": "PREC",
|
|
"value": "parenthesized_expression",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"condition": {
|
|
"type": "PREC",
|
|
"value": "condition",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "??"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"reduction": {
|
|
"type": "PREC",
|
|
"value": "reduction",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "and"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "or"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[xX][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "xor"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][aA][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "nand"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "nor"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[xX][nN][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "xnor"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"factor": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "factor",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][oO][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "not"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][bB][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "abs"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"sign": {
|
|
"type": "PREC",
|
|
"value": "sign",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "+"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "-"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"logical_expression": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "logical_expression",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": "logical_expression",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "and"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": "logical_expression",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "or"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": "logical_expression",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[xX][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "xor"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": "logical_expression",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[xX][nN][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "xnor"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "PREC_LEFT",
|
|
"value": "logical_expression",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][aA][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "nand"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "PREC_LEFT",
|
|
"value": "logical_expression",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "nor"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"relation": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "relation",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "<"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": ">"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "="
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "<="
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": ">="
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "/="
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "?<"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "?>"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "?="
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "?<="
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "?>="
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "?/="
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"shift_expression": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "shift_expression",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][lL][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "sll"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][rR][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "srl"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][lL][aA]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "sla"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][rR][aA]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "sra"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][oO][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "rol"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "ror"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"simple_expression": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "simple_expression",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": "simple_expression",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "+"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "-"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"concatenation": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "simple_expression",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": "simple_expression",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "&"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"term": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "term",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": "term",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "*"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "/"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][eE][mM]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "rem"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[mM][oO][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "mod"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"exponentiation": {
|
|
"type": "PREC_LEFT",
|
|
"value": "exponentiation",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "**"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_literal": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_numeric_literal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "string_literal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "bit_string_literal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "null"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "character_literal"
|
|
}
|
|
]
|
|
},
|
|
"_numeric_literal": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_abstract_literal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "physical_literal"
|
|
}
|
|
]
|
|
},
|
|
"null": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][uU][lL][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "null"
|
|
},
|
|
"aggregate": {
|
|
"type": "PREC",
|
|
"value": -1,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_element_association_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_element_association_list": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "named_element_association"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_element_association"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"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": "positional_element_association"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "named_element_association"
|
|
}
|
|
]
|
|
},
|
|
"positional_element_association": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_value"
|
|
}
|
|
]
|
|
},
|
|
"named_element_association": {
|
|
"type": "PREC",
|
|
"value": -1,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "choices"
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "=>"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_value"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_value": {
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
},
|
|
"choices": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_choice"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "|"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_choice"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_choice": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_expression"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_range"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "others"
|
|
}
|
|
]
|
|
},
|
|
"others": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][tT][hH][eE][rR][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "others"
|
|
},
|
|
"function_call": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_function_name"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "association_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
"_function_name": {
|
|
"type": "FIELD",
|
|
"name": "function",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_operator_symbol"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "attribute_name"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"qualified_expression": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "type_mark"
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "'"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "aggregate"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "parenthesized_expression"
|
|
},
|
|
"named": true,
|
|
"value": "expression"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"allocator": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][wW]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "new"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "qualified_expression"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"sequence_of_statements": {
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_sequential_statement"
|
|
}
|
|
},
|
|
"_sequential_statement": {
|
|
"type": "PREC",
|
|
"value": "sequential_statement",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "process_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "wait_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "assertion_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "report_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_signal_assignment_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_variable_assignment_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "procedure_call_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "if_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "case_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "loop_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "next_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "exit_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "return_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "null_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Directive"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Declaration"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"wait_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[wW][aA][iI][tT]"
|
|
}
|
|
}
|
|
},
|
|
"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": ";"
|
|
}
|
|
]
|
|
},
|
|
"_sensitivity_clause": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "on"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sensitivity_list"
|
|
}
|
|
]
|
|
},
|
|
"_condition_clause": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[uU][nN][tT][iI][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "until"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_condition"
|
|
}
|
|
]
|
|
},
|
|
"_timeout_clause": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "for"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_time_expression"
|
|
}
|
|
]
|
|
},
|
|
"sensitivity_list": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "all"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_signal_name"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_signal_name"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_signal_name": {
|
|
"type": "SYMBOL",
|
|
"name": "_name"
|
|
},
|
|
"assertion_statement": {
|
|
"type": "PREC",
|
|
"value": "vhdl_assertion",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][oO][sS][tT][pP][oO][nN][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "postponed"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][sS][sS][eE][rR][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "assert"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_condition"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_report"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_severity"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"report_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_report"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_severity"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_report": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][eE][pP][oO][rR][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "report"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_string_expression"
|
|
}
|
|
]
|
|
},
|
|
"_severity": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][eE][vV][eE][rR][iI][tT][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "severity"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_severity_expression"
|
|
}
|
|
]
|
|
},
|
|
"_signal_assignment_statement": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_signal_assignment"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_conditional_signal_assignment"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_selected_signal_assignment"
|
|
}
|
|
]
|
|
},
|
|
"_simple_signal_assignment": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "simple_waveform_assignment"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "simple_force_assignment"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "simple_release_assignment"
|
|
}
|
|
]
|
|
},
|
|
"simple_waveform_assignment": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_target"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "<="
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][uU][aA][rR][dD][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "guarded"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "delay_mechanism"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "waveforms"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"simple_force_assignment": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_target"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "<="
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][uU][aA][rR][dD][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "guarded"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR][cC][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "force"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "force_mode"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_value"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"simple_release_assignment": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_target"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "<="
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][uU][aA][rR][dD][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "guarded"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][eE][lL][eE][aA][sS][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "release"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "force_mode"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"force_mode": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_in"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_out"
|
|
}
|
|
]
|
|
},
|
|
"delay_mechanism": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "transport"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "inertial"
|
|
}
|
|
]
|
|
},
|
|
"transport": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[tT][rR][aA][nN][sS][pP][oO][rR][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "transport"
|
|
},
|
|
"inertial": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_reject"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][nN][eE][rR][tT][iI][aA][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "inertial"
|
|
}
|
|
]
|
|
},
|
|
"_reject": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][eE][jJ][eE][cC][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "reject"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "reject",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_time_expression"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_target": {
|
|
"type": "FIELD",
|
|
"name": "target",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "aggregate"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"waveforms": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "unaffected"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "waveform_element"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "waveform_element"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"unaffected": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[uU][nN][aA][fF][fF][eE][cC][tT][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "unaffected"
|
|
},
|
|
"waveform_element": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_value"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_after"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_after": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][fF][tT][eE][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "after"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_time_expression"
|
|
}
|
|
]
|
|
},
|
|
"_conditional_signal_assignment": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "conditional_waveform_assignment"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "conditional_force_assignment"
|
|
}
|
|
]
|
|
},
|
|
"conditional_waveform_assignment": {
|
|
"type": "PREC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_target"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "<="
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][uU][aA][rR][dD][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "guarded"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "delay_mechanism"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "conditional_waveforms"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_when_clause": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[wW][hH][eE][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "when"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_condition"
|
|
}
|
|
]
|
|
},
|
|
"conditional_waveforms": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "waveforms"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_when_clause"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "alternative_conditional_waveforms"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"alternative_conditional_waveforms": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][lL][sS][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "else"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "waveforms"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_when_clause"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"conditional_force_assignment": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_target"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "<="
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR][cC][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "force"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "force_mode"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "conditional_expressions"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"conditional_expressions": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_value"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_when_clause"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "alternative_conditional_expressions"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"alternative_conditional_expressions": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][lL][sS][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "else"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_value"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_when_clause"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_selected_signal_assignment": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_waveform_assignment"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_force_assignment"
|
|
}
|
|
]
|
|
},
|
|
"selected_waveform_assignment": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[wW][iI][tT][hH]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "with"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][eE][lL][eE][cC][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "select"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "?"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_target"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "<="
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][uU][aA][rR][dD][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[wW][iI][tT][hH]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "with"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][eE][lL][eE][cC][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "select"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "?"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_target"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "<="
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR][cC][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "force"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "force_mode"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_expressions"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"selected_waveforms": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "waveforms"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[wW][hH][eE][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "when"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "choices"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "alternative_selected_waveforms"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"alternative_selected_waveforms": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "waveforms"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[wW][hH][eE][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "when"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "choices"
|
|
}
|
|
]
|
|
},
|
|
"selected_expressions": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_value"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[wW][hH][eE][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "when"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "choices"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "alternative_selected_expressions"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"alternative_selected_expressions": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_value"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[wW][hH][eE][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "when"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "choices"
|
|
}
|
|
]
|
|
},
|
|
"_variable_assignment_statement": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "simple_variable_assignment"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "conditional_variable_assignment"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_variable_assignment"
|
|
}
|
|
]
|
|
},
|
|
"simple_variable_assignment": {
|
|
"type": "PREC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_target"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":="
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_value"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"conditional_variable_assignment": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_target"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":="
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "conditional_expressions"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"selected_variable_assignment": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[wW][iI][tT][hH]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "with"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][eE][lL][eE][cC][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "select"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "?"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_target"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":="
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_expressions"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"procedure_call_statement": {
|
|
"type": "PREC",
|
|
"value": "procedure_call",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][oO][sS][tT][pP][oO][nN][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "postponed"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "procedure",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "association_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"if_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "if"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "elsif"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "else"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "if"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"if": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "if"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_condition"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[tT][hH][eE][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "then"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sequence_of_statements"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"elsif": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][lL][sS][iI][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "elsif"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_condition"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[tT][hH][eE][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "then"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sequence_of_statements"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"else": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][lL][sS][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "else"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sequence_of_statements"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"case_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][aA][sS][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "case"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "?"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "case_statement_alternative"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][aA][sS][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "case"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "?"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"case_statement_alternative": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[wW][hH][eE][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "when"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "choices"
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "=>"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sequence_of_statements"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"loop_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_iteration_scheme"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][oO][oO][pP]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "loop"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sequence_of_statements"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][oO][oO][pP]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "loop"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_iteration_scheme": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "while_loop"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "for_loop"
|
|
}
|
|
]
|
|
},
|
|
"while_loop": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[wW][hH][iI][lL][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "while"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_condition"
|
|
}
|
|
]
|
|
},
|
|
"for_loop": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "for"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "parameter_specification"
|
|
}
|
|
]
|
|
},
|
|
"parameter_specification": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "in"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_discrete_range"
|
|
}
|
|
]
|
|
},
|
|
"next_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][xX][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "next"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_loop_label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_when_clause"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_loop_label": {
|
|
"type": "FIELD",
|
|
"name": "loop_label",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
"exit_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][xX][iI][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "exit"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_loop_label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_when_clause"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"return_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][eE][tT][uU][rR][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "return"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"null_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][uU][lL][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "null"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"concurrent_statement_part": {
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_concurrent_statement"
|
|
}
|
|
},
|
|
"_concurrent_statement": {
|
|
"type": "PREC",
|
|
"value": "concurrent_statement",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "block_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "process_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "component_instantiation_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "procedure_call_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "assertion_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_concurrent_signal_assignment"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_generate_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Directive"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Declaration"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"block_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][lL][oO][cC][kK]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "block"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_guard"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_header"
|
|
},
|
|
"named": true,
|
|
"value": "block_header"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "declarative_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][eE][gG][iI][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "begin"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "concurrent_statement_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][lL][oO][cC][kK]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "block"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_guard": {
|
|
"type": "FIELD",
|
|
"name": "guard",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_condition"
|
|
}
|
|
},
|
|
"process_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][oO][sS][tT][pP][oO][nN][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "postponed"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][oO][cC][eE][sS][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "process"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sensitivity_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "declarative_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][eE][gG][iI][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "begin"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sequence_of_statements"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][oO][sS][tT][pP][oO][nN][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "postponed"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][oO][cC][eE][sS][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "process"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_concurrent_signal_assignment": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "simple_waveform_assignment"
|
|
},
|
|
"named": true,
|
|
"value": "simple_concurrent_signal_assignment"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "conditional_waveform_assignment"
|
|
},
|
|
"named": true,
|
|
"value": "conditional_concurrent_signal_assignment"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "selected_waveform_assignment"
|
|
},
|
|
"named": true,
|
|
"value": "selected_concurrent_signal_assignment"
|
|
}
|
|
]
|
|
},
|
|
"component_instantiation_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_entity_aspect"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_header"
|
|
},
|
|
"named": true,
|
|
"value": "component_map_aspect"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"entity_instantiation": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][tT][iI][tT][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "entity"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "entity",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "architecture",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"configuration_instantiation": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][nN][fF][iI][gG][uU][rR][aA][tT][iI][oO][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "configuration"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "configuration",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"component_instantiation": {
|
|
"type": "PREC",
|
|
"value": "component_instantiation",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][mM][pP][oO][nN][eE][nN][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "component"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "component",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_generate_statement": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "for_generate_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "if_generate_statement"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "case_generate_statement"
|
|
}
|
|
]
|
|
},
|
|
"for_generate_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "for"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "parameter_specification"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][eE][nN][eE][rR][aA][tT][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "generate"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "generate_statement_body"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][eE][nN][eE][rR][aA][tT][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "generate"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"if_generate_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "if_generate"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "elsif_generate"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "else_generate"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][eE][nN][eE][rR][aA][tT][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "generate"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"if_generate": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "if"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_condition"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][eE][nN][eE][rR][aA][tT][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "generate"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "generate_statement_body"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"elsif_generate": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][lL][sS][iI][fF]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "elsif"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_condition"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][eE][nN][eE][rR][aA][tT][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "generate"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "generate_statement_body"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"else_generate": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][lL][sS][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "else"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][eE][nN][eE][rR][aA][tT][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "generate"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "generate_statement_body"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"case_generate_statement": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][aA][sS][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "case"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_expression"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][eE][nN][eE][rR][aA][tT][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "generate"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "case_generate_alternative"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[gG][eE][nN][eE][rR][aA][tT][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "generate"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"case_generate_alternative": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[wW][hH][eE][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "when"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "choices"
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "=>"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "generate_statement_body"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"generate_statement_body": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "declarative_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][eE][gG][iI][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "begin"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_concurrent_statement"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "declarative_part"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][eE][gG][iI][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "begin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_concurrent_statement"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_concurrent_statement"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"label": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
"use_clause": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[uU][sS][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "use"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"design_unit": {
|
|
"type": "PREC_RIGHT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "context_clause"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "context_clause"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_library_unit"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_library_unit": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_primary_unit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_secondary_unit"
|
|
}
|
|
]
|
|
},
|
|
"_primary_unit": {
|
|
"type": "PREC",
|
|
"value": "primary_unit",
|
|
"content": {
|
|
"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": "_PSL_Verification_Unit"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_secondary_unit": {
|
|
"type": "PREC",
|
|
"value": "secondary_unit",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "architecture_body"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "package_body"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"library_clause": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[lL][iI][bB][rR][aA][rR][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "library"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "logical_name_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"logical_name_list": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "library",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "library",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"context_declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][nN][tT][eE][xX][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "context"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
}
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "context_clause"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "end"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][nN][tT][eE][xX][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "context"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end_simple_name"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"context_clause": {
|
|
"type": "PREC_RIGHT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_context_item"
|
|
}
|
|
}
|
|
},
|
|
"_context_item": {
|
|
"type": "PREC",
|
|
"value": "context_item",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "library_clause"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "use_clause"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "context_reference"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"context_reference": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][nN][tT][eE][xX][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "context"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "context_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"context_list": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "selected_name"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_identifier": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "basic_identifier"
|
|
},
|
|
"named": true,
|
|
"value": "identifier"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "extended_identifier"
|
|
}
|
|
]
|
|
},
|
|
"basic_identifier": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[a-zA-Z]"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "_"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[a-zA-Z0-9]"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"extended_identifier": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "\\"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "(\\\\\\\\|[^\\r\\n\\\\])*"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "\\"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_abstract_literal": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "integer_decimal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "real_decimal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "based_integer"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "based_real"
|
|
}
|
|
]
|
|
},
|
|
"integer_decimal": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9_]"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "e"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "E"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "+"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "-"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9_]"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"real_decimal": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9_]"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "."
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9_]"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "e"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "E"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "+"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "-"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9_]"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"based_integer": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "0"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[0-9]"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "1[0-6]"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "#"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[0-9a-fA-F_]*"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "#"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "e"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "E"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "+"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "-"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9_]"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"based_real": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "0"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[0-9]"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "1[0-6]"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "#"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[0-9a-fA-F_]*"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "."
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[0-9a-fA-F_]*"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "#"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "e"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "E"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "+"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "-"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9_]"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"character_literal": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "'.'"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "'[^;,)\\r\\n]"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "'"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"string_literal": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "\"(\"\"|[^\"\\r\\n])*\""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "\"(\"\"|[^\";,)\\r\\n])*"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "\""
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"bit_string_literal": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[0-9]*[uUsS]?[bBoOxX]\"[^\" \\r\\n]*\""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[0-9]*[uUsS]?[bBoOxX]\"[^\" ;,)\\r\\n]*"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "\""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[0-9]*[dD]\"[^\" \\r\\n]*\""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[0-9]*[dD]\"[^\" ;,)\\r\\n]*"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "\""
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"comment": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "--.*"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "/*"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[^*]*\\*+([^/*][^*]*\\*+)*"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "/"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"tool_directive": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "`.*"
|
|
}
|
|
},
|
|
"_PSL_Identifier": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
},
|
|
"named": true,
|
|
"value": "PSL_Identifier"
|
|
},
|
|
"_PSL_Any_Type": {
|
|
"type": "PREC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
"named": true,
|
|
"value": "PSL_Any_Type"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Expression"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Built_In_Function_Call"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Union_Expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_PSL_Boolean": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
"named": true,
|
|
"value": "PSL_Boolean"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Expression"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Built_In_Function_Call"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Parenthesized_Boolean": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Boolean"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
"_PSL_Number": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_expr"
|
|
},
|
|
"named": true,
|
|
"value": "PSL_Number"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Built_In_Function_Call"
|
|
}
|
|
]
|
|
},
|
|
"_PSL_Value": {
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Any_Type"
|
|
},
|
|
"PSL_Expression": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "implication",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Boolean"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "->"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "<->"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Boolean"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Built_In_Function_Call": {
|
|
"type": "PREC",
|
|
"value": "psl_function_call",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][eE][vV]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "prev"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][xX][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "next"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][tT][aA][bB][lL][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "stable"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][oO][sS][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "rose"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][eE][lL][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "fell"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS][uU][nN][kK][nN][oO][wW][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "isunknown"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][uU][nN][tT][oO][nN][eE][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "countones"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][nN][eE][hH][oO][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "onehot"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][nN][eE][hH][oO][tT][00]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "onehot0"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][oO][nN][dD][eE][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "nondet"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][oO][nN][dD][eE][tT][__][vV][eE][cC][tT][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "nondet_vector"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Any_Type"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Value_Set"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Any_Type"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Value_Set"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][nN][dD][eE][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "ended"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Sequence"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_PSL_Clock_Expression": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_condition"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Built_In_Function_Call"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Union_Expression": {
|
|
"type": "PREC_LEFT",
|
|
"value": "union",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Any_Type"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[uU][nN][iI][oO][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "union"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Any_Type"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_PSL_Declaration": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Property_Declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Sequence_Declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Clock_Declaration"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Clock_Declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[dD][eE][fF][aA][uU][lL][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "default"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][lL][oO][cC][kK]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "clock"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Clock_Expression"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_PSL_SERE": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Boolean"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Sequence"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Simple_SERE"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Compound_SERE"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Simple_SERE": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Fusion_SERE"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Concat_SERE"
|
|
}
|
|
]
|
|
},
|
|
"_PSL_Fusion_SERE": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "sequence_fusion",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_SERE"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_SERE"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_PSL_Concat_SERE": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "sequence_concatenation",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_SERE"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_SERE"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_PSL_Compound_SERE": {
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Repeated_SERE"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Braced_SERE"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Clocked_SERE"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Compound_SERE_And"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Compound_SERE_Within"
|
|
}
|
|
]
|
|
},
|
|
"named": true,
|
|
"value": "PSL_Compound_SERE"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Parameterized_SERE"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Compound_SERE_Or": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "sequence_or",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Compound_SERE"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "|"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Compound_SERE"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Compound_SERE_And": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "sequence_and",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Compound_SERE"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "&"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "&&"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Compound_SERE"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Compound_SERE_Within": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "sequence_within",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Compound_SERE"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[wW][iI][tT][hH][iI][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "within"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Compound_SERE"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Parameterized_SERE": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "for"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Parameters_Definition"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "|"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "&"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "&&"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "SERE",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_SERE"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Parameters_Definition": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Parameter_Specification"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Parameter_Specification"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"PSL_Parameter_Specification": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Identifier"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Index_Range"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "in"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Value_Set"
|
|
}
|
|
]
|
|
},
|
|
"_PSL_Sequence": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Sequence_Instance"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Repeated_SERE"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Braced_SERE"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Clocked_SERE"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Repeated_SERE": {
|
|
"type": "PREC_LEFT",
|
|
"value": "SERE_repetition",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Boolean"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Sequence"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Count"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Count": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "["
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 3,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "+"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 3,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "*"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 3,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "="
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 3,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "->"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Number"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Range"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "]"
|
|
}
|
|
]
|
|
},
|
|
"_PSL_Range": {
|
|
"type": "SYMBOL",
|
|
"name": "_range"
|
|
},
|
|
"PSL_Braced_SERE": {
|
|
"type": "PREC_RIGHT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_SERE"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Clocked_SERE": {
|
|
"type": "PREC_LEFT",
|
|
"value": "clocked",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_SERE"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "@"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Clock_Expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_PSL_Property": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Property_Replicator"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Ambiguous_Instance"
|
|
}
|
|
]
|
|
},
|
|
"_PSL_FL_Property": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Property_Instance"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Parenthesized_FL_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Sequential_FL_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Clocked_FL_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Invariant_FL_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Ocurrence_FL_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Extended_Ocurrence_FL_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Termination_FL_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Bounding_FL_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Suffix_Implication_FL_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Parameterized_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Implication_FL_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Logical_FL_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Factor_FL_Property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Boolean"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Parenthesized_FL_Property": {
|
|
"type": "PREC",
|
|
"value": "parenthesized_property",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Sequential_FL_Property": {
|
|
"type": "PREC_LEFT",
|
|
"value": -1,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Sequence"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "!"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Clocked_FL_Property": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "clocked",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": "clocked",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "@"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Clock_Expression"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Invariant_FL_Property": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "invariant_property",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][lL][wW][aA][yY][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "always"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][vV][eE][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "never"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Ocurrence_FL_Property": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "occurrence_property",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][xX][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "next"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][vV][eE][nN][tT][uU][aA][lL][lL][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "eventually"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "!"
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Implication_FL_Property": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "property_implication",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": "property_implication",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "->"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "<->"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Logical_FL_Property": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "logical_property",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": "logical_property",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "and"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "or"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Factor_FL_Property": {
|
|
"type": "PREC_LEFT",
|
|
"value": "property_factor",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][oO][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "not"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Extended_Ocurrence_FL_Property": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "occurrence_property",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[eE][vV][eE][nN][tT][uU][aA][lL][lL][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "eventually"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][xX][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "next"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][xX][tT][__][aA]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "next_a"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][xX][tT][__][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "next_e"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][xX][tT][__][eE][vV][eE][nN][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "next_event"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][xX][tT][__][eE][vV][eE][nN][tT][__][aA]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "next_event_a"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][eE][xX][tT][__][eE][vV][eE][nN][tT][__][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "next_event_e"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "!"
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Extended_Ocurrence_argument"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_PSL_Extended_Ocurrence_argument": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Extended_Ocurrence_FL_Property_Count_Specification"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Extended_Ocurrence_FL_Property_Until_Specification"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "Property",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
"_PSL_Extended_Ocurrence_FL_Property_Count_Specification": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Count"
|
|
}
|
|
]
|
|
},
|
|
"_PSL_Extended_Ocurrence_FL_Property_Until_Specification": {
|
|
"type": "PREC",
|
|
"value": "parenthesized_boolean",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "Boolean",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Boolean"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Count"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Termination_FL_Property": {
|
|
"type": "PREC_LEFT",
|
|
"value": "termination_property",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][sS][yY][nN][cC][__][aA][bB][oO][rR][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "async_abort"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][yY][nN][cC][__][aA][bB][oO][rR][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "sync_abort"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][bB][oO][rR][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "abort"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Boolean"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Bounding_FL_Property": {
|
|
"type": "PREC_RIGHT",
|
|
"value": "bounding_property",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[uU][nN][tT][iI][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "until"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][eE][fF][oO][rR][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "before"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "!"
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "_"
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Suffix_Implication_FL_Property": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PREC_RIGHT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "SERE",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_SERE"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "Property",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC_RIGHT",
|
|
"value": "sequence_implication",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "Sequence",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Sequence"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "|=>"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "Property",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "Sequence",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Sequence"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "|->"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "Property",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"PSL_Parameterized_Property": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "for"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Parameters_Definition"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "operator",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][nN][dD]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "and"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "or"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_FL_Property"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Property_Replicator": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][oO][rR][aA][lL][lL]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "forall"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Parameter_Specification"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "Property",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 3,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Property_Instance"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Property"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"PSL_Index_Range": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Range"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Value_Set": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "boolean"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Value_Range"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Value_Range"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"boolean": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][oO][oO][lL][eE][aA][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "boolean"
|
|
},
|
|
"_PSL_Value_Range": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Value"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Range"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Property_Declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][oO][pP][eE][rR][tT][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "property"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Identifier"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Formal_Parameter_List"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PREC_DYNAMIC",
|
|
"value": 3,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Property_Instance"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Property"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Sequence_Declaration": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][eE][qQ][uU][eE][nN][cC][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "sequence"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Identifier"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Formal_Parameter_List"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "is"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Sequence"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Formal_Parameter_List": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Formal_Parameter"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Formal_Parameter"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"PSL_Formal_Parameter": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Parameter_Specification"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Identifier"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Identifier"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_PSL_Parameter_Specification": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Constant_Parameter_Specification"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Temporal_Parameter_Specification"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Constant_Parameter_Specification": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][nN][sS][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "const"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][nN][sS][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "const"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_HDL_Type"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Type_Class"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"PSL_Temporal_Parameter_Specification": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][eE][qQ][uU][eE][nN][cC][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "sequence"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[pP][rR][oO][pP][eE][rR][tT][yY]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "property"
|
|
}
|
|
]
|
|
},
|
|
"PSL_HDL_Type": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[hH][dD][lL][tT][yY][pP][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "hdltype"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "subtype_indication"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Type_Class": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][oO][oO][lL][eE][aA][nN]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "boolean"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][iI][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "bit"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[bB][iI][tT][__][vV][eE][cC][tT][oO][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "bit_vector"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[nN][uU][mM][eE][rR][iI][cC]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "numeric"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][tT][rR][iI][nN][gG]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "string"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Instance": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Identifier"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Actual_Parameter_List"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_PSL_Ambiguous_Instance": {
|
|
"type": "PREC_DYNAMIC",
|
|
"value": -1,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Instance"
|
|
},
|
|
"named": true,
|
|
"value": "PSL_Ambiguous_Instance"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_PSL_Sequence_Instance": {
|
|
"type": "PREC_DYNAMIC",
|
|
"value": -2,
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Instance"
|
|
},
|
|
"named": true,
|
|
"value": "PSL_Sequence_Instance"
|
|
}
|
|
},
|
|
"_PSL_Property_Instance": {
|
|
"type": "PREC_DYNAMIC",
|
|
"value": -2,
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Instance"
|
|
},
|
|
"named": true,
|
|
"value": "PSL_Property_Instance"
|
|
}
|
|
},
|
|
"PSL_Actual_Parameter_List": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Actual_Parameter"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Actual_Parameter"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"PSL_Actual_Parameter": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Any_Type"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Sequence"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Property"
|
|
}
|
|
]
|
|
},
|
|
"_PSL_Directive": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Assert_Directive"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Assume_Directive"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Assume_Guarantee_Directive"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Restrict_Directive"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Restrict_Guarantee_Directive"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Cover_Directive"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Fairness_Directive"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Strong_Fairness_Directive"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Assert_Directive": {
|
|
"type": "PREC",
|
|
"value": "psl_assertion",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][sS][sS][eE][rR][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "assert"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Property"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_report"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"PSL_Assume_Directive": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][sS][sS][uU][mM][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "assume"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Property"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Assume_Guarantee_Directive": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[aA][sS][sS][uU][mM][eE][__][gG][uU][aA][rR][aA][nN][tT][eE][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "assume_guarantee"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Property"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_report"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Restrict_Directive": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][eE][sS][tT][rR][iI][cC][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "restrict"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Sequence"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Restrict_Guarantee_Directive": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[rR][eE][sS][tT][rR][iI][cC][tT][__][gG][uU][aA][rR][aA][nN][tT][eE][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "restrict_guarantee"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Sequence"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_report"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Cover_Directive": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[cC][oO][vV][eE][rR]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "cover"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Sequence"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_report"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Fairness_Directive": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][aA][iI][rR][nN][eE][sS][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "fairness"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Boolean"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Strong_Fairness_Directive": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[sS][tT][rR][oO][nN][gG]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "strong"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[fF][aA][iI][rR][nN][eE][sS][sS]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "fairness"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Boolean"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Boolean"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_PSL_Verification_Unit": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_VUnit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_VProp"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_VMode"
|
|
}
|
|
]
|
|
},
|
|
"PSL_VUnit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[vV][uU][nN][iI][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "vunit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Identifier"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Verification_Unit_Body"
|
|
}
|
|
]
|
|
},
|
|
"PSL_VProp": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[vV][pP][rR][oO][pP]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "vprop"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Identifier"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Verification_Unit_Body"
|
|
}
|
|
]
|
|
},
|
|
"PSL_VMode": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[vV][mM][oO][dD][eE]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "vmode"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_Identifier"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Verification_Unit_Body"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Verification_Unit_Body": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Hierarchical_HDL_Name"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "PSL_Inherit_Spec"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_VUnit_Item"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
},
|
|
"PSL_Hierarchical_HDL_Name": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_PSL_HDL_Module_NAME"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "."
|
|
}
|
|
},
|
|
{
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "/"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "instance",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_PSL_HDL_Module_NAME": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "entity",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "architecture",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_simple_name"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"PSL_Inherit_Spec": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[iI][nN][hH][eE][rR][iI][tT]"
|
|
}
|
|
}
|
|
},
|
|
"named": false,
|
|
"value": "inherit"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_name"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_name"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
}
|
|
]
|
|
},
|
|
"_PSL_VUnit_Item": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_declaration"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_concurrent_statement"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"extras": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "comment"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "tool_directive"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "\\s"
|
|
}
|
|
],
|
|
"conflicts": [
|
|
[
|
|
"_procedure_specification",
|
|
"procedure_instantiation_declaration"
|
|
],
|
|
[
|
|
"_function_specification",
|
|
"function_instantiation_declaration"
|
|
],
|
|
[
|
|
"positional_association_element",
|
|
"expression_list"
|
|
],
|
|
[
|
|
"positional_association_element",
|
|
"group_constituent_list",
|
|
"_primary"
|
|
],
|
|
[
|
|
"index_constraint",
|
|
"slice_name"
|
|
],
|
|
[
|
|
"resolution_function",
|
|
"type_mark",
|
|
"_primary"
|
|
],
|
|
[
|
|
"type_mark",
|
|
"_primary"
|
|
],
|
|
[
|
|
"type_mark",
|
|
"_primary",
|
|
"entity_instantiation"
|
|
],
|
|
[
|
|
"type_mark",
|
|
"_primary",
|
|
"PSL_Hierarchical_HDL_Name"
|
|
],
|
|
[
|
|
"type_mark",
|
|
"function_call"
|
|
],
|
|
[
|
|
"type_mark",
|
|
"ambiguous_name",
|
|
"function_call"
|
|
],
|
|
[
|
|
"type_mark",
|
|
"ambiguous_name",
|
|
"function_call",
|
|
"slice_name"
|
|
],
|
|
[
|
|
"type_mark",
|
|
"ambiguous_name",
|
|
"function_call",
|
|
"slice_name",
|
|
"record_element_resolution",
|
|
"type_mark"
|
|
],
|
|
[
|
|
"attribute_name",
|
|
"type_mark"
|
|
],
|
|
[
|
|
"attribute_name",
|
|
"_primary"
|
|
],
|
|
[
|
|
"_predefined_designator",
|
|
"_predefined_designator_with_expression"
|
|
],
|
|
[
|
|
"attribute_name",
|
|
"range_attribute_name",
|
|
"type_mark"
|
|
],
|
|
[
|
|
"positional_association_element",
|
|
"index_constraint"
|
|
],
|
|
[
|
|
"positional_association_element",
|
|
"_primary"
|
|
],
|
|
[
|
|
"named_association_element",
|
|
"_primary"
|
|
],
|
|
[
|
|
"generic_clause"
|
|
],
|
|
[
|
|
"port_clause"
|
|
],
|
|
[
|
|
"procedure_parameter_clause"
|
|
],
|
|
[
|
|
"function_parameter_clause"
|
|
],
|
|
[
|
|
"generic_map_aspect"
|
|
],
|
|
[
|
|
"port_map_aspect"
|
|
],
|
|
[
|
|
"constant_interface_declaration",
|
|
"signal_interface_declaration",
|
|
"variable_interface_declaration"
|
|
],
|
|
[
|
|
"_constant_mode",
|
|
"_signal_mode",
|
|
"_variable_mode"
|
|
],
|
|
[
|
|
"if_generate"
|
|
],
|
|
[
|
|
"else_generate"
|
|
],
|
|
[
|
|
"elsif_generate"
|
|
],
|
|
[
|
|
"elsif_generate"
|
|
],
|
|
[
|
|
"generate_statement_body"
|
|
],
|
|
[
|
|
"case_generate_alternative"
|
|
],
|
|
[
|
|
"PSL_Instance",
|
|
"_simple_name"
|
|
],
|
|
[
|
|
"_PSL_Property_Instance",
|
|
"_PSL_Sequence_Instance",
|
|
"_PSL_Ambiguous_Instance"
|
|
],
|
|
[
|
|
"_PSL_Property_Instance",
|
|
"_PSL_Sequence_Instance"
|
|
],
|
|
[
|
|
"PSL_Property_Replicator"
|
|
],
|
|
[
|
|
"PSL_Property_Declaration"
|
|
],
|
|
[
|
|
"_PSL_Compound_SERE",
|
|
"_PSL_Sequence"
|
|
],
|
|
[
|
|
"configuration_specification"
|
|
]
|
|
],
|
|
"precedences": [
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "declaration"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "primary_unit"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "declaration"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "secondary_unit"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "declaration"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "context_item"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "concurrent_statement"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "sequential_statement"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "concurrent_statement"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "declaration"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "component_declaration"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "simple_name"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "procedure_call"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "component_instantiation"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "record_element_constraint"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "type_mark"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "record_element_resolution"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "resolution_function"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "type_mark"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "resolution_function"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "primary"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "resolution_function"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "primary"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "physical_literal"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "attribute_name"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "physical_literal"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "group_constituent_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "primary"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "group_constituent_list"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "type_mark"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "generate_statement_element"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "primary"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "vhdl_assertion"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "psl_assertion"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "range"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "exponentiation"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "factor"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "term"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "sign"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "simple_expression"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "shift_expression"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "relation"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "logical_expression"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "reduction"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "condition"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "union"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "clocked"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "SERE_repetition"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "sequence_within"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "sequence_and"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "sequence_or"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "sequence_fusion"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "sequence_concatenation"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "termination_property"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "occurrence_property"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "bounding_property"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "sequence_implication"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "property_implication"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "invariant_property"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "psl_function_call"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "parenthesized_boolean"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "parenthesized_expression"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "occurrence_property"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "parenthesized_property"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "logical_expression"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "logical_property"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "factor"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "property_factor"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"type": "STRING",
|
|
"value": "implication"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "property_implication"
|
|
}
|
|
]
|
|
],
|
|
"externals": [],
|
|
"inline": [
|
|
"_entity_name",
|
|
"_generate_specification",
|
|
"_configuration_item",
|
|
"_block_specification",
|
|
"_designator",
|
|
"_subprogram_declaration",
|
|
"_subprogram_kind",
|
|
"_subprogram_body",
|
|
"_subprogram_instantiation_declaration",
|
|
"_uninstantiated_name",
|
|
"_package_name",
|
|
"_scalar_type_definition",
|
|
"_range",
|
|
"_range_attribute_name",
|
|
"_numeric_type_definition",
|
|
"_unit",
|
|
"_discrete_range",
|
|
"_object_declaration",
|
|
"_constraint",
|
|
"_element_constraint",
|
|
"_resolution_indication",
|
|
"_generic_interface_declaration",
|
|
"_port_interface_declaration",
|
|
"_procedure_interface_declaration",
|
|
"_function_interface_declaration",
|
|
"_alias_denotator",
|
|
"_illegal_interface_declaration",
|
|
"_subprogram_interface_declaration",
|
|
"_formal_part",
|
|
"_actual_part",
|
|
"_generic_interface_list",
|
|
"_port_interface_list",
|
|
"_procedure_parameter_list",
|
|
"_function_parameter_list",
|
|
"_clause",
|
|
"_group_template",
|
|
"_group_constituent",
|
|
"_component_name",
|
|
"_name",
|
|
"_range_attribute_designator",
|
|
"_external_object_name",
|
|
"_name_or_label",
|
|
"_external_pathname",
|
|
"_expression",
|
|
"_condition",
|
|
"_simple_expression",
|
|
"_string_expression",
|
|
"_severity_expression",
|
|
"_file_open_kind",
|
|
"_time_expression",
|
|
"_literal",
|
|
"_numeric_literal",
|
|
"_element_association",
|
|
"_value",
|
|
"_choice",
|
|
"_function_name",
|
|
"_signal_name",
|
|
"_sensitivity_clause",
|
|
"_condition_clause",
|
|
"_timeout_clause",
|
|
"_signal_assignment_statement",
|
|
"_simple_signal_assignment",
|
|
"_conditional_signal_assignment",
|
|
"_selected_signal_assignment",
|
|
"_variable_assignment_statement",
|
|
"_iteration_scheme",
|
|
"_concurrent_signal_assignment",
|
|
"_generate_statement",
|
|
"_library_unit",
|
|
"ReferenceError",
|
|
"ReferenceError",
|
|
"_identifier",
|
|
"_abstract_literal",
|
|
"_PSL_Identifier",
|
|
"_PSL_Boolean",
|
|
"_PSL_Any_Type",
|
|
"_PSL_Clock_Expression",
|
|
"_PSL_Value",
|
|
"_PSL_FL_Property",
|
|
"_PSL_Property",
|
|
"_PSL_HDL_Module_NAME"
|
|
],
|
|
"supertypes": []
|
|
}
|
|
|