Académique Documents
Professionnel Documents
Culture Documents
Un Compilador
Programa Fuente
Compilador
Programa Destino
Sistema de procesamiento del lenguaje
Programa Fuente
Preprocesador
Compilador
Ensamblador
Enlazador / Cargador
• archivos de librería
• archivos objeto relocalizables
Flujo de tokens
árbol sintáctico
árbol sintáctico
código máquina
código máquina
intermedia
intermedia
destino
destino
representación
representación
sintáctico semántico de código de código de código r de código
léxico independient
intermedio e de la
independie
máquina nte de la
máquina
Análisis Léxico
Primer paso:
Reconocimiento de palabras.
Unidad por encima de las letras.
| | | | | |
artículo sustantivo verbo artículo adjetivo sustantivo
sujeto predicado
oración
Análisis Sintáctico
If x == y then z = 1; else z = 2;
x == y z 1 z 2
if – then - else
Análisis Semántico
Ejemplo:
Juan dijo María dejó su tarea en la casa.
Los lenguajes de {
programación definen int numero = 7;
reglas estrictas para {
evitar tales int numero = 9;
ambigüedades.
cout << numero;
}
}
¿Qué valor se imprime?
9
Análisis Semántico
Ejemplo:
Juan olvidó el comida en su casa.
Un “type mismatch” entre el y comida; nosotros que es “la comida”.
Optimización
X = Y * 0 es lo mismo que X = 0