Anterior | Superior | Siguiente

Guía de referencia básica de Ada 95

Elementos léxicos básicos

Conjunto de caracteres.

Ada 95 utiliza el "Basic Multilingual Plane (BMP) of the ISO 10646 Universal Multiple-Octet Coded Character Set" más algunos caracteres de formato y otros de control en los comentarios. Los caracteres usados se clasifican como: letras mayúsculas, letras minúsculas, dígitos, el carácter espacio, caracteres de control de formato (character tabulation (HT), line tabulation (VT), carriage return (CR), line feed (LF) y form feed (FF)), otros caracteres de control (distintos de los de formato y que se permiten dentro de los comentarios, dependen de la implementación de Ada 95) y caracteres especiales (los que no encajan en ninguna de las anteriores categorías).

El paquete Characters.Latin_1 declara constantes para nombrar los caracteres del conjunto BMP ISO 10646-1.

Elementos léxicos, separadores y delimitadores.

El código fuente (texto) de un programa en Ada se distribuye en un conjunto de unidades de compilación, cada una de las cuales está formada por una secuencia de elementos léxicos. Cada elemento léxico está formado por una secuencia de caracteres y puede ser: un identificador, un delimitador, una palabra reservada, un literal numérico, un literal carácter, un literal ristra o un comentario. Todas las implementaciones de Ada garantizan que una línea puede tener hasta 200 caracteres y, en consecuencia, que se pueden tener elementos léxicos de 200 caracteres, estos valores pueden ser mayores en algunas implementaciones.

Entre dos elementos léxicos consecutivos puede haber cualquier número de separadores, pero debe haber al menos uno si estos elementos léxicos son identificadores, palabras reservadas o literales numéricos. El papel de separador lo cumplen: el carácter espacio (salvo dentro de un comentario), el carácter de tabulación (salvo dentro de un comentario) y el final de línea. Al principio y al final de una unidad de compilación puede haber cualquier número de separadores.

Un delimitador es uno de los siguientes caracteres:

& ' ( ) * + , – . / : ; < = > |

También son delimitadores (compuestos) las siguientes parejas de caracteres:

=> .. ** := /= >= <= << >> <>

Identificadores.

Los identificadores son nombres que designan entidades del programa (variables, constantes, subprogramas, ...). En Ada un identificador se forma comenzando con una letra y siguiendo con una combinación de letras, dígitos y el carácter guión bajo ("_"). No se establece diferencia entre las letras mayúsculas y minúsculas, por lo que dos secuencias de caracteres que sólo se diferenciaran en ese aspecto, representan el mismo identificador. Son ejemplos de identificadores:

Nombre_Empleado
Raíz_Cuadrada
Año
Persona_1

Como en el ejemplo, es usual que los identificadores compuestos de varias palabras se formen juntando las palabras con guión bajo y con las letras iniciales en mayúscula.

Palabras reservadas.

Las palabras reservadas son aquellas que tienen definido un significado especial en el lenguaje y no pueden usarse para otro propósito (por ejemplo, no sirven como identificadores).

abort 
abs 
abstract 
accept 
access 
aliased 
all 
and 
array 
at 
 
begin 
body 
 
case 
constant 
 
declare 
delay 
delta 
digits 
do 
 
else 
elsif 
end 
entry 
exception 
exit 
 
for 
function 
 
generic 
goto 
 
if 
in 
is 
 
 
limited 
loop 
 
mod 
 
new 
not 
null 
 
 
of 
or 
others 
out 
 
package 
pragma 
private 
procedure 
protected 
 
raise 
range 
record 
rem 
renames 
requeue 
 
return 
reverse 

select 
separate 
subtype 

tagged 
task 
terminate 
then 
type 
 

until 
use 

when 
while 
with 

xor 
 

Literales.

Un literal es la representación de un valor mediante alguna notación adecuada. En Ada se distinguen: literales numéricos, literales carácter, literales ristra y el literal null, que es un valor específico de los tipos "access" (punteros).

Los literales numéricos pueden ser enteros (integer literal) o reales (real literal). La forma más básica de un literal numérico es una secuencia de dígitos, si es entero, o una secunecia de dígitos que incluye un punto, si es real.

12 --entero 12
12.0 --real 12.0

Existe además la posibilidad de incluir el caráter guión_bajo, añadir un exponente que especifique una potencia de la base de representación por la que hay que multiplicar el número para obtener el valor que representa o expresar valores en bases distintas de la decimal.

1_987 --entero 1987
1E3 --entero 1000
5.0E-1 --real 0.5
2#1111000# --entero 120, en base 2

Un literal carácter se forma poniendo un carácter entre apóstrofes:

'a', 'b', 'c', ...

Un literal ristra (string literal) se forma con una secuencia de caracteres encerrados entre comillas.

"ejemplo de ristra"

Dos comillas sin ningún carácter enmedio representan una ristra nula.

Comentarios.

Un comentario se puede poner en cualquier punto del programa, empieza con dos guiones ("--") y termina con el final de la línea en que se encuentre.

--esto es un comentario
end Un_Procedimiento; --esto es otro

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