jueves, 28 de mayo de 2020

Unidad 4 Funciones del analizador léxico.


Un analizador léxico aísla el analizador sintáctico de la representación de lexemas de los componentes léxicos.

El analizador léxico opera bajo petición del analizador sintáctico devolviendo un componente léxico conforme el analizador sintáctico lo va necesitando para avanzar en la gramática.Los componentes léxicos son los símbolos terminales de la gramática.

Suele implementarse como una subrutina del analizador sintáctico. Cuando recibe la orden obtén el siguiente componente léxico, el analizador léxico lee los caracteres de entrada hasta identificar el siguiente componente léxico.


Funciones:


1- Eliminación de espacios en blanco

2-reconocimiento de identificadores y palabras claves

3- Analizador léxico ”scanner” lee la secuencia de los caracteres del programa fuente, y los agrupa para formar unidades con significado propio.






El analizador léxico es la primera fase de un compilador.

Esta interacción, suele aplicarse convirtiendo al analizador léxico en una subrutina o corrutina del analizador sintáctico. Recibida la orden "obtén el siguiente componente léxico" del analizador sintáctico, el analizador léxico lee los caracteres de entrada hasta que pueda identificar el siguiente componente léxico.


Funciones secundarias.

Ciertas funciones secundarias en la interfaz del usuario, como eliminar del programa fuente comentarios y espacios en blanco en forma de caracteres de espacio en blanco, caracteres TAB y de línea nueva. Otra función es relacionar los mensajes de error del compilador con el programa fuente. Por ejemplo, el analizador léxico puede tener localizado el número de caracteres de nueva línea detectados, de modo que se pueda asociar un número de línea con un mensaje de error.

En algunos compiladores, el analizador léxico se encarga de hacer una copia del programa fuente en el que están marcados los mensajes de error. Si el lenguaje fuente es la base de algunas funciones de pre procesamiento de macros, entonces esas funciones del preprocesador también se pueden aplicar al hacer el análisis léxico.




Ejemplo:
Otras Funciones:
  • Manejo del fichero de entrada del programa fuente: abrirlo, leer sus caracteres, cerrarlo y gestionar posibles errores de lectura.
  • Eliminar comentarios, espacios en blanco, tabuladores y saltos de línea (caracteres no validos para formar un token).
  • Inclusión de ficheros: # include...
  • La expansión de macros y funciones in line: # define...
  • Contabilizar el número de líneas y columnas para emitir mensajes de error.
  • Reconocimiento y ejecución de las directivas de compilación (por ejemplo, para depurar u optimizar el código fuente).
Aspectos del Análisis Léxico.

Diseño más sencillo:
  • Los símbolos que trata el scanner se describe con una gramática más simple que la del parser, gramática regular
Mejora la eficiencia:
  • Gran parte del tiempo de compilación se consume en la lectura y exploración de caracteres
Mejora la portabilidad:
  • Se pueden tener varias versiones del scanner una para distintos códigos (EBCDID, ASCII, ...), con el mismo parser
Descarga el análisis sintáctico:
Ejemplo; no puedo distinguir en FORTRAN hasta después del 1
o    DO 5 I=1.25

o    DO 5 I=1,25

No hay comentarios:

Publicar un comentario

Codigo y Video final de la evidencia del Carrito

El carrito pudimos hacerlo con un arduino para quese mueva , nos faltaron sensores pero es lo que pudimos pagar en el video se muestra que q...