Análisis lexicográfico
EJEMPLO
Análisis lexicográfico
 Estudia la primera fase de un compilador, es decir su análisis lexicográfico,
también denominado abreviadamente análisis léxico. Las técnicas
utilizadas para construir analizadores léxicos también se pueden aplicar a
otras áreas como, por ejemplo, a lenguajes de consulta y sistemas de
recuperación de información.
Concepto de analizador léxico
 Se encarga de buscar los componentes léxicos o palabras que componen
el programa fuente, según unas reglas o patrones.
 La entrada del analizador léxico podemos definirla como una secuencia
de caracteres, que pueda hallarse codificada según cualquier estándar 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.
EJEMPLO
Token
 También llamado componente léxico. 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.
Reconocimiento de Token.
 En un estado determinado, todas las expresiones regulares se consideran
posibles tokens. Consume el número máximo de caracteres de la cadena
de entrada que coincida con alguna de las expresiones regulares, el token
manager prefiere el match más largo que sea posible. Si existieran
múltiples matches (de la misma longitud), se elige la expresión regular que
ocurre antes en el archivo de la gramática.
 Una vez que el token manager determina un match, los diferentes tipos de
expresiones regulares especifican las acciones que deben realizarse
cuando una expresión regular ha sido reconocida:
Funciones principales de un
analizador lexicográfico
 Necesidad del analizador léxico
 Simplificación del diseño
 Eficiencia
 Portabilidad
 Patrones complejos
Funciones del analizador léxico
 El analizador léxico es la primera fase de un compilador. Su principal
función consiste en leer los caracteres de entrada y elaborar como salida
una secuencia de componentes léxicos que utiliza el analizador sintáctico
para hacer el análisis.
Además de esta función principal, el analizador
léxico también realiza otras de gran importancia:
 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.
 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.
Autómatas de Estado Finitos
 Este mecanismo consiste en construir los patrones necesarios para cada
categoría léxica, construir sus automátas finitos individuales, fusionarlos por
opcionalidad y, finalmente, implementar los autómatas resultantes.
Aunque la construcción de analizadores mediante este método es
sistemática y no propensa a errores, cualquier actualización de los
patrones reconocedores implica la modificación del código que los
implementa, por lo que el mantenimiento se hace muy costoso.
Diagrama de transición
Introducción a la teoría de lenguajes
 Cualquier comunicación se realiza mediante cadenas de símbolos que
corresponden a un lenguaje.
 Lenguajes son conjuntos de cadenas de símbolos (palabras, oraciones,
textos o frases).
El estudio de los lenguajes se reduce,
básicamente, a:
 Sintaxis: (gramática)
 define las secuencias de símbolos que forman cadenas válidas deun lenguaje
 Gramática: Descripción formalizada de las oracionesde un lenguaje. Una
gramática genera o describe un lenguaje.
 Semántica:
 significado de las cadenas que componen un lenguaje.
autómatas de Estados finitos no
determinísticos
 Un autómata finito no determinista (abreviado AFND) es un autómata finito
que, a diferencia de los autómatas finitos deterministas (AFD), posee al
menos un estado q ∈ Q, tal que para un símbolo a ∈ Σ del alfabeto, existe
más de una transición δ(q,a) posible.
En un AFND puede darse cualquiera de estos dos casos:
 Que existan transiciones del tipo δ(q,a)=q1 y δ(q,a)=q2, siendo q1 ≠ q2;
 Que existan transiciones del tipo δ(q, ε), siendo q un estado no-final, o
bien un estado final pero con transiciones hacia otros estados.
 Cuando se cumple el segundo caso, se dice que el autómata es un
autómata finito no determinista con transiciones vacías o transiciones ε
(abreviado AFND-ε). Estas transiciones permiten al autómata cambiar de
estado sin procesar ningún símbolo de entrada. Considérese una
modificación al modelo del autómata finito para permitirle ninguna, una o
más transiciones de un estado sobre el mismo símbolo de entrada.

Más contenido relacionado

PPT
Automatas de pila
PPT
Operaciones entre lenguajes
PPTX
Clasificacion de Interpretes
PPTX
Modelo furps
PDF
Análisis Semántico con Cup
PDF
maquinas de turing
PDF
Alfabetos-Lenguajes y Automatas 1
PDF
Automatas de pila
Operaciones entre lenguajes
Clasificacion de Interpretes
Modelo furps
Análisis Semántico con Cup
maquinas de turing
Alfabetos-Lenguajes y Automatas 1

La actualidad más candente (20)

PPTX
Análisis léxico y análisis sintáctico
PPTX
Mecanismos de exclusion mutua y algoritmos
PDF
Analizador Léxico en C++
PPTX
Control de flujo en Telecomunicaciones
PPTX
Gramática Libre de Contexto
PDF
Tutorial de JFLAP
PDF
Automatas y gramaticas
PDF
automatas finitos
PDF
Gramaticas y lic
DOCX
control de concurrencia
PPT
Actividad 2 Analizador léxico, sintáctico y semántico
PPTX
Estructura de un traductor Lenguajes y automatas.pptx
PDF
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
PPTX
Control de Flujo [Telecomunicaciones]
DOCX
preguntas de algoritmos
PDF
Arboles de derivacion
PPTX
Tipos de gramatica y arboles de derivacion
PPT
Analizador léxico
PPT
Analisis Lexico
PPTX
Analizador Sintáctico
Análisis léxico y análisis sintáctico
Mecanismos de exclusion mutua y algoritmos
Analizador Léxico en C++
Control de flujo en Telecomunicaciones
Gramática Libre de Contexto
Tutorial de JFLAP
Automatas y gramaticas
automatas finitos
Gramaticas y lic
control de concurrencia
Actividad 2 Analizador léxico, sintáctico y semántico
Estructura de un traductor Lenguajes y automatas.pptx
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Control de Flujo [Telecomunicaciones]
preguntas de algoritmos
Arboles de derivacion
Tipos de gramatica y arboles de derivacion
Analizador léxico
Analisis Lexico
Analizador Sintáctico
Publicidad

Similar a Análisis lexicográfico (20)

PPTX
Analizador léxico
PPTX
Analizador léxico
PDF
Analisis lexico automatas i
DOCX
Lexicos.docx
PPTX
Compilador2
PDF
investigacion.pdf
PPTX
diaposichap.pptx
PDF
Compiladores, Analisis Lexico Conceptos
PDF
Clase6 conceptos del analisis lexico
PDF
Análisis Sintáctico
PPTX
Compiladores unidad1
PDF
Taller de actividades de compiladores 06 06 2019
PPTX
lexico.pptx
PDF
Analizador Léxico, Analizador Sintáctico
PPTX
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
DOCX
Capítulo 2 compiladores (willian gallo -------boris chungandro)
PDF
TALLER ANALISIS LEXICO
PPTX
Introducción a los compiladores - Parte 2
PDF
Compiladores analisis lexico
PDF
investigacion 4.4 y 4.5.pdf
Analizador léxico
Analizador léxico
Analisis lexico automatas i
Lexicos.docx
Compilador2
investigacion.pdf
diaposichap.pptx
Compiladores, Analisis Lexico Conceptos
Clase6 conceptos del analisis lexico
Análisis Sintáctico
Compiladores unidad1
Taller de actividades de compiladores 06 06 2019
lexico.pptx
Analizador Léxico, Analizador Sintáctico
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
Capítulo 2 compiladores (willian gallo -------boris chungandro)
TALLER ANALISIS LEXICO
Introducción a los compiladores - Parte 2
Compiladores analisis lexico
investigacion 4.4 y 4.5.pdf
Publicidad

Último (20)

PDF
POWER TRABAJADORES DE LA ONSTRUCCION.pdf
PPTX
PRESENTACION CARACTERISTICAS DE MODO Y MEDIO DE TRANSPORTE.pptx
PDF
Carmen juliana ortiz torres como saber como luce una liquidacion
PPTX
LA IMPORTANCIA DE AUTONOMIAvbcvbcbcvbcvb.pptx
PDF
bioetics en el aula de clases como una herramienta
PPTX
ssdvnsjdfvnmsjcvldxnojlsdclknsdxlcnsss.pptx
PPTX
RIESGO MECANICO USO DE HERRAMIENTAS MANUALES Y ELECTRICAS.pptx
PDF
REPERTORIO LOS CONQUISTADORES DE LA SALSA 2025.pdf
PPTX
ANTIHISTMÍNICOS 2025.pptxsnsksksmsmsdksk
PDF
PPT clase manejo paciente neurocrítico.pdf
PPTX
CASAMbgvgtvghvgfv_Aportes_Llamativo.pptx
PDF
Presentacion seminariooooooooooooooooooo
PPTX
EXTINCION DE LA REL. LAB. [Autoguardado].pptx
PPTX
4. Bronquitis y EPOC.pptx ffwerrwerwerwerwerwerwer
PDF
Mills_Module_2_-_Components_and_Function_SPA_Bambas_Template_LMS.pdf
PDF
Tema 2. Normas Técnicas de Seguridad Ocupacional y Medio Ambiente.pdf
DOCX
381716026-INFORME-FENCYT la consa cccccc
PPT
trabajo-en-equipo-conceptos y ejemplos varios
PDF
Actividad de aprendizaje 1.1_Hernandez de la Torre Samuel Alejandro.pdf
PDF
a11 complicaciones d diabetes mellitus a
POWER TRABAJADORES DE LA ONSTRUCCION.pdf
PRESENTACION CARACTERISTICAS DE MODO Y MEDIO DE TRANSPORTE.pptx
Carmen juliana ortiz torres como saber como luce una liquidacion
LA IMPORTANCIA DE AUTONOMIAvbcvbcbcvbcvb.pptx
bioetics en el aula de clases como una herramienta
ssdvnsjdfvnmsjcvldxnojlsdclknsdxlcnsss.pptx
RIESGO MECANICO USO DE HERRAMIENTAS MANUALES Y ELECTRICAS.pptx
REPERTORIO LOS CONQUISTADORES DE LA SALSA 2025.pdf
ANTIHISTMÍNICOS 2025.pptxsnsksksmsmsdksk
PPT clase manejo paciente neurocrítico.pdf
CASAMbgvgtvghvgfv_Aportes_Llamativo.pptx
Presentacion seminariooooooooooooooooooo
EXTINCION DE LA REL. LAB. [Autoguardado].pptx
4. Bronquitis y EPOC.pptx ffwerrwerwerwerwerwerwer
Mills_Module_2_-_Components_and_Function_SPA_Bambas_Template_LMS.pdf
Tema 2. Normas Técnicas de Seguridad Ocupacional y Medio Ambiente.pdf
381716026-INFORME-FENCYT la consa cccccc
trabajo-en-equipo-conceptos y ejemplos varios
Actividad de aprendizaje 1.1_Hernandez de la Torre Samuel Alejandro.pdf
a11 complicaciones d diabetes mellitus a

Análisis lexicográfico

  • 3. Análisis lexicográfico  Estudia la primera fase de un compilador, es decir su análisis lexicográfico, también denominado abreviadamente análisis léxico. Las técnicas utilizadas para construir analizadores léxicos también se pueden aplicar a otras áreas como, por ejemplo, a lenguajes de consulta y sistemas de recuperación de información.
  • 4. Concepto de analizador léxico  Se encarga de buscar los componentes léxicos o palabras que componen el programa fuente, según unas reglas o patrones.  La entrada del analizador léxico podemos definirla como una secuencia de caracteres, que pueda hallarse codificada según cualquier estándar 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.
  • 6. Token  También llamado componente léxico. 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.
  • 7. Reconocimiento de Token.  En un estado determinado, todas las expresiones regulares se consideran posibles tokens. Consume el número máximo de caracteres de la cadena de entrada que coincida con alguna de las expresiones regulares, el token manager prefiere el match más largo que sea posible. Si existieran múltiples matches (de la misma longitud), se elige la expresión regular que ocurre antes en el archivo de la gramática.
  • 8.  Una vez que el token manager determina un match, los diferentes tipos de expresiones regulares especifican las acciones que deben realizarse cuando una expresión regular ha sido reconocida:
  • 9. Funciones principales de un analizador lexicográfico  Necesidad del analizador léxico  Simplificación del diseño  Eficiencia  Portabilidad  Patrones complejos
  • 10. Funciones del analizador léxico  El analizador léxico es la primera fase de un compilador. Su principal función consiste en leer los caracteres de entrada y elaborar como salida una secuencia de componentes léxicos que utiliza el analizador sintáctico para hacer el análisis.
  • 11. Además de esta función principal, el analizador léxico también realiza otras de gran importancia:  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.
  • 12.  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.
  • 13. Autómatas de Estado Finitos  Este mecanismo consiste en construir los patrones necesarios para cada categoría léxica, construir sus automátas finitos individuales, fusionarlos por opcionalidad y, finalmente, implementar los autómatas resultantes. Aunque la construcción de analizadores mediante este método es sistemática y no propensa a errores, cualquier actualización de los patrones reconocedores implica la modificación del código que los implementa, por lo que el mantenimiento se hace muy costoso.
  • 15. Introducción a la teoría de lenguajes  Cualquier comunicación se realiza mediante cadenas de símbolos que corresponden a un lenguaje.  Lenguajes son conjuntos de cadenas de símbolos (palabras, oraciones, textos o frases).
  • 16. El estudio de los lenguajes se reduce, básicamente, a:  Sintaxis: (gramática)  define las secuencias de símbolos que forman cadenas válidas deun lenguaje  Gramática: Descripción formalizada de las oracionesde un lenguaje. Una gramática genera o describe un lenguaje.  Semántica:  significado de las cadenas que componen un lenguaje.
  • 17. autómatas de Estados finitos no determinísticos  Un autómata finito no determinista (abreviado AFND) es un autómata finito que, a diferencia de los autómatas finitos deterministas (AFD), posee al menos un estado q ∈ Q, tal que para un símbolo a ∈ Σ del alfabeto, existe más de una transición δ(q,a) posible.
  • 18. En un AFND puede darse cualquiera de estos dos casos:  Que existan transiciones del tipo δ(q,a)=q1 y δ(q,a)=q2, siendo q1 ≠ q2;  Que existan transiciones del tipo δ(q, ε), siendo q un estado no-final, o bien un estado final pero con transiciones hacia otros estados.
  • 19.  Cuando se cumple el segundo caso, se dice que el autómata es un autómata finito no determinista con transiciones vacías o transiciones ε (abreviado AFND-ε). Estas transiciones permiten al autómata cambiar de estado sin procesar ningún símbolo de entrada. Considérese una modificación al modelo del autómata finito para permitirle ninguna, una o más transiciones de un estado sobre el mismo símbolo de entrada.