AnáLisis LéXico

10
Análisis léxico Análisis léxico El análisis léxico es el proceso de convertir un flujo de caracteres de entrada en un flujo de palabras o elementos. Los elementos son grupos de caracteres con significancia. El análisis léxico es la primera etapa de: La indización automática El proceso de peticiones. Teoría de Autómatas y Compiladores Leopoldo Capa

Transcript of AnáLisis LéXico

Page 1: AnáLisis LéXico

Análisis léxicoAnálisis léxico•El análisis léxico es el proceso de convertir un flujo de caracteres de entrada en un flujo de palabras o elementos.•Los elementos son grupos de caracteres con significancia.•El análisis léxico es la primera etapa de:•La indización automática•El proceso de peticiones.

Teoría de Autómatas y Compiladores

Leopoldo Capa

Page 2: AnáLisis LéXico

Análisis léxicoAnálisis léxico

Función principal: generar una lista ordenada de tokens, a partir de los caracteres de entrada.

Esos tokens son usados por el AS para construír el árbol sintáctico.

El AL es un módulo subordinado al correspondiente del AS.

Page 3: AnáLisis LéXico

Funciones adicionales del AL.◦ Funciones adicionales del AL◦ Eliminación de caracteres espúreos Asistencia en el informe de errores elaborado por el AS

◦ Cuenta de números de línea con comentarios, macros

◦ Manejo de algunos errores En PASCAL el lexema 0:5 pertenecería al lenguaje y :5 no.

Exceder el número de caracteres máximo para un identificador.

Page 4: AnáLisis LéXico

Componentes léxicos, lexemas yComponentes léxicos, lexemas ypatronespatrones LEXEMA PATRÓN

COMPONENTE LÉXICO Precio Secuencia de letras

Identificador 128 Secuencia de dígitos

Constante numérica

= Carácter “=” Asignación

Page 5: AnáLisis LéXico

Un patrón es una regla que describe el conjunto de lexemas que puede representar a un conjunto léxico

Los componentes léxicos se tratan como terminales de la gramática del lenguaje fuente

• La devolución de un componente léxico se hace a través de un número entero

Page 6: AnáLisis LéXico

Especificación de componentesEspecificación de componentesléxicosléxicos

• Expresiones regulares (patrón).• Cada patrón concuerda con una serie de cadenas.

• Las expresiones regulares dan el nombre al conjunto de cadenas con que concuerdan.

Page 7: AnáLisis LéXico

Expresiones regularesExpresiones regulares

• Se construyen a partir de otras expresiones

regulares más simples• Cada expresión regular r, representa unlenguaje L(r)• Letra a u b u c u … u z• Dígito 1 u 2 u 3 u … u 0• Identificador letra(letra u dígito)*

Page 8: AnáLisis LéXico

Definiciones regularesDefiniciones regulares

• Dan nombres a las expresiones regulares• Nos permiten referenciarlas

recursivamente• Digito 1|2|3|4|5|6|7|8|9|0• Entero dígito+• Decimal .dígito+ | .dígito+E(+|-| )

dígito+• Real entero (decimal | )

Page 9: AnáLisis LéXico

AbreviaturasAbreviaturas

• * cero o más casos• + uno o más casos• [a-zA-Z] mayúsculas y minúsculas• [0-9] dígitos• ? Cero o un caso• Digito [0-9]• Entero digito+• Decimal .digito+exponente?• Exponente (E|e) (+|-)?digito+• Real entero decimal?

Page 10: AnáLisis LéXico

• Digito [0-9]• Entero digito+• Decimal .digito+exponente?• Exponente (E|e) (+|-)?digito+• Real entero decimal?