4. Procesador de Lenguaje
• Programa informático que recibe como entrada un texto
escrito en algún formato, lo analiza y, opcionalmente,
produce un resultado.
• Ejemplos:
• Compilador
• Intérprete
• Conversores de formatos
• Formateadores de texto
5. Fases Principales
• Análisis Léxico
Lee secuencia de caracteres y devuelve símbolos léxicos
(tokens)
• Análisis sintáctico
Lee secuencia de símbolos léxicos y los agrupa en
sentencias (frases)
• Análisis semántico
Comprueba la corrección del significado de las sentencias.
8. Análisis Léxico
• Lee secuencia de caracteres y devuelve tokens al
analizador sintáctico.
• Es el encargado de procesar el medio de entrada (ej.
Fichero de entrada)
• No devuelve tokens para los símbolos no significativos
(espacios en blanco, comentarios,…)
• La especificación léxica debe expresarse mediante un
lenguaje formal: expresiones regulares
9. Análisis léxico
• Ejemplo de expresión regular:
[0-9]+
• Generadores automáticos de analizadores léxicos:
• Lex/Flex
• ANTLR
11. Análisis sintáctico
• Recibe secuencia de tokens y comprueba que forman una
secuencia (frases o sentencia) válida.
• Suele producir una representación de las construcciones
sintácticas reconocidas: árbol sintáctico.
• La especificación sintáctica debe expresarse mediante un
lenguaje formal: gramáticas incontextuales.
13. Resumen
• Qué es un procesador de lenguajes
• Análisis léxico: De secuencia de caracteres a tokens
• Análisis sintáctico: De secuencia de tokens a sentencias.
• Análisis semántico: Procesa asignando significado.