identifier

An identifier contains an optional qualifier in order to denote the scope unit in which the entity is defined:

<identifier>::= [<qualifier>] <name>

where qualifier defines the path:

<qualifier>::= <path-item>{`/`<path-item>;* |

`<<` <path-item>{`/`<path-item>* `>>`

The qualifier gives the path from either the system level, or from the innermost level from where the name is unique, to the defining scope unit.

Each path-item have this form:

<path-item>::= <scope-unit-kind>{<name> | <quoted-operator>}

where scope-unit-kind is one of

A definition in an inner scope unit overrides definitions with the same name in outer scope units. Qualifiers may be used in order to identify overridden entities.

Qualifiers may be omitted if not needed in order to identify the right entity in the right scope unit.

States, connectors and macros cannot be qualified. States and connectors are not visible outside their defining scope unit, except in a subtype definition.