13
Procesadores de Lenguaje Introducción a los Procesadores de Lenguaje Lic. Emilce Micaela Rojas

Procesadores de lenguaje resumen 1

Embed Size (px)

Citation preview

Procesadores de Lenguaje

Introducción a los Procesadores de Lenguaje

Lic. Emilce Micaela Rojas

Objetivos

1. Qué es un Procesador de Lenguaje (PdL)

2. Análisis Léxico

3. Análisis Sintáctico

QUÉ ES UN PROCESADOR DE LENGUAJE?

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

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.

Fases principales

Analizador Léxico Tokens

Analizador Sintáctico

Procesamiento semántico

2. ANALIZADOR LÉXICO

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

Análisis léxico

• Ejemplo de expresión regular:

[0-9]+

• Generadores automáticos de analizadores léxicos:• Lex/Flex• ANTLR

3. ANÁLISIS SINTÁCTICO

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.

Análisis sintáctico

• Ejemplo de gramática incontextual

Expresion: expresion OPSUMA expresion

CTE

• Generadores automáticos de analizadores sitnácticos:• Yacc / Bison• ANTLR

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.