SlideShare una empresa de Scribd logo
1 de 11
COMPILADORES
Elaborado por:
Diana Lizeth Ibañez
UAN
Tunja-2013
DEFINICION
 Son programas de computadora que traducen de un lenguaje a
otro. Un compilador toma como entrada un programa escrito en
lenguaje fuente y produce un programa equivalente escrito en lenguaje
objeto.
 Generalmente al lenguaje fuente se le asocia como leguaje de alto
nivel, mientras el lenguaje objeto se conoce como código de objeto
(código de maquina) escrito específicamente para una maquina objeto
DEFINICIÓN
TIPOS DE TRADUCTORES
 Compilador: programa que convierte un archivo de lenguaje de
programación a su correspondiente en lenguaje objeto.
 Ensamblador: programa que convierte de lenguaje nemónico a
lenguaje maquina.
 Formadores de texto: toman como entrada una cadena de caracteres
que incluye el texto a componer y ordenes para identificar.
 Interpretes: ejecutan las instrucciones del programa según se vallan
presentando. Permiten añadir código durante la ejecución.
FASES DE UN COMPILADOR
 Conceptualmente un
compilador opera en fases, cada
una de las cuales transforma el
programa fuente de una
representación a otra.
ANALIZADOR LÉXICO:
 Lee la secuencia de caracteres de izquierda a derecha del programa fuente
a grupa las secuencias de caracteres en unidades con significado propio.
ANALIZADOR SINTÁCTICO
 Determina sí la secuencia de componentes léxicos sigue la sintaxis del
lenguaje y obtiene una estructura jerárquica del programa en forma de árbol.
ANALIZADOR SEMÁNTICO
 Realiza las comprobaciones necesarias sobre el árbol sintáctico
para determinar el correcto significado del programa.
GENERACIÓN Y OPTIMIZACIÓN
DE CÓDIGO INTERMEDIO
 Consiste en la calibración del árbol sintáctico donde ya no
aparecen construcciones de alto nivel. Generando un código
mejorado, llamado código intermedio.
Código Optimizado Código Intermedio
a [indice]=6 ti= indice*elem_size(a)
t2=&a+t1
t3=6
GENERACIÓN DE CÓDIGO
OBJETO
 Toma como entrada la representación intermedia y genera el código objeto. La
optimización depende la maquina, es necesario conocer el conjunto de
instrucciones, entre otros.
MOV R0,t1 Valor de intex ->
MOV R1,&a Direccion de a -> R1
ADD R1,R0 Sumar R0 a R1
MOV *R1,6 Contante 6 ->direccion en R1
TABLA DE SÍMBOLOS
 Es una estructura tipo diccionario con operaciones inserción,
borrado y búsqueda, que almacena información sobre los símbolos
que van apareciendo a la largo del programa, como son:
• Los identificadores (variables y funciones)
• Etiquetas
• Tipos de definiciones por el usuario (arreglos, registros, etc.)
 Gestor de errores: detecta e informa de errores que se
producen durante le fase de análisis.

Más contenido relacionado

La actualidad más candente

Herramientas
HerramientasHerramientas
HerramientasIsabel
 
Proceso de Compilacion
Proceso de CompilacionProceso de Compilacion
Proceso de Compilacionguest9a91e2
 
Actividad 3
Actividad 3Actividad 3
Actividad 3maryr_
 
Materia unidad compiladores
Materia unidad compiladoresMateria unidad compiladores
Materia unidad compiladoresbachispasaca
 
Jcf iind 2010-227 algoritmos y lenguajes de programacion
Jcf iind 2010-227 algoritmos y lenguajes de programacionJcf iind 2010-227 algoritmos y lenguajes de programacion
Jcf iind 2010-227 algoritmos y lenguajes de programacionMiguel Alejandro León Santos
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Jorge Rodriguez
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladoresCJAO
 
Codificación. Código Fuente, Objeto y Ejecutable.
Codificación. Código Fuente, Objeto y Ejecutable.Codificación. Código Fuente, Objeto y Ejecutable.
Codificación. Código Fuente, Objeto y Ejecutable.Isabel Gómez
 
Estructura de un interprete
Estructura de un interpreteEstructura de un interprete
Estructura de un interpreteperlallamas
 
Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programacionTensor
 
Evolucion de los compiladores1
Evolucion de los compiladores1Evolucion de los compiladores1
Evolucion de los compiladores1udalrico
 
Codigo fuente y codigo abierto
Codigo fuente y codigo abiertoCodigo fuente y codigo abierto
Codigo fuente y codigo abiertoEli Diaz
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico maryr_
 
Ejercicio compiladores
Ejercicio compiladoresEjercicio compiladores
Ejercicio compiladoresSheyli Patiño
 

La actualidad más candente (20)

Herramientas
HerramientasHerramientas
Herramientas
 
Proceso de Compilacion
Proceso de CompilacionProceso de Compilacion
Proceso de Compilacion
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
Materia unidad compiladores
Materia unidad compiladoresMateria unidad compiladores
Materia unidad compiladores
 
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo MinilenguajeCompiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
 
Jcf iind 2010-227 algoritmos y lenguajes de programacion
Jcf iind 2010-227 algoritmos y lenguajes de programacionJcf iind 2010-227 algoritmos y lenguajes de programacion
Jcf iind 2010-227 algoritmos y lenguajes de programacion
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladores
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
Codificación. Código Fuente, Objeto y Ejecutable.
Codificación. Código Fuente, Objeto y Ejecutable.Codificación. Código Fuente, Objeto y Ejecutable.
Codificación. Código Fuente, Objeto y Ejecutable.
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Estructura de un interprete
Estructura de un interpreteEstructura de un interprete
Estructura de un interprete
 
Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programacion
 
Evolucion de los compiladores1
Evolucion de los compiladores1Evolucion de los compiladores1
Evolucion de los compiladores1
 
Decompilador y metacompilador
Decompilador y metacompiladorDecompilador y metacompilador
Decompilador y metacompilador
 
Compiladores conceptos
Compiladores conceptosCompiladores conceptos
Compiladores conceptos
 
Codigo fuente y codigo abierto
Codigo fuente y codigo abiertoCodigo fuente y codigo abierto
Codigo fuente y codigo abierto
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico
 
Ejercicio compiladores
Ejercicio compiladoresEjercicio compiladores
Ejercicio compiladores
 
Introducción al lenguaje c++
Introducción al lenguaje c++Introducción al lenguaje c++
Introducción al lenguaje c++
 

Destacado (20)

So ferney modelos de e y t
So ferney modelos de e y tSo ferney modelos de e y t
So ferney modelos de e y t
 
Comment Dominer Google ! Atelier d'Introduction au Référencement
Comment Dominer Google ! Atelier d'Introduction au RéférencementComment Dominer Google ! Atelier d'Introduction au Référencement
Comment Dominer Google ! Atelier d'Introduction au Référencement
 
Computacion de nube
Computacion de nubeComputacion de nube
Computacion de nube
 
Etude régionale sur le piratage de logiciels en France 2012 - Revue de presse...
Etude régionale sur le piratage de logiciels en France 2012 - Revue de presse...Etude régionale sur le piratage de logiciels en France 2012 - Revue de presse...
Etude régionale sur le piratage de logiciels en France 2012 - Revue de presse...
 
Droits des étudiants
Droits des étudiantsDroits des étudiants
Droits des étudiants
 
Dossier presentationvolleyassis
Dossier presentationvolleyassisDossier presentationvolleyassis
Dossier presentationvolleyassis
 
1311pdf10
1311pdf101311pdf10
1311pdf10
 
Pensamiento numérico.diana
Pensamiento numérico.dianaPensamiento numérico.diana
Pensamiento numérico.diana
 
Ingolstadt
IngolstadtIngolstadt
Ingolstadt
 
Tratamientos termicos
Tratamientos termicosTratamientos termicos
Tratamientos termicos
 
Poemario
PoemarioPoemario
Poemario
 
Principios basicos de la geografia
Principios basicos de la geografiaPrincipios basicos de la geografia
Principios basicos de la geografia
 
Impacto de la tecnología
Impacto de la tecnologíaImpacto de la tecnología
Impacto de la tecnología
 
ISD n°36
ISD n°36ISD n°36
ISD n°36
 
poemario 1103
poemario 1103poemario 1103
poemario 1103
 
De veras ciencia
De veras cienciaDe veras ciencia
De veras ciencia
 
Tic en la educación
Tic en la educaciónTic en la educación
Tic en la educación
 
Ensayo simce 2
Ensayo simce 2 Ensayo simce 2
Ensayo simce 2
 
Comorbilida fisica en la consulta de salud mental
Comorbilida fisica en la consulta de salud mentalComorbilida fisica en la consulta de salud mental
Comorbilida fisica en la consulta de salud mental
 
Lección 6
Lección 6Lección 6
Lección 6
 

Similar a Compiladores

Introducción A Compiladores
Introducción A Compiladores Introducción A Compiladores
Introducción A Compiladores Nestor Traña
 
Compiladores
CompiladoresCompiladores
Compiladoreshenry_shd
 
Introduccion a la programación I Parte
Introduccion a la programación I Parte Introduccion a la programación I Parte
Introduccion a la programación I Parte Yelixa Araque Angulo
 
Introduccion a la Programación I parte
Introduccion a la Programación I parte Introduccion a la Programación I parte
Introduccion a la Programación I parte Yelixa Araque Angulo
 
Compiladores Ex..ppt
Compiladores Ex..pptCompiladores Ex..ppt
Compiladores Ex..pptMarko Zapata
 
Repuesto de expo de programacion
Repuesto de expo de programacionRepuesto de expo de programacion
Repuesto de expo de programacionelizabethrmlm
 
1.5 GENERADORES DE CODIGO PARA COMPILADORES (COMPILADOR DE COMPILADORES)
1.5  GENERADORES  DE CODIGO  PARA COMPILADORES (COMPILADOR DE COMPILADORES)1.5  GENERADORES  DE CODIGO  PARA COMPILADORES (COMPILADOR DE COMPILADORES)
1.5 GENERADORES DE CODIGO PARA COMPILADORES (COMPILADOR DE COMPILADORES)elizabethrmlm
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compiladorDLACGP
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladorespaulina8
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iRossana Sosa
 
Terceraunidad 130505194734-phpapp01
Terceraunidad 130505194734-phpapp01Terceraunidad 130505194734-phpapp01
Terceraunidad 130505194734-phpapp01Victor Martinez
 

Similar a Compiladores (20)

Introducción A Compiladores
Introducción A Compiladores Introducción A Compiladores
Introducción A Compiladores
 
Traductores de lenguajes
Traductores   de    lenguajesTraductores   de    lenguajes
Traductores de lenguajes
 
Traductores de lenguajes
Traductores   de    lenguajesTraductores   de    lenguajes
Traductores de lenguajes
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Introduccion a la programación I Parte
Introduccion a la programación I Parte Introduccion a la programación I Parte
Introduccion a la programación I Parte
 
Introduccion a la Programación I parte
Introduccion a la Programación I parte Introduccion a la Programación I parte
Introduccion a la Programación I parte
 
Compiladores Ex..ppt
Compiladores Ex..pptCompiladores Ex..ppt
Compiladores Ex..ppt
 
Presentación1.pptx
Presentación1.pptxPresentación1.pptx
Presentación1.pptx
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Repuesto de expo de programacion
Repuesto de expo de programacionRepuesto de expo de programacion
Repuesto de expo de programacion
 
1.5 GENERADORES DE CODIGO PARA COMPILADORES (COMPILADOR DE COMPILADORES)
1.5  GENERADORES  DE CODIGO  PARA COMPILADORES (COMPILADOR DE COMPILADORES)1.5  GENERADORES  DE CODIGO  PARA COMPILADORES (COMPILADOR DE COMPILADORES)
1.5 GENERADORES DE CODIGO PARA COMPILADORES (COMPILADOR DE COMPILADORES)
 
Resumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamachoResumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamacho
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
 
Introduccion programacion
Introduccion programacionIntroduccion programacion
Introduccion programacion
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes i
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Compilador (by BSMM)
Compilador    (by  BSMM)Compilador    (by  BSMM)
Compilador (by BSMM)
 
Terceraunidad 130505194734-phpapp01
Terceraunidad 130505194734-phpapp01Terceraunidad 130505194734-phpapp01
Terceraunidad 130505194734-phpapp01
 

Compiladores

  • 2. DEFINICION  Son programas de computadora que traducen de un lenguaje a otro. Un compilador toma como entrada un programa escrito en lenguaje fuente y produce un programa equivalente escrito en lenguaje objeto.  Generalmente al lenguaje fuente se le asocia como leguaje de alto nivel, mientras el lenguaje objeto se conoce como código de objeto (código de maquina) escrito específicamente para una maquina objeto
  • 4. TIPOS DE TRADUCTORES  Compilador: programa que convierte un archivo de lenguaje de programación a su correspondiente en lenguaje objeto.  Ensamblador: programa que convierte de lenguaje nemónico a lenguaje maquina.  Formadores de texto: toman como entrada una cadena de caracteres que incluye el texto a componer y ordenes para identificar.  Interpretes: ejecutan las instrucciones del programa según se vallan presentando. Permiten añadir código durante la ejecución.
  • 5. FASES DE UN COMPILADOR  Conceptualmente un compilador opera en fases, cada una de las cuales transforma el programa fuente de una representación a otra.
  • 6. ANALIZADOR LÉXICO:  Lee la secuencia de caracteres de izquierda a derecha del programa fuente a grupa las secuencias de caracteres en unidades con significado propio.
  • 7. ANALIZADOR SINTÁCTICO  Determina sí la secuencia de componentes léxicos sigue la sintaxis del lenguaje y obtiene una estructura jerárquica del programa en forma de árbol.
  • 8. ANALIZADOR SEMÁNTICO  Realiza las comprobaciones necesarias sobre el árbol sintáctico para determinar el correcto significado del programa.
  • 9. GENERACIÓN Y OPTIMIZACIÓN DE CÓDIGO INTERMEDIO  Consiste en la calibración del árbol sintáctico donde ya no aparecen construcciones de alto nivel. Generando un código mejorado, llamado código intermedio. Código Optimizado Código Intermedio a [indice]=6 ti= indice*elem_size(a) t2=&a+t1 t3=6
  • 10. GENERACIÓN DE CÓDIGO OBJETO  Toma como entrada la representación intermedia y genera el código objeto. La optimización depende la maquina, es necesario conocer el conjunto de instrucciones, entre otros. MOV R0,t1 Valor de intex -> MOV R1,&a Direccion de a -> R1 ADD R1,R0 Sumar R0 a R1 MOV *R1,6 Contante 6 ->direccion en R1
  • 11. TABLA DE SÍMBOLOS  Es una estructura tipo diccionario con operaciones inserción, borrado y búsqueda, que almacena información sobre los símbolos que van apareciendo a la largo del programa, como son: • Los identificadores (variables y funciones) • Etiquetas • Tipos de definiciones por el usuario (arreglos, registros, etc.)  Gestor de errores: detecta e informa de errores que se producen durante le fase de análisis.