Anterior | Superior | Siguiente

Guía de referencia básica de Ada 95

Sentencias simples.

Introducción.

Sentencias simples son las que no contienen ninguna otra sentencia.

Asignación.

La asignación se expresa mediante el simbolo ":=" según la sintaxis:

Nombre_de_variable := Expresión;

El primer paso en la ejecución de una asignación es la evaluación de la expresión (r-value) cuyo resultado ha de ser compatible con el tipo de la variable de la izquierda (l-value).

La operación de asignación proporciona un valor nuevo a una variable y puede realizarse en formas distintas a la sentencia de asignación, por ejemplo, pasando un parámetro por copia a un subprograma o con una operación de entrada.

Sentencias que cambian el flujo de ejecución.

Se agrupan bajo este epígrafe las sentencias que permiten abandonar la ejecución de bucles, "saltar" a un punto concreto de un programa, regresar desde un subprograma o acabar la ejecución de una tarea concurrente.

Una sentencia exit permite abandonar la ejecución de un bucle, ello puede hacerse de manera incondicional, o en función de una condición booleana asociada al exit por una cláusula when.

loop
   ...
   exit;
   ...
end loop;

loop
     ...
     exit when Condición;
     ...
end loop;

Existe la posibilidad de especificar en la sentencia exit un identificador asociado previamente con uno de los bucles que la engloban, ello permite salir de un conjunto de bucles anidados usando una única sentencia.

Bucle_Externo:
loop
   loop

     ...
     exit Bucle_Externo when Condición ;
     ...
   end loop;
end loop;

Una sentencia de salto incondicional (goto) continúa la ejecución en un punto especificado por una etiqueta. Una etiqueta se forma con un identificador encerrado entre los simbolos "<<" y ">>".

<<Etiqueta_1>>
...
goto Etiqueta_1;

Una sentencia de salto incondicional sólo puede transferir la ejecución a una etiqueta situada en la misma secuencia de sentencias (no puede salir de un subprograma, ni ir a una sección de tratamiento de excepciones, ni entrar dentro de una estructura alternativa, ...).

Una sentencia de retorno (return) sirve para terminar la ejecución de un subprograma, un entry_body o un accept_statement. En el caso de una función, debe ir acompañada de una expresión que especifique el valor a devolver por la misma.

return; --return de un procedimiento
return Resultado; --return de una función

La ejecución de una función siempre debe terminar con una sentencia return (salvo casos excepcionales relacionados con la inserción de código máquina).

Otras sentencias simples.

La lista completa de clases de sentencias simples de Ada 95 es la siguiente:

null_statement           null;
assignment_statement     Nombre_de_variable := Expresión;
exit_statement           exit [Nombre_bucle] [when condition];
goto_statement           goto Nombre_Etiqueta;
procedure_call_statement Nombre_procedimiento;
                         Nombre_procedimiento(Lista_de_parámetros_reales);
return_statement         return Expresión;
entry_call_statement     Nombre_entry [Parámetros_reales];
requeue_statement        requeue Nombre_entry [with abort]
delay_statement          delay until Expresión_espera; | delay Expresión_espera ;
abort_statement          abort Nombre_tarea { , Nombre_tarea};
raise_statement          raise [Nombre_excepción];
code_statement           Expresión_cualificada;

© Grupo de Estructuras de Datos y Lingüística Computacional - ULPGC.
Anterior | Superior | Siguiente