Documente Academic
Documente Profesional
Documente Cultură
Valor asociado a una clave k: v(B(k)). Puede ser múltiple, en cuyo caso
normalmente se convierte en un puntero. Si está en la tabla puede almacenarse
consecutivamente o en subtablas paralelas. Tablas de símbolos (identificadores) La
clave es el identificador. El valor está formado por:
https://lenguajesyautomatasblog.wordpress.com/2017/05/15/tabla-de-tokens/
Garcia Caltzoncin Luis Eduardo - Lenguajes y Autómatas-
Martha Beatriz Coronado Rosales-ISC
Tabla: conjunto de pares clave-valor, llamados elementos de la tabla. La tabla de símbolos es una
componente necesaria de un compilador. Al declarar un identificador (normalmente una sola vez),
éste es insertado en la tabla. Cada vez que se utilice el identificador se realizará una búsqueda en
la tabla para obtener la información asociada (el valor).
De una clave: Li = número de comparaciones con elementos de la tabla para encontrar esa clave.
Máxima: LM = número máximo de comparaciones para encontrar cualquier clave. Media
(esperada): Lm = número medio de comparaciones para encontrar un valor. Si la frecuencia de
todas las claves es la misma:
Lm = (S Li)/N
Lm = S pi.Li
Grado de ocupación:
Valor asociado a una clave k: v(B(k)). Puede ser múltiple, en cuyo caso normalmente se convierte
en un puntero. Si está en la tabla puede almacenarse consecutivamente o en subtablas paralelas.
Tablas de símbolos (identificadores) La clave es el identificador. El valor está formado por:
Atributos del identificador. Puntero a la posición de memoria asignada. La clave puede sustituirse
por un puntero. Los identificadores pueden estar empaquetados. La longitud del identificador
puede especificarse en la tabla o delante del nombre, o ser implícita.
Garcia Caltzoncin Luis Eduardo - Lenguajes y Autómatas-
Martha Beatriz Coronado Rosales-ISC
Tablas consecutivas: Todos los elementos ocupan posiciones de memoria adyacentes. Tablas
ligadas: cada elemento apunta al siguiente. Tablas doblemente ligadas: cada elemento apunta al
siguiente y al anterior. Tablas no ordenadas Inserción: en el primer lugar vacío.
http://10380054.galeon.com/u5.htm
El analizador léxico, también conocido como scanner, lee los caracteres del
programa fuente, uno a uno, desde el fichero de entrada y va formando grupos de
caracteres con alguna relación entre sí (tokens). Cada token es tratado como una
única entidad, constituyendo la entrada de la siguiente fase del compilador.
Cadenas especificas, como las palabras reservadas (if, while, ...), signos de
puntuación (., ,, =, ...), operadores aritméticos (+,*, ...) y lógicos (AND, OR, ...),
etc. Habitualmente, las cadenas especificas no tienen asociado ningún valor, sólo
su tipo.
La tabla de símbolos puede iniciarse con cierta información útil, tal como:
https://es.scribd.com/document/225947303/5-3-Creacion-de-Tablas-Token
Garcia Caltzoncin Luis Eduardo - Lenguajes y Autómatas-
Martha Beatriz Coronado Rosales-ISC
5.4 Errores léxicos
El análisis léxico constituye la primera fase, aquí se lee el programa fuente de
izquierda a derecha y se agrupa en componentes léxicos (tokens), que son
secuencias de caracteres que tienen un significado. Además, todos los espacios en
blanco, líneas en blanco, comentarios y demás información innecesaria se elimina
del programa fuente. También se comprueba que los símbolos del lenguaje
(palabras clave, operadores,...) se han escrito correctamente.
Son pocos los errores simplemente en el nivel léxico ya que tiene una visión muy
restringida de un programa fuente. El analizador léxico debe devolver el
componente léxico de un identificador y dejar a otra fase se ocupe de los errores.
Suponga que una situación en la cual el analizador léxico no puede continuar porque
ninguno de los patrones concuerda con un prefijo de la entrada. Tal vez la estrategia
de recuperación más sencilla sea recuperación “EN MODO PANICO” (este método
de recuperación es donde se borra caracteres sucesivos de la entrada hasta que el
analizador léxico pueda encontrar un componente léxico bien formado). ¡¡Los
programas no siempre son correctos!!
http://10380054.galeon.com/u5.htm
Garcia Caltzoncin Luis Eduardo - Lenguajes y Autómatas-
Martha Beatriz Coronado Rosales-ISC
Son pocos los errores simplemente en el nivel léxico ya que tiene una visión muy
restringida de un programa fuente. El analizador léxico debe devolver el
componente léxico de un identificador y dejar a otra fase se ocupe de los errores.
https://lenguajesyautomatasblog.wordpress.com/2017/05/15/errores-lexicos/