Documentos de Académico
Documentos de Profesional
Documentos de Cultura
léxicos y sintácticos
Tema 1:
Introducción a los compiladores
Mensaje
de error
Fernando D. Lorenzo García
Compiladores
La función del compilador radica en que se
mantenga la semántica del programa fuente
en el programa objeto
En un compilador nos interesan dos aspectos
La velocidad de compilación
La eficiencia del código objeto
Llegar a una solución de compromiso entre
ambos
Compilador
Programa objeto
Ensamblador
Análisis
Código intermedio (instrucciones)
Síntesis Tabla de símbolos (datos)
Programa objeto
Código intermedio 1
Análisis Tabla de símbolos 1
Optimización del
código intermedio
Síntesis del Código intermedio 2
Código objeto Tabla de símbolos 2
Programa objeto
Análisis léxico
Programa objeto
Fernando D. Lorenzo García
Fases de un compilador
El nivel léxico se ocupa de las gramáticas
regulares o expresiones regulares mediante
el uso de autómatas finitos
El nivel sintáctico se ocupa de las gramáticas
independientes del contexto mediante
reconocedores sintácticos basados en
máquinas de pila
*****************
*****************
*****************
*****************
Analizador sintáctico
Call Analizador léxico
Analizador semántico
Subprograma Subprograma
declaraciones instrucciones
var := expresion
var := expresion
C D1 D2 D3
C D1 D2
C’ D1’ D2’
C D1 D2 Direc 1
Direc 2
C’ D1’ D2’
Direc 3
Direc 4
FOR I = 1..10
A(I) := A( I+1 ) * 20 * K
VAR := 20 * K
FOR I = 1..10
A(I) := A( I+1 ) * VAR
A := A + 3
…
…
A := A + 8
A := A + 5
ADD B, 1
INR B La segunda es mas rápida