Está en la página 1de 9

ANALIZADOR

LÉXICO
FLORES AVALOS RODRIGO EMMANUEL
¿QUE ES?

ES UN PROGRAMA QUE SE ENCARGA DE


BUSCAR LOS COMPONENTES LÉXICOS O
PA L A B R A S Q U E C O M P O N E N E L
PROGRAMA FUENTE, SEGÚN REGLAS O
PAT R O N E S P R E D E F I N I D O S PA R A E L
LENGUAJE A TRABAJAR.
• El analizador léxico divide esta secuencia en
palabras con significado propio y después las
convierte a una secuencia de terminales desde el
punto de vista del analizador sintáctico
• Dicha secuencia es el punto de partida para que
el analizador sintáctico construya el árbol
sintáctico que reconoce la/s sentencia/s de
entrada ¿CÓMO
FUNCIONA?
• Eliminar los comentarios del programa.
• Eliminar espacios en blanco, tabuladores, retorno de
carro, etc, y en general, todo aquello que carezca de
significado según la sintaxis del lenguaje.
• Reconocer los identificadores de usuario, números,
palabras reservadas del lenguaje, etc., y tratarlos
correctamente con respecto a la tabla de símbolos (solo
en los casos en que este analizador deba tratar con dicha USOS DEL
estructura). PROGRAMA
• Llevar la cuenta del número de línea por la que va
leyendo, por si se produce algún error, dar información
acerca de dónde se ha producido.
• Avisar de errores léxicos. Por ejemplo, si el carácter
‘@’ no pertenece al lenguaje, se debe emitir un error.
• También puede hacer funciones de preprocesador.
NECESIDAD DE LOS ANALIZADORES
LÉXICOS
Ya que el sintáctico trabaja con
gramáticas de contexto libre su
necesidad es evitar una
sobrecarga de operadores en el
analizador sintáctico,
delegando así una parte del
trabajo del analizador sintáctico
al analizador léxico haciendo
más eficientes los procesos de
compilación.
FUNCIONAMIENTO

• Desde un punto de vista muy general, podemos abstraer el programa que implementa un
análisis léxicográfico mediante una estructura como

• donde cada acción a ejecutar es un fragmento de programa que describe cuál ha de ser la acción
del analizador léxico cuando la secuencia de entrada coincida con la expresión regular
Algunas definiciones

Patrón: es una expresión regular.

Token: es la categoría léxica asociada a un patrón. Cada token se convierte


en un número o código identificador único. En algunos casos, cada número
tiene asociada información adicional necesaria para las fases posteriores de
la etapa de análisis. El concepto de token coincide directamente con el
concepto de terminal desde el punto de vista de la gramática utilizada por el
analizador sintáctico.

Lexema: Es cada secuencia de caracteres concreta que encaja con un patrón.


P.Or ejemplo “8", “23" y “50" son algunos lexemas que encajan con el
patrón
(‘0'|’1'|’2'| ... |’9') . El número de lexemas que puede encajar con un patrón +
puede ser finito o infinito, p.ej. en el patrón ‘W’‘H’‘I’‘L’‘E’ sólo encaja el
lexema “WHILE”.
CONCLUSIONE
El saber como funciona un S
analizador léxico y su diferencia
con el analizador sintáctico es de
suma importancia y sobre todo de
cara a hacer un programa de este
estilo para generar un compilador
como proyecto final.
 JAVA A TOPE: TRADUCTORES Y
FUENTE DE COMPILADORES CON LEX/YACC,
JFLEX/CUP Y JAVACC. EDICIÓN
INFORMACIÓN ELECTRÓNICA

También podría gustarte