ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Analizadores Lexicos


Enviado por   •  14 de Noviembre de 2014  •  1.555 Palabras (7 Páginas)  •  476 Visitas

Página 1 de 7

5.1 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 es un autómata finito determinista que reconoce el lenguaje generado por las expresiones regulares correspondientes a las unidades sintácticas del lenguaje.

• Funcionamiento del analizador léxico

Analizador léxico funciona como subrutina del analizador sintáctico.

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.

Definiciones.

Tokens:

• Símbolos terminales de una gramática

o Identificadores, palabras reservadas, operadores,...

o Varios signos pueden forman el mismo token

Atributos:

Información adicional que tiene el token, de utilidad para el análisis sintáctico y semántico.

Componentes léxicos (tokens):

unidad mínima de información que significa algo a la hora de compilar; concepto de palabra; las fases de un lenguaje constan de cadenas de componentes léxicos.

Lexema:

Una secuencia de caracteres de entrada que comprenden un solo componente léxico se llama lexema; cadena de caracteres que extrae el componente abstracto del componente léxico.

Patrón:

Descripción de la forma que han de tomarlos lexemas para ajustarse a un componente 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

5.2 Componentes léxicos, patrones y lexemas.

Componente léxico (token).

Son las unidades lógicas que genera el analizador léxico. Formar caracteres en tokens es muy parecido a formar palabras en un lenguaje natural

Es el conjunto de cadenas de entrada que produce como salida el mismo componente léxico. Cada token es una secuencia de caracteres que representa una unidad de información en el programa fuente. Los componentes léxicos más comunes son los siguientes: palabras clave o reservadas:

• operadores aritméticos

• operadores

• relacionales

• operadores lógicos

• operador de asignación

• identificadores

• constantes

• cadenas

• literales

• signos de puntuación

• librerías

Lexema:

Representan cadenas de caracteres en el programa fuente que se pueden tratar juntos como una unidad léxica. Un lexema es una secuencia de caracteres en el programa fuente con la que concuerda el patrón para un componente léxico.

Patrón:

Regla que describe el conjunto de lexemas que pueden representar a un determinado componente léxico en los programas fuente. En otras palabras, es la descripción del componente léxico mediante una regla.

Atributos de los componentes léxicos:

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:

• Apuntador a la entrada de la Tabla de símbolos donde se guarda la información sobre el componente léxico.

• El lexema para un identificador

• El número de línea en que se encontró por primera vez.

5.3 Creación de Tabla de tokens.

Tabla:

...

Descargar como (para miembros actualizados)  txt (10.8 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com