SlideShare una empresa de Scribd logo
JAIRO LOPEZ PARRA
JOSE LASTRA MARTINEZ
UNIVESIDAD REMINGTON
INGENIERIA DE SISITEMAS Vll
COMPILADORES UNIREMINGTON
UN COMPILADOR ES UN PROGRAMA INFORMÁTICO QUE TRADUCE UN PROGRAMA QUE HA SIDO
ESCRITO EN UN LENGUAJE DE PROGRAMACIÓN A UN LENGUAJE COMÚN, REÚNE DIVERSOS
ELEMENTOS O FRAGMENTOS EN UNA MISMA UNIDAD. USUALMENTE LENGUAJE DE MÁQUINA,
AUNQUE TAMBIÉN PUEDE SER TRADUCIDO A UN CÓDIGO INTERMEDIO (BYTECODE) O A TEXTO.
ESTE PROCESO DE TRADUCCIÓN SE CONOCE COMO COMPILACIÓN, COMPILAR CONSISTE EN
TRADUCIR UN PROGRAMA ESCRITO EN UN CIERTO LENGUAJE A OTRO.
QUE ES UN COMPILADOR
TIPOS DE COMPILADOR
1. COMPILADOR DE UNA SOLA PASADA
2. COMPILDOR DE MULTIPLES PASADAS
3. METACOMPILADOR
4. DESCOMPILADOR
5. COMPILADOR INTERPRETE
6. COMPILADOR CRUZADO
COMPILADORES UNIREMINGTON
COMPILADOR DE UNA SOLA PASADA
VENTAJAS
1. ES FACIL DE IMPLEMENTAR
2. GENERA POCA ACTIVIDAD DE ENTRADA
Y SALIDA
3. EL CODIGO DE UN PROCEDIMIENTO SE
COMPILA EN MEMORIA Y ESCRIBE
COMO UNA UNIDAD A LA MEMORIA
SECUNDARIA
DESVENTAJAS
1. LIMITACIONES EN LA CALIDAD DEL CODIGO
2. MUCHA NECESIDAD DE MEMORIA
Examinan solo una vez el código fuente para generar el código
objeto.
COMPILADOR DE MULTIPLES
PASADAS1. REQUIERE DE PASOS INTERMEDIOS (CÓDIGO INTERMEDIO) ANTES DE GENERAR EL CÓDIGO
OBJETO FINAL.
2. ENTRE MENOS PASADAS MENOR TIEMPO DE COMPILACIÓN, SIN EMBARGO MÁS PASADAS
PUEDEN GENERAR CÓDIGO OBJETO MÁS EFICIENTE.
3. LA TABLA DE SÍMBOLOS SE CREA DURANTE EL ANÁLISIS LEXICO Y SINTACTICO
4. EL ANALIZADOR LÉXICO SEPARA EL PROGRAMA EN TOKEN, QUE COMPARA LAS PALABRAS
RESERVADAS, Y SI EL TOKEN NO ES UNA PALABRA RESERVADA SE ASUME QUE ES UN
IDENTIFICADOR Y DURANTE EL ANÁLISIS SINTÁCTICO SE AÑADE A LA TABLA
VENTAJAS
1. GENERA UN CODIGO MAS EFICIENTE
DESVENTAJAS
1. UTILIZA MAS TIEMPO EN COMPILAR
2. UTILIZA MAS RECURSOS – PASOS INTERMEDIOS
METACOMPILADOR
METACOMPILADOR. EL METACOMPILADOR ES SINÓNIMO DE COMPILADOR DE COMPILADORES Y
SE REFIERE A UN PROGRAMA QUE RECIBE COMO ENTRADA LAS ESPECIFICACIONES DEL LENGUAJE
PARA EL QUE SE DESEA OBTENER UN COMPILADOR Y GENERA COMO SALIDA EL COMPILADOR
PARA ESE LENGUAJE.
POR LO REGULAR HAY DOS TIPOS DE METACOMPILADORES, LOS QUE TRABAJAN CON EXPRESIONES
REGULARES Y AQUELLOS QUE LO HACEN CON GRAMÁTICAS LIBRES DE CONTEXTO.
EJEMPLOS CLÁSICOS SON LEX (GENERADOR DE ANALIZADORES LÉXICOS) Y YACC (GENERADOR DE
ANALIZADORES SINTÁCTICOS).
DESCOMPILAD
ORREALIZA UNA TAREA DE TRADUCCIÓN INVERSA, ES DECIR, VA DEL CÓDIGO MÁQUINA AL
LENGUAJE DE ALTO NIVEL.
ES RELATIVAMENTE SENCILLO CUANDO SE TRATA DE IR A CÓDIGO ENSAMBLADOR O
MACRO ENSAMBLADOR, PERO NO CUANDO SE QUIERE LLEGAR A UN LENGUAJE DE ALTO
NIVEL.
1. DCC Decompiler
2. Boomerang Decompiler Project
3. Reverse Engineering Compiler (REC)
4. ExeToC
5. code-dump
TIPOS DE DESCOMPILADOR
COMPILADORES
INTERPRETES1. REALIZAN DOS FASES: LA FASE DE COMPILACIÓN Y LA FASE DE
INTERPRETACIÓN.
2. LA FASE DE COMPILACIÓN TRADUCE LA ENTRADA EN UNA
REPRESENTACIÓN INTERMEDIA POR UNA ÚNICA VEZ.
3. LA FASE DE INTERPRETACIÓN PARTE DE LA REPRESENTACIÓN
GENERADA POR LA PRIMERA FASE PARA LA EJECUCIÓN DEL
PROGRAMA.
UN INTÉRPRETE TRADUCE INSTRUCCIONES DE ALTO NIVEL EN
UNA FORMA INTERMEDIA PARA SER EJECUTADO. EN
CONTRASTE, UN COMPILADOR, TRADUCE INSTRUCCIONES DE
ALTO NIVEL DIRECTAMENTE EN LENGUAJE DE MÁQUINA. EL
INTÉRPRETE TRADUCE UN PROGRAMA LÍNEA A LÍNEA MIENTRAS
QUE EL COMPILADOR TRADUCE EL PROGRAMA ENTERO Y
LUEGO LO EJECUTA.
VENTAJAS DEL COMPILADOR
1. SOLO SE COMPILA 1 VEZ
2. LA EJECUCION ES MAS RAPIDA
3. OPTIMIZACION DE CODIGO E
INFORMACION DE ERROR MAS
VENTAJAS DEL INTERPRETE
1. MENOR COSTE ESPACIAL
2. MAYOR INTERACTIVIDAD EN DESARROLLO
3. AÑADIR CODIGO EN “CLIENTE”.
COMPILADORES
CRUZADOSSURGEN COMO SOLUCIÓN AL PROBLEMA
DE DESARROLLAR UN PRIMER
COMPILADOR PARA UNA NUEVA
ARQUITECTURA.
DADO QUE EL DESARROLLO DE
COMPILADORES ES UNA TAREA
COMPLEJA, RESULTA MÁS FÁCIL
CONSTRUIRLOS SOBRE UNA MÁQUINA
QUE YA DISPONGA DE HERRAMIENTAS
DE SOFTWARE.
SE DENOMINA COMPILADOR CRUZADO A
UN COMPILADOR QUE SE EJECUTA EN
UNA MÁQUINA PERO EL CÓDIGO OBJETO
ES PARA OTRA MÁQUINA.
COMPILADORES UNIREMINGTON

Más contenido relacionado

PDF
Ensayo
PPTX
Lenguaje assembler
PPTX
Lenguaje ensamblador
DOCX
Compiladores trabajo numero 4
PPTX
Ensamblador expo
PDF
Equipo 6 programacion hibrida
PDF
compilador de Fortran H, para C y Pascal
PPTX
Lenguaje de ensamblador
Ensayo
Lenguaje assembler
Lenguaje ensamblador
Compiladores trabajo numero 4
Ensamblador expo
Equipo 6 programacion hibrida
compilador de Fortran H, para C y Pascal
Lenguaje de ensamblador

La actualidad más candente (19)

DOCX
Decompilador y metacompilador
PPT
Cap2 compiladores
DOCX
Trabajo de compiladores completo alexandra
PPTX
Bootstrapping
PPTX
Pasadas multiples
PPTX
Los compiladores erika y carolina
PPTX
Lenguaje ensamblador
PDF
UNIDAD 2 PROGRAMACIÓN BASICA
PPTX
1. que es programacion
DOCX
Proyecto fernando compiladores 1
DOC
Temario lenguaje ensamblador
PPTX
LENGUAJE ENSAMBLADOR
PPTX
Arquitecturas de ordenadores y compiladores cruzados
PPTX
Lenguaje Ensamblador
DOCX
Traductor y su estructura
PPTX
Lenguajes de programacion tema 2_compiladores e interpretes
PPT
Compiladores
PPTX
Traductores
PPT
Presentacion de procesadores de lenguajes
Decompilador y metacompilador
Cap2 compiladores
Trabajo de compiladores completo alexandra
Bootstrapping
Pasadas multiples
Los compiladores erika y carolina
Lenguaje ensamblador
UNIDAD 2 PROGRAMACIÓN BASICA
1. que es programacion
Proyecto fernando compiladores 1
Temario lenguaje ensamblador
LENGUAJE ENSAMBLADOR
Arquitecturas de ordenadores y compiladores cruzados
Lenguaje Ensamblador
Traductor y su estructura
Lenguajes de programacion tema 2_compiladores e interpretes
Compiladores
Traductores
Presentacion de procesadores de lenguajes
Publicidad

Similar a COMPILADORES UNIREMINGTON (20)

DOCX
Trabajo de compiladores completo alexandra
PPT
1.4 ensambladores y compiladores
PPTX
Presentación computación 1_compiladores_e_interpretes
PPTX
presentacion compiladores sustentacion de conceptos.pptx
PPTX
Compiladores Yeli Rojas
PDF
Investigacion sobre traductor, interprete y compilador
DOCX
TALLER ESTRATEGIA DE APOYO INDIVIDUAL - JUAN DIEGO PIEDRAHITA ALVAREZ.docx
PDF
Tema 1.3.- Programación
PPTX
Informática
PPTX
Informática
PPTX
Actividad 3
PPTX
Unidad I Conceptos Básicos
PDF
Introduccion a los compiladores
PPTX
Diapositivas fundamentos-de-programacion
DOCX
Resumencap1 carmen vargas_jeremycamacho
PDF
TALLER DE ESTRATEGIAS DE APOYO INVIBIDUAL.pdf
PPTX
Traductores de lenguajes
PPTX
Traductores de lenguajes
PPT
Programacion de sistemas
Trabajo de compiladores completo alexandra
1.4 ensambladores y compiladores
Presentación computación 1_compiladores_e_interpretes
presentacion compiladores sustentacion de conceptos.pptx
Compiladores Yeli Rojas
Investigacion sobre traductor, interprete y compilador
TALLER ESTRATEGIA DE APOYO INDIVIDUAL - JUAN DIEGO PIEDRAHITA ALVAREZ.docx
Tema 1.3.- Programación
Informática
Informática
Actividad 3
Unidad I Conceptos Básicos
Introduccion a los compiladores
Diapositivas fundamentos-de-programacion
Resumencap1 carmen vargas_jeremycamacho
TALLER DE ESTRATEGIAS DE APOYO INVIBIDUAL.pdf
Traductores de lenguajes
Traductores de lenguajes
Programacion de sistemas
Publicidad

Más de jairito0922 (8)

PPT
Bases de datos
PPTX
LIMITES AL INFINITO
PPTX
Derivada
PPTX
Calculo
PPTX
Trabajo jairo
PPTX
Corporacion universitaria remigton
PPTX
Corporacion universitaria remigton
PPTX
Corporacion universitaria remigton
Bases de datos
LIMITES AL INFINITO
Derivada
Calculo
Trabajo jairo
Corporacion universitaria remigton
Corporacion universitaria remigton
Corporacion universitaria remigton

Último (20)

PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PPTX
caso clínico iam clinica y semiología l3.pptx
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
biología es un libro sobre casi todo el tema de biología
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
Atencion prenatal. Ginecologia y obsetricia
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
TOMO II - LITERATURA.pd plusenmas ultras
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PLANES DE área ciencias naturales y aplicadas
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
caso clínico iam clinica y semiología l3.pptx
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
biología es un libro sobre casi todo el tema de biología
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Híper Mega Repaso Histológico Bloque 3.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
Atencion prenatal. Ginecologia y obsetricia
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf

COMPILADORES UNIREMINGTON

  • 1. JAIRO LOPEZ PARRA JOSE LASTRA MARTINEZ UNIVESIDAD REMINGTON INGENIERIA DE SISITEMAS Vll
  • 3. UN COMPILADOR ES UN PROGRAMA INFORMÁTICO QUE TRADUCE UN PROGRAMA QUE HA SIDO ESCRITO EN UN LENGUAJE DE PROGRAMACIÓN A UN LENGUAJE COMÚN, REÚNE DIVERSOS ELEMENTOS O FRAGMENTOS EN UNA MISMA UNIDAD. USUALMENTE LENGUAJE DE MÁQUINA, AUNQUE TAMBIÉN PUEDE SER TRADUCIDO A UN CÓDIGO INTERMEDIO (BYTECODE) O A TEXTO. ESTE PROCESO DE TRADUCCIÓN SE CONOCE COMO COMPILACIÓN, COMPILAR CONSISTE EN TRADUCIR UN PROGRAMA ESCRITO EN UN CIERTO LENGUAJE A OTRO. QUE ES UN COMPILADOR TIPOS DE COMPILADOR 1. COMPILADOR DE UNA SOLA PASADA 2. COMPILDOR DE MULTIPLES PASADAS 3. METACOMPILADOR 4. DESCOMPILADOR 5. COMPILADOR INTERPRETE 6. COMPILADOR CRUZADO
  • 5. COMPILADOR DE UNA SOLA PASADA VENTAJAS 1. ES FACIL DE IMPLEMENTAR 2. GENERA POCA ACTIVIDAD DE ENTRADA Y SALIDA 3. EL CODIGO DE UN PROCEDIMIENTO SE COMPILA EN MEMORIA Y ESCRIBE COMO UNA UNIDAD A LA MEMORIA SECUNDARIA DESVENTAJAS 1. LIMITACIONES EN LA CALIDAD DEL CODIGO 2. MUCHA NECESIDAD DE MEMORIA Examinan solo una vez el código fuente para generar el código objeto.
  • 6. COMPILADOR DE MULTIPLES PASADAS1. REQUIERE DE PASOS INTERMEDIOS (CÓDIGO INTERMEDIO) ANTES DE GENERAR EL CÓDIGO OBJETO FINAL. 2. ENTRE MENOS PASADAS MENOR TIEMPO DE COMPILACIÓN, SIN EMBARGO MÁS PASADAS PUEDEN GENERAR CÓDIGO OBJETO MÁS EFICIENTE. 3. LA TABLA DE SÍMBOLOS SE CREA DURANTE EL ANÁLISIS LEXICO Y SINTACTICO 4. EL ANALIZADOR LÉXICO SEPARA EL PROGRAMA EN TOKEN, QUE COMPARA LAS PALABRAS RESERVADAS, Y SI EL TOKEN NO ES UNA PALABRA RESERVADA SE ASUME QUE ES UN IDENTIFICADOR Y DURANTE EL ANÁLISIS SINTÁCTICO SE AÑADE A LA TABLA VENTAJAS 1. GENERA UN CODIGO MAS EFICIENTE DESVENTAJAS 1. UTILIZA MAS TIEMPO EN COMPILAR 2. UTILIZA MAS RECURSOS – PASOS INTERMEDIOS
  • 7. METACOMPILADOR METACOMPILADOR. EL METACOMPILADOR ES SINÓNIMO DE COMPILADOR DE COMPILADORES Y SE REFIERE A UN PROGRAMA QUE RECIBE COMO ENTRADA LAS ESPECIFICACIONES DEL LENGUAJE PARA EL QUE SE DESEA OBTENER UN COMPILADOR Y GENERA COMO SALIDA EL COMPILADOR PARA ESE LENGUAJE. POR LO REGULAR HAY DOS TIPOS DE METACOMPILADORES, LOS QUE TRABAJAN CON EXPRESIONES REGULARES Y AQUELLOS QUE LO HACEN CON GRAMÁTICAS LIBRES DE CONTEXTO. EJEMPLOS CLÁSICOS SON LEX (GENERADOR DE ANALIZADORES LÉXICOS) Y YACC (GENERADOR DE ANALIZADORES SINTÁCTICOS).
  • 8. DESCOMPILAD ORREALIZA UNA TAREA DE TRADUCCIÓN INVERSA, ES DECIR, VA DEL CÓDIGO MÁQUINA AL LENGUAJE DE ALTO NIVEL. ES RELATIVAMENTE SENCILLO CUANDO SE TRATA DE IR A CÓDIGO ENSAMBLADOR O MACRO ENSAMBLADOR, PERO NO CUANDO SE QUIERE LLEGAR A UN LENGUAJE DE ALTO NIVEL. 1. DCC Decompiler 2. Boomerang Decompiler Project 3. Reverse Engineering Compiler (REC) 4. ExeToC 5. code-dump TIPOS DE DESCOMPILADOR
  • 9. COMPILADORES INTERPRETES1. REALIZAN DOS FASES: LA FASE DE COMPILACIÓN Y LA FASE DE INTERPRETACIÓN. 2. LA FASE DE COMPILACIÓN TRADUCE LA ENTRADA EN UNA REPRESENTACIÓN INTERMEDIA POR UNA ÚNICA VEZ. 3. LA FASE DE INTERPRETACIÓN PARTE DE LA REPRESENTACIÓN GENERADA POR LA PRIMERA FASE PARA LA EJECUCIÓN DEL PROGRAMA. UN INTÉRPRETE TRADUCE INSTRUCCIONES DE ALTO NIVEL EN UNA FORMA INTERMEDIA PARA SER EJECUTADO. EN CONTRASTE, UN COMPILADOR, TRADUCE INSTRUCCIONES DE ALTO NIVEL DIRECTAMENTE EN LENGUAJE DE MÁQUINA. EL INTÉRPRETE TRADUCE UN PROGRAMA LÍNEA A LÍNEA MIENTRAS QUE EL COMPILADOR TRADUCE EL PROGRAMA ENTERO Y LUEGO LO EJECUTA.
  • 10. VENTAJAS DEL COMPILADOR 1. SOLO SE COMPILA 1 VEZ 2. LA EJECUCION ES MAS RAPIDA 3. OPTIMIZACION DE CODIGO E INFORMACION DE ERROR MAS VENTAJAS DEL INTERPRETE 1. MENOR COSTE ESPACIAL 2. MAYOR INTERACTIVIDAD EN DESARROLLO 3. AÑADIR CODIGO EN “CLIENTE”.
  • 11. COMPILADORES CRUZADOSSURGEN COMO SOLUCIÓN AL PROBLEMA DE DESARROLLAR UN PRIMER COMPILADOR PARA UNA NUEVA ARQUITECTURA. DADO QUE EL DESARROLLO DE COMPILADORES ES UNA TAREA COMPLEJA, RESULTA MÁS FÁCIL CONSTRUIRLOS SOBRE UNA MÁQUINA QUE YA DISPONGA DE HERRAMIENTAS DE SOFTWARE. SE DENOMINA COMPILADOR CRUZADO A UN COMPILADOR QUE SE EJECUTA EN UNA MÁQUINA PERO EL CÓDIGO OBJETO ES PARA OTRA MÁQUINA.