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.
A
editarabort
editarLa palabra abort se usa tanto para abortar una tarea o una partición.
abs
editarabs se utiliza como el operador prefijo unitario que devuelve el valor absoluto de un número.
abstract
editarabstract 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.
accept
editaraccept se utiliza para aceptar citas en una tarea.
access
editarLa palabra reservada access se utiliza en las declaraciones de tipo puntero.
aliased
editaraliased se utiliza en la declaración de variables o campos de registros que tienen potencialmente uno o varios punteros referenciandolos.
all
editarEsta 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.
and
editarSe utiliza como el operador lógico de conjunción y en Ada 2005 para añadir a un tipo una determinada interfaz.
array
editarPara declarar tipos array.
at
editarat se usa en cláusulas de representación.
B
editarbegin
editarbegin se utiliza para indicar el inicio de la secuencia de sentencias en un bloque o en el cuerpo de un subprograma, tarea o paquete.
body
editarLa palabra body se utiliza en la definición del cuerpo (implementación) de paquetes y tareas.
C
editarcase
editarEsta palabra se usa en las sentencias case y en la definición de registros variantes.
constant
editarEsta palabra se utiliza para declarar objetos constantes y números con nombre.
D
editardeclare
editarEsta palabra indica el comienzo de la parte declarativa de un bloque.
delay
editardelay 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;
delta
editarSe utiliza para la declaración de tipos de coma fija.
digits
editarSe utiliza para la declaración de tipos de coma flotante.
do
editarUsado en la aceptación de citas en tareas.
E
editarelse
editarUsada en la sentencia if-then-else.
elsif
editarUsada en la sentencia if-then-else.
end
editarUtilizada para marcar el final de una de las siguientes estructuras:
- Sentencias de control
- Cuerpos de subprogramas
- Registros
- Especificaciones y cuerpos de paquetes
- Tareas, objetos protegidos, sentencias de aceptación de citas y de selección de citas.
- Bloques
entry
editarPara definir una cita de una tarea o de un objeto protegido.
exception
editarPara declarar excepciones o definir un manejardor.
exit
editarPara salir de un bucle condicional o incondicionalmente.
F
editarfor
editarUsada en los bucles for y en las cláusulas de representación.
function
editarPara definir funciones.
G
editargeneric
editarPara definir unidades genéricas.
goto
editarPara la sentencia goto.
I
editarif
editarUsada en la sentencia if-then-else.
in
editarin se utiliza en:
- El test de pertenencia.
- Los modos in e in out de los parámetros de subprogramas.
interface
editarSólo Ada 2005. Usada para declarar una interfaz que puede luego implementarse con un tipo etiquetado.
is
editarEsta palabra se usa comúnmente para separar la declaración de un identificador de su definición. En concreto se encuentra en:
- Definiciones de tipos.
- Definiciones de subtipos.
- Declaraciones de especificaciones y cuerpos de paquetes.
- Definiciones de cuerpos de subprogramas.
- Instanciaciones de genéricos
L
editarlimited
editarLa palabra reservada limited se usa en:
- Declaraciones de tipos limitados.
- Sólo Ada 2005. Interdependencia limitada de paquetes.
loop
editarloop es utilizada en los bucles simple, for y while.
M
editarmod
editarmod se utiliza como operador binario que devuelve el módulo.
Modulo := X mod Y;
N
editarnew
editarnew se utiliza en los siguientes contextos:
not
editar- Es el operador lógico de negación.
- Es parte de la comprobación de no pertenencia,
not in
.
null
editar- El valor nulo de un puntero
- Definición de un registro nulo y del valor de ese tipo.
- Parte nula de un registro variante.
- Sentencia nula.
O
editarof
editarEn la declaración de tipos array.
or
editarothers
editarothers 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.
out
editarModos out e in out de parámetros de procedimientos.
overriding
editarSolo 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.
P
editarpackage
editarpackage se usa en la especificación y cuerpo de paquetes.
pragma
editarpragma se usa para aplicar un pragma a la compilación.
private
editar- Para declarar tipos privados.
- Marcar el inicio de la parte privada de una especificación de paquete.
procedure
editarPara declarar procedimientos, punteros a procedimiento y procedimientos como parámetros formales de genéricos.
protected
editarUsado en las unidades protegidas.
R
editarraise
editarEn las sentencias que levantan una excepción nombrada o relanzan la excepción actual en un manejador de excepciones.
range
editarLa palabra clave range se utiliza para:
- Definir el primer y último valor en una declaración de tipo entero o enumeración.
- Definir el rango mínimo en un tipo de coma flotante o de coma fija.
- El rango de un tipo array.
- Opcionalmente, para definir el rango en un bucle for cuando se especifica el tipo de la variable índice.
record
editarUsada en declaraciones de tipos registro.
rem
editarEsta 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)
renames
editarUtilizada para renombrar un paquete, objeto o subprograma.
requeue
editarLa sentencia requeue se emplea para redirigir una llamada que esté encolada en un punto de entrada de una tarea hacia otra cola.
return
editar- 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.
reverse
editarEn 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
Iin
reverse
1 .. 10loop
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
Iin
reverse
10 .. 1loop
Ada.Text_IO.Put (Integer'Image (I));-- No entra al bucle
end
loop
;
S
editarselect
editarEn la selección de citas en tareas.
separate
editarEn la declaración y definición de subunidades.
subtype
editarEn la declaración de subtipos.
synchronized
editarSolo Ada 2005: Para declarar que una interfaz tiene que ser implementada por un tipo tarea o un tipo protegido.
type
Personajeis
synchronized
interface
;
T
editartagged
editarEn la declaración y extensión de tipos etiquetados.
task
editarEn la declaración y cuerpo de tareas y tipos tarea.
terminate
editarPara terminar tareas.
then
editarEn la instrucción if-then-else y en el operador lógico de conjunción corto-circuitado (and
then
).
type
editarEn la declaración de tipos y en los parámetros de tipo en unidades genéricas.
U
editaruntil
editarEs 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);
use
editaruse 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.
W
editarwhile
editarSe 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.
with
editarSe utiliza en los siguientes contextos: