Ciertamente no es muy agradable comenzar el estudio de un lenguaje con un tema tan árido como son los detalles de la construcción de cosas tales como identificadores y números, sin embargo ello es esencial para un conocimiento acabado de un lenguaje y, obviamente, para la correcta construcción de programas.
- Elementos léxicos
Un programa Ada se escribe como una secuencia de líneas de texto que contienen los siguientes caracteres:
- alfabeto a-z y A-Z
- dígitos 0-9
• otros caracteres “ # & ´( ) * + , – / : ; < = > _ |
- el carácter blanco
Se debe tener presente que los siguientes delimitadores compuestos no deben contener espacios:
• => usado en when, cases, etc.
- .. usado para rangos
- ** para exponenciación
- := para asignación
- /= no igual
- >= mayor o igual
- <= menor o igual
- <> para arreglos
– Identificadores
Un identificador se define de la siguiente manera: identifier ::= letter {[underline] letter_or_digit}
letter_or_digit ::= letter | digit
letter ::= upper_case_letter | lower_case_letter
Esto quiere decir que un identificador consiste en una letra seguida (posiblemente) de una o más letras o dígitos con subrayados aislados. Se pueden usar letras mayúsculas y minúsculas, las que no son tomadas como diferenciadores de identificadores, por ejemplo:
Sueldo_Base y SUELDO_BASE
son el mismo identificador. A pesar de esta libertad para escribir los identificadores, se recomienda, para una mejor legibilidad usar minúsculas para las palabras reservadas y mayúsculas para los demás identificadores.
Ada no impone un límite en el largo del identificador, sin embargo, puede haber limitaciones impuestas por implementaciones específicas. De esta manara se estimula el uso de nombres de variables autodocumentados como SUELDO_BASE en lugar del poco significativo S.
Ejercicio: Indique cuáles de los siguientes identificadores son incorrectos y por qué
- Ada
- fish&chips
- RATE-OF-FLOW
- UMO164G
- TIME_ _LAG
- 77E2
- X_
- tax rate
- goto
-
Números
Los números pueden ser enteros o reales. La mayor diferencia es que los reales siempre contienen un punto decimal y los enteros no. Es ilegal usar un entero donde el contexto indica que debe usarse un real y viceversa. Entonces
AGE: INTEGER := 43.9; y WEIGHT: REAL := 150;
son expresiones incorrectas.
La forma más simple de un entero es una secuencia de dígitos, y la de un real es una secuencia de dígitos con un punto decimal. Nótese que debe haber al menos un dígito a cada lado del punto decimal.
A diferencia de otros lenguajes en Ada tanto los enteros como los reales pueden tener exponente, el cual se indica con una letra E (puede ser minúscula) seguida de un entero con o sin signo. El exponente no puede ser negativo en el caso de un entero (si así fuera el resultado podría no ser un entero). Por ejemplo el real 98.4 podría ser escrito con exponente de las siguientes formas:
9.84E1 98.4e0 984.0e-1 0.984E+2
pero 984e-1 sería incorrecto.
En forma análoga, el entero 1900 podría escribirse con exponente como: 19E2 190e+1 1900E+0
pero 19000 e-1 sería incorrecto.
Ejercicio: Indique cuáles de las siguientes secuencias de dígitos son reales o enteros válidos. a) 38.6
- .5
- 32e2 d) 32e-2
e) E+6
f) 27.4e_2
- Comentarios
ejemplo:
Un comentario en Ada es cualquier texto ubicado a la derecha de dos guiones (seguidos), por
— Este es un comentario
PUT(SQRT(2.5)); — Este es otro comentario
El comentario se extiende hasta el final de la línea.
0 comentarios