Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Control
1
Botón 1
Control
2
El A. Léxico debe tomar todo el texto del Control
1 y asignarlo a una variable CAD del tipo cadena
(char o string o cualquiera equivalente
dependiendo del LP).
Se debe tener manejo pleno sobre esta cadena.
◦ Poder determinar la longitud de la misma.
◦ Poder desplazarse mediante una variable apuntador
sobre cualquier posición de CAD (hacia adelante y hacia
atrás).
Esta cadena CAD se irá recorriendo carácter a
carácter de izquierda a derecha para identificar y
almacenar los tokens y lexemas que sean parte
del programa fuente.
En ese recorrido debemos obviar todos los CE (saltos
de línea, tabuladores, espacios en blanco, etc).
Se procede en éste recorrido a identificar según el
caracter en análisis de que patrón se trata (un patrón
para cada token por lo general).
Recordar que todo patrón se implementa mediante ER,
AFN y luego pasan a ser algoritmos que controlan el
desenvolvimiento del analizador léxico.
Una vez identificado un lexema como un token
determinado, se procede a concatenar el lexema y
guardar todos los datos que la Tabla de Símbolos
exige.
Luego de haber almacenado un lexema se
continua con el siguiente caracter hasta llegar
al final de CAD.
Si se detectara un error, entonces se procede a
guardar los datos en la Tabla de Símbolos y
también en la Tabla de Errores.
Finalmente, el A. Léxico informa al usuario
sobre el éxito o detección de errores en la
scaneada sobre el programa fuente.
C++ en español.
Es una estructura estática.
Código Símbolo Tipo / Token Código Símbolo Tipo / Token
1 Procedimiento Palabra reservada – PR 31 } Separador – SEP
2 Funcion Palabra reservada – PR 32 [ Separador – SEP
3 Principal Palabra reservada – PR 33 ] Separador – SEP
4 Entero Palabra reservada – PR 34 + Operador – OP
5 Decimal Palabra reservada – PR 35 - Operador – OP
6 Doble Palabra reservada – PR 36 * Operador – OP
7 Caracter Palabra reservada – PR 37 / Operador – OP
8 Cadena Palabra reservada – PR 38 © (Alt + 184) Operador – OP
9 Booleano Palabra reservada – PR 39 = Asignador – AS
10 Si Palabra reservada – PR 40 == Comparador – CMP
11 Entonces Palabra reservada – PR 41 <= Comparador – CMP
12 Sino Palabra reservada – PR 42 >= Comparador – CMP
13 Abrir Palabra reservada – PR 43 < Comparador – CMP
14 Caso Palabra reservada – PR 44 > Comparador – CMP
15 Quiebre Palabra reservada – PR 45 != Comparador – CMP
16 Defecto Palabra reservada – PR 46 ^^ (Alt + 94) Relacionador – REL
17 Para Palabra reservada – PR 47 || (Alt + 124) Relacionador – REL
18 Mientras Palabra reservada – PR 48 , (Alt + 44) Signo puntuación – SP
19 Hacer Palabra reservada – PR 49 ; (Alt + 59) Signo puntuación – SP
20 Mostrar Palabra reservada – PR 50 : (Alt + 58) Signo puntuación – SP
21 Leer Palabra reservada – PR 51 “ (Alt + 34) Signo puntuación – SP
22 Limpiar Palabra reservada – PR 52 . (Alt + 46) Punto flotante – PF
23 Pausa Palabra reservada – PR 53 identificador Variable – ID
24 Absoluto Palabra reservada – PR 54 número entero Exp. NumE – ENT
25 Residuo Palabra reservada – PR 55 número decimal Exp. NumD – DEC
26 Exponente Palabra reservada – PR 56 cadena Exp. Cadena – CAD
27 RaizCua Palabra reservada – PR 57 Símbolo desconocido – SD
28 ( Separador – SEP 58 // Comentario línea – COM
29 ) Separador – SEP 59 /* */ Comentario párrafo – COM
30 { Separador – SEP
Palabras reservadas.
Separadores.
Operadores.
Asignador.
Comparador.
Relacionador.
Signos de puntuación.
Punto Flotante.
Variables o identificadores.
Números enteros.
Números decimales.
Cadenas.
Comentarios (Línea y párrafo).
Símbolos desconocidos.
Si verifica alguna funcionalidad adicional
implementarla.
◦ Tratamiento de CE.
◦ Información al usuario.
Cualquier LP que pueda aprovechar
eficientemente los recursos de la maquina; y
que pueda manejar caracteres, cadenas y
estructuras de datos de manera sencilla.