Programación en Ada/Palabras reservadas

Esta página es una referencia del uso y significado en cada contexto de las palabras reservadas de Ada.

AEditar

abortEditar

La palabra abort se usa tanto para abortar una tarea o una partición.

absEditar

abs se utiliza como el operador prefijo unitario que devuelve el valor absoluto de un número.

abstractEditar

abstract define un método y un tipo etiquetado como abstracto, es decir, el tipo base de una clase de tipos que comparten ciertas propiedades, pero el cual no puede instanciarse por tener algunas operaciones primitivas sin implementar.

acceptEditar

accept se utiliza para aceptar citas en una tarea.

accessEditar

La palabra reservada access se utiliza en las declaraciones de tipo puntero.

aliasedEditar

aliased se utiliza en la declaración de variables o campos de registros que tienen potencialmente uno o varios punteros referenciandolos.

allEditar

Esta palabra se utiliza en:

  • Declaración de tipos puntero que pueden apuntar a variables aliased y no sólo a objetos creados en el montón (heap).
  • Desreferenciación de punteros.

andEditar

Se utiliza como el operador lógico de conjunción y en Ada 2005 para añadir a un tipo una determinada interfaz.

arrayEditar

Para declarar tipos array.

atEditar

at se usa en cláusulas de representación.

BEditar

beginEditar

begin se utiliza para indicar el inicio de la secuencia de sentencias en un bloque o en el cuerpo de un subprograma, tarea o paquete.

bodyEditar

La palabra body se utiliza en la definición del cuerpo (implementación) de paquetes y tareas.

CEditar

caseEditar

Esta palabra se usa en las sentencias case y en la definición de registros variantes.

constantEditar

Esta palabra se utiliza para declarar objetos constantes y números con nombre.

DEditar

declareEditar

Esta palabra indica el comienzo de la parte declarativa de un bloque.

delayEditar

delay se utiliza para retardar la ejecución del programa durante unos segundos o hasta un tiempo determinado.

delay 10.5;
Ahora := Ada.Calendar.Clock;
delay until Ahora + 30.0;

deltaEditar

Se utiliza para la declaración de tipos de coma fija.

digitsEditar

Se utiliza para la declaración de tipos de coma flotante.

doEditar

Usado en la aceptación de citas en tareas.

EEditar

elseEditar

Usada en la sentencia if-then-else.

elsifEditar

Usada en la sentencia if-then-else.

endEditar

Utilizada para marcar el final de una de las siguientes estructuras:

entryEditar

Para definir una cita de una tarea o de un objeto protegido.

exceptionEditar

Para declarar excepciones o definir un manejardor.

exitEditar

Para salir de un bucle condicional o incondicionalmente.

FEditar

forEditar

Usada en los bucles for y en las cláusulas de representación.

functionEditar

Para definir funciones.

GEditar

genericEditar

Para definir unidades genéricas.

gotoEditar

Para la sentencia goto.

IEditar

ifEditar

Usada en la sentencia if-then-else.

inEditar

in se utiliza en:

interfaceEditar

Sólo Ada 2005. Usada para declarar una interfaz que puede luego implementarse con un tipo etiquetado.

isEditar

Esta palabra se usa comúnmente para separar la declaración de un identificador de su definición. En concreto se encuentra en:


LEditar

limitedEditar

La palabra reservada limited se usa en:

loopEditar

loop es utilizada en los bucles simple, for y while.

MEditar

modEditar

mod se utiliza como operador binario que devuelve el módulo.

Modulo := X mod Y;

NEditar

newEditar

new se utiliza en los siguientes contextos:

notEditar

nullEditar

OEditar

ofEditar

En la declaración de tipos array.

orEditar

  • Operador lógico de disyunción inclusiva.
  • En la sentencia select en tareas.

othersEditar

others se utiliza en varios contextos en los que se indica el resto de casos posibles en una lista de opciones:

  • Inicialización del resto de elementos de un array.
  • Caso por defecto en una sentencia case.
  • Caso por defecto en la definición de un registro variante.
  • Tratamiento por defecto de cualquier otra excepción en un manejador de excepción.

outEditar

Modos out e in out de parámetros de procedimientos.

overridingEditar

Solo Ada 2005. Para declarar que un método debe redefinir un método heredado. Con not overriding se declara lo contrario, que no debe existir un método con este nombre en la clase del tipo etiquetado.

PEditar

packageEditar

package se usa en la especificación y cuerpo de paquetes.

pragmaEditar

pragma se usa para aplicar un pragma a la compilación.

privateEditar

procedureEditar

Para declarar procedimientos, punteros a procedimiento y procedimientos como parámetros formales de genéricos.

protectedEditar

Usado en las unidades protegidas.

REditar

raiseEditar

En las sentencias que levantan una excepción nombrada o relanzan la excepción actual en un manejador de excepciones.

rangeEditar

La palabra clave range se utiliza para:

recordEditar

Usada en declaraciones de tipos registro.

remEditar

Esta palabra clave se usa como el operador que devuelve el resto (remainder) de la división entera con signo, es decir, la siguiente igualdad es verdadera:

A = (A/B) * B + (A rem B)

renamesEditar

Utilizada para renombrar un paquete, objeto o subprograma.

requeueEditar

La sentencia requeue se emplea para redirigir una llamada que esté encolada en un punto de entrada de una tarea hacia otra cola.

returnEditar

  • Para declarar el tipo del valor devuelto en la definición de una función.
  • En una sentencia return, para devolver el control al llamador desde un subprograma. Si es una función se indica además el valor devuelto, si es un procedimiento, el return no tiene argumentos.

reverseEditar

En un bucle for indica que la cuenta se ha de llevar a cabo en sentido inverso al ordinario.

Por ejemplo, el siguiente bucle imprime: 10 9 8 7 6 5 4 3 2 1.

for I in reverse 1 .. 10 loop
   Ada.Text_IO.Put (Integer'Image (I));
end loop;

Sin embargo, el siguiente bucle no imprime nada porque un rango cuyo primer valor es mayor que el segundo es un rango nulo.

for I in reverse 10 .. 1 loop
   Ada.Text_IO.Put (Integer'Image (I)); -- No entra al bucle
end loop;

SEditar

selectEditar

En la selección de citas en tareas.

separateEditar

En la declaración y definición de subunidades.

subtypeEditar

En la declaración de subtipos.

synchronizedEditar

Solo Ada 2005: Para declarar que una interfaz tiene que ser implementada por un tipo tarea o un tipo protegido.

type Personaje is synchronized interface;

TEditar

taggedEditar

En la declaración y extensión de tipos etiquetados.

taskEditar

En la declaración y cuerpo de tareas y tipos tarea.

terminateEditar

Para terminar tareas.

thenEditar

En la instrucción if-then-else y en el operador lógico de conjunción corto-circuitado (and then).

typeEditar

En la declaración de tipos y en los parámetros de tipo en unidades genéricas.

UEditar

untilEditar

Es parte de la sentencia delay until usada para producir una espera hasta un tiempo absoluto en el futuro.

Tiempo_Referencia := Ada.Calendar.Clock;

-- [...] Algún procesamiento que lleve un tiempo indeterminado.

-- Se espera hasta que hayan pasado 5 s. desde el tiempo de referencia
-- (continúa inmediatamente en caso de que el tiempo ya haya pasado).
delay until Tiempo_Referencia + Duration (5.0);

useEditar

use Paquete;
Hace visible directamente el contenido de un paquete.
use type Tipo;
Hace visible solo los operadores asociados al tipo, para poder usar notación infija.

WEditar

whileEditar

Se utiliza para definir un tipo de bucle que se encuentra en la mayoría de los lenguajes de programación estructurados y cuyo propósito es repetir un bloque de código mientras una condición se mantenga verdadera. Ver Sentencias y estructuras de control.

withEditar

Se utiliza en los siguientes contextos:

XEditar

xorEditar

  • Operador lógico de disyunción exclusiva.
  • En la sentencia select en tareas.

Manual de referencia de AdaEditar