Sunteți pe pagina 1din 14

COMPILADORES

Concepto Fundamentales
INTRODUCCIN
Compiladores: Un compilador es un programa que
lee un programa escrito en un lenguaje, el lenguaje
fuente, y lo traduce a un programa equivalente en
otro lenguaje, el lenguaje objeto.
compilador
programa
fuente
programa
objeto
mensaje
de error
MODELO DE ANLISIS Y SNTESIS
En la compilacion hay dos partes:
Anlisis: La parte del anlisis divide al programa
fuente en sus elementos componentes y crea una
representacin intermedia del programa fuente.
Sntesis: La parte de a sntesis construye el
programa objeto deseado a partir de la
representacin intermedia.
RBOL SINTCTICO
Se muestra un rbol sintctico para una
proposicin de asignacin


posicin
:=
+
inicial
*
velocidad
60
rbol sintctico para proposicin := inicial + velocidad * 60
ANLISIS DE PROGRAMA FUENTE
preprocesador
compilador
ensamblador
editor de carga y enlace
programa fuente
programa objeto en lenguaje ensamblador
cdigo de maquina relocalizable
biblioteca,
archivo objetos
relocalizables
cdigo de maquina absoluto
ANLISIS DEL PROGRAMA FUENTE
El anlisis consta de 3 faces


Anlisis Lineal

Anlisis Jerrquico

Anlisis Semntico
ANLISIS DEL PROGRAMA FUENTE




Anlisis lxico: En un compilador el anlisis lineal
se llama anlisis lxico o exploracin

ANLISIS DEL PROGRAMA FUENTE


Anlisis Sintctico: El anlisis jerrquico se
denomina anlisis sintctico. Esto implica agrupar
los componentes lxicos del programa fuente en
frases gramaticales que el compilador utiliza para
sintetizar la salida.
ANLISIS DEL PROGRAMA FUENTE



Anlisis Semntico: La fase de anlisis semntico
revisa el programa fuente para tratar de encontrar
errores semnticos y rene la informacin sobre los
tipos para la fase posterior de generacin de
cdigo.
1.3 FASES DE UN COMPILADOR



Las tres primeras fases de un
compilador suelen agrupan en un sola fase
llamada Anlisis del programa a compilar y las tres
ultimas en una sola fase llamada Sntesis de un
programa en lenguaje maquina.


1.3 FASES DE UN COMPILADOR
1.4 PROGRAMAS DE SISTEMAS
RELACIONADOS CON UN COMPILADOR

Preprocesadores

Ensambladores

Ensamblado de dos pasadas

Cargadores y editores de enlace
1.5 EL AGRUPAMIENTO DE LAS FACES
En el modelo de anlisis y sntesis las operaciones
del compilador que analizan el programa fuente y
calculan sus propiedades se clasifican como
anlisis del compilador

Mientras que las operaciones involucradas con la
traduccin a cdigo objeto se conoce como sntesis
del compilador.
1.6 HERRAMIENTA PARA LA CONSTRUCCIN
DE COMPILADORES
Son programas de ayuda en el proceso de escritura de compiladores:
Sistemas generadores de traductores. Tambin se les conoce como
compiler writing tools, compiler generators, compiler-compilers. A
continuacin mencionaremos los mas conocidos.


Generadores de analizadores lxicos: a partir de una especificacin
basada en expresiones regulares. Lex / Flex.


Generadores de analizadores sintcticos: a partir de una entrada que
es la gramtica independiente del contexto que representa la estructura
sintctica del lenguaje. Yacc / Bison.


Generadores de cdigo: con rutinas para la generacin del rbol de
anlisis sintctico y para su recorrido. En cada nodo se especifican las
acciones para su traduccin a cdigo objeto correspondiente.

S-ar putea să vă placă și