Los nombres sirven para designar entidades (objetos de datos, unidades de librería, tipos de datos, ...) declaradas, objetos o subprogramas referenciados por un puntero (explicit_dereference), el resultado de una conversión de tipos (type_conversion) o una llamada a una función (function_call, operator_symbol), componentes o slices de un objeto compuesto, atributos, etc.
name ::= direct_name | explicit_dereference | indexed_component | slice | selected_component | attribute_reference | type_conversion | function_call | character_literal direct_name ::= identifier | operator_symbol prefix ::= name | implicit_dereference