Declaración y definición de tipos enumerados

Explicación

Los tipos enumerados se definen enumerando la lista de valores literales del tipo (un valor literal enumerado puede ser un carácter literal o una secuencia de caracteres válida como identificador). El orden y la posición de los valores de un tipo enumerado vienen determinados por el orden en que se enumeran (al primer valor de la lista le corresponde el valor cero). Tipos enumerados distintos pueden definirse con literales iguales, cuando el uso de estos literales pueda resultar ambiguo se deberán cualificar con el nombre del tipo. Se pueden definir subtipos de un tipo enumerado especificando un rango de valores. La entrada/salida de valores de un tipo enumerado se realiza instanciando el paquete Ada.Text_IO.Enumeration_IO.

A los tipos enumerados les son aplicables los atributos generales de los tipos escalares y, en particular, los atributos de los tipos discretos.

Sintaxis

enumeration_full_type_declaration ::= 
     type defining_identifier is enumeration_type_definition;

enumeration_type_definition ::= 
   (enumeration_literal_specification {, enumeration_literal_specification})

enumeration_literal_specification ::=  defining_identifier | defining_character_literal

defining_character_literal ::= character_literal

 

Ejemplo

type Semana is (Lun, Mar, Mie, Jue, Vie, Sab, Dom);
type Dígito_Romano is ('I', 'V', 'X', 'L', 'C', 'D', 'M');
type Colores is (Rojo, Naranja, Amarillo, Verde, Azul Añil, Violeta);
type Semáforo is (Verde, Amarillo, Rojo);

Véase