Você está na página 1de 3

Relación entre el Análisis

Léxico y Tabla de Símbolos


Asignatura: Lenguajes y Autómatas I

Catedrático: Alumnos:
M.C.C Anamim Villareal Wong  Cabrera Ramírez Marlene
 Villarreal Hernández Luis
 Barrios Hernández Karen Patricia

Carrera y Grupo:
Ingeniería en Sistemas Computacionales
• Grupo “C” Tapachula Chiapas México,
Lunes 14 de Mayo de 2018
Introducción
La misión de la tabla de símbolos es colaborar en las comprobaciones semánticas y facilitar la
generación de código. Las operaciones que podemos necesitar para utilizarla son la de inserción,
búsqueda o consulta, actualización y eliminación. La eficiencia de estas operaciones depende de
la estructura de datos utilizada, y puede hacer que el compilador consuma mucho tiempo en los
accesos a la misma. El contenido principal de esta tabla son los tipos disponibles en el lenguaje y
la información que guardamos está en función de la estructura y el propósito de las declaraciones.

Tabla De Símbolos.
La tabla de símbolos es una colección de símbolos que utiliza nuestro texto para almacenar
información de cada token. El procesador del lenguaje interactúa con ella para almacenar y
consultar su contenido. Almacena todos los nombres declarados en el programa y sus atributos
(tipo, valor, dirección, parámetros, etc.).

Se usa en las distintas fases del compilador

Almacena información sobre:

 Los identificadores.
 Las palabras reservadas.
 Las constantes

Por cada entrada en la tabla de símbolos habrá que guardar:

• Lexema correspondiente.
• Tipo. (depende de la implementación)
• Ámbito. (depende de la implementación)
• Dirección de memoria asignada.
• Forma. (depende de la implementación)

Análisis Léxico.
En la fase de análisis se estudia el lenguaje del programa fuente, errores, elementos de interés,
etc. Esta fase también se denomina procesador del lenguaje.

Se encarga de analizar los elementos más pequeños de un texto que tienen sentido por sí mismas.
Un programa fuente es una serie de símbolos (letras, símbolos, caracteres especiales: +,*, !). Con
estos símbolos se representan las construcciones del lenguaje tales como variables, etiquetas,
palabras reservadas, constantes, etc. Es necesario que el compilador o traductor identifique los
distintos significados de estas construcciones, que los creadores de lenguajes dan en la definición
del lenguaje.

El programa fuente se trata inicialmente con el analizador léxico (en inglés scanner), con el
propósito de agrupar el texto en grupos de caracteres con significado propio llamados tokens o
componentes léxicos, tales como variables, identificadores, palabras reservadas y operadores.
Por razones de eficiencia a cada token se le asocia un atributo (o más de uno) que se representa
internamente por un código numérico o por un tipo enumerado.

En general, el análisis léxico es un análisis a nivel de caracteres, su misión es reconocer los


componentes léxicos o tokens, enviando al analizador sintáctico (en la siguiente etapa) los tokens
y sus atributos.

Atributos De Los Componentes Léxicos:

• Cuando concuerda con un lexema más de un patrón, el analizador léxico debe


proporcionar información adicional sobre el lexema concreto que concordó con las fases
del compilador.

• El analizador léxico recoge información sobre los componentes léxicos en sus atributos
asociados.

• Los componentes léxicos influyen en las decisiones del análisis sintáctico, y los atributos,
en la traducción de los componentes léxicos.

• En la práctica, los componentes léxicos suelen tener un solo atributo – un apuntador a la


entrada de la tabla de símbolos donde se guarda la información sobre el componente
léxico; el apuntador se convierte en el atributo del componente léxico.

Funciones (Tareas).
 Leer caracteres de entrada y generar como salida
 Una secuencia de componentes léxicos
 Eliminar espacios en blanco
 Eliminar comentarios
 Proporcionar información acerca de errores léxicos

Relación Del Análisis Léxicos Y Tabla De Símbolos.


La tabla de símbolos va a guardar cada palabra analizada, la va identificar como un lexema y le
va asociar un identificador numérico para posteriormente utilizarlo. El análisis léxico se encarga
de realizar todo el análisis y mandarlo hacia la tabla de símbolo y asignarlo a un grupo que
pertenece el lexema.

 Nombre del identificador.


 Dirección en tiempo de ejecución a partir de cual se almacena el identificador si es una
variable.
 Tipo de identificador. Si es una función, el tipo que devuelve la función.
 Número de dimensiones del array (arreglo), o número de miembros de una estructura o
clase, o número de parámetros si es una función.
 Tamaño máximo de cada una de las dimensiones del arreglo.

Você também pode gostar