SlideShare una empresa de Scribd logo
1 de 7
COMPILADORES Introducción: En 1946 se desarrolló el primer ordenador digital. En un principio, estas máquinas ejecutaban instrucciones consistentes en códigos numéricos que señalan a los circuitos de la máquina los estados correspondientes a cada operación. Esta expresión mediante códigos numéricos se llamó Lenguaje Máquina, interpretado por un secuenciador cableado o por un microprograma. Pero los códigos numéricos de las máquinas son engorrosos. Pronto los primeros usuarios de estos ordenadores descubrieron la ventaja de escribir sus programas mediante claves más fáciles de recordar que esos códigos numéricos; al final, todas esas claves juntas se traducían manualmente a Lenguaje Máquina. Estas claves constituyen los llamados lenguajes ensambladores, que se generalizaron en cuanto se dio el paso decisivo de hacer que las propias máquinas realizaran el proceso mecánico de la traducción. A este trabajo se le llama ensamblar el programa.
CompiladorEn el caso de que el lenguaje fuente sea un lenguaje de programación de alto nivel y el objeto sea un lenguaje de bajo nivel (ensamblador o código de máquina), a dicho traductor se le denomina compilador. Un ensamblador es un compilador cuyo lenguaje fuente es el lenguaje ensamblador. Un intérprete no genera un programa equivalente, sino que toma una sentencia del programa fuente en un lenguaje de alto nivel y la traduce al código equivalente y al mismo tiempo lo ejecuta. Históricamente, con la escasez de memoria de los primeros ordenadores, se puso de moda el uso de intérpretes frente a los compiladores, pues el programa fuente sin traducir y el intérprete juntos daban una ocupación de memoria menor que la resultante de los compiladores. Por ello los primeros ordenadores personales iban siempre acompañados de un intérprete de BASIC (Spectrum, Commodore VIC-20, PC XT de IBM, etc.). La mejor información sobre los errores por parte del compilador así como una mayor velocidad de ejecución del código resultante hizo que poco a poco se impusieran los compiladores. Hoy en día, y con el problema de la memoria prácticamente resuelto, se puede hablar de un gran predominio de los compiladores frente a los intérpretes, aunque intérpretes como los incluidos en los navegadores de Internet para interpretar el código JVM de Java son la gran excepción.
Ventajas de compilar frente a interpretar: ,[object Object]
En bucles, la compilación genera código equivalente al bucle, pero interpretándolo se traduce tantas veces una línea como veces se repite el bucle.
El compilador tiene una visión global del programa, por lo que la información de mensajes de error es mas detallada.Ventajas del intérprete frente al compilador: ,[object Object]
Permiten una mayor interactividad con el código en tiempo de desarrollo.,[object Object]
Partes en las que trabaja un compilador:Conceptualmente un compilador opera en fases. Cada una de las cuales transforma el programa fuente de una representación en otra. En la figura 3 se muestra una descomposición típica de un compilador. En la práctica se pueden agripar fases y las representaciones intermedias entres las fases agrupadas no necesitan ser construidas explícitamente.

Más contenido relacionado

La actualidad más candente

Cap2 compiladores
Cap2 compiladoresCap2 compiladores
Cap2 compiladoresCJAO
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosDIEGO BAROJA
 
Compilador: DEFINICIÓN
Compilador: DEFINICIÓNCompilador: DEFINICIÓN
Compilador: DEFINICIÓNInfomania pro
 
Estructura de un interprete
Estructura de un interpreteEstructura de un interprete
Estructura de un interpreteperlallamas
 
Interprete vs compilador
Interprete vs compiladorInterprete vs compilador
Interprete vs compiladorElba Sepúlveda
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraAlexandraMolinaSanchez
 
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
 
Tipos De Ensambladores
Tipos De EnsambladoresTipos De Ensambladores
Tipos De EnsambladoresSpiderHal
 
Compilador Funcionamiento
Compilador FuncionamientoCompilador Funcionamiento
Compilador FuncionamientoKriz Kozlov
 
Procesadores de Lenguajes
Procesadores de LenguajesProcesadores de Lenguajes
Procesadores de LenguajesGLORIABELEN3
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresNancyandRegina317
 

La actualidad más candente (20)

Cap2 compiladores
Cap2 compiladoresCap2 compiladores
Cap2 compiladores
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzados
 
Compilador: DEFINICIÓN
Compilador: DEFINICIÓNCompilador: DEFINICIÓN
Compilador: DEFINICIÓN
 
Estructura de un interprete
Estructura de un interpreteEstructura de un interprete
Estructura de un interprete
 
Clasificacion de Interpretes
Clasificacion de InterpretesClasificacion de Interpretes
Clasificacion de Interpretes
 
Interprete vs compilador
Interprete vs compiladorInterprete vs compilador
Interprete vs compilador
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
 
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...
 
Tipos De Ensambladores
Tipos De EnsambladoresTipos De Ensambladores
Tipos De Ensambladores
 
Compiladores trabajo numero 4
Compiladores trabajo numero 4Compiladores trabajo numero 4
Compiladores trabajo numero 4
 
Bootstrapping
BootstrappingBootstrapping
Bootstrapping
 
1.4 ensambladores y compiladores
1.4 ensambladores y compiladores1.4 ensambladores y compiladores
1.4 ensambladores y compiladores
 
Compilador Funcionamiento
Compilador FuncionamientoCompilador Funcionamiento
Compilador Funcionamiento
 
Procesadores de Lenguajes
Procesadores de LenguajesProcesadores de Lenguajes
Procesadores de Lenguajes
 
Pasadas multiples
Pasadas       multiplesPasadas       multiples
Pasadas multiples
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Decompilador y metacompilador
Decompilador y metacompiladorDecompilador y metacompilador
Decompilador y metacompilador
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladores
 
COMPILADORES
COMPILADORESCOMPILADORES
COMPILADORES
 

Similar a Compiladores diapositivas

C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladorespaulina8
 
Conceptos De Compilador
Conceptos De CompiladorConceptos De Compilador
Conceptos De CompiladorJoel Soto
 
Conceptos de compilador
Conceptos de compiladorConceptos de compilador
Conceptos de compiladorJoel Soto
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDLACGP
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compiladorDLACGP
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador ADOLFOISAIASGARCIASI
 
Especialidad
EspecialidadEspecialidad
EspecialidadDilan19
 
Especialidad
EspecialidadEspecialidad
Especialidadbecew
 
Materia unidad compiladores
Materia unidad compiladoresMateria unidad compiladores
Materia unidad compiladoresbachispasaca
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosInfomania pro
 
Compiladores financieros trabajo 10
Compiladores financieros trabajo 10Compiladores financieros trabajo 10
Compiladores financieros trabajo 10anita andrea
 
Cap2
Cap2Cap2
Cap2CJAO
 

Similar a Compiladores diapositivas (20)

H:\compiladores
H:\compiladoresH:\compiladores
H:\compiladores
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
 
Conceptos De Compilador
Conceptos De CompiladorConceptos De Compilador
Conceptos De Compilador
 
Conceptos de compilador
Conceptos de compiladorConceptos de compilador
Conceptos de compilador
 
Compiladores
CompiladoresCompiladores
Compiladores
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
 
Especialidad
EspecialidadEspecialidad
Especialidad
 
Especialidad
EspecialidadEspecialidad
Especialidad
 
Compilador
CompiladorCompilador
Compilador
 
Materia unidad compiladores
Materia unidad compiladoresMateria unidad compiladores
Materia unidad compiladores
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
 
Compiladores financieros trabajo 10
Compiladores financieros trabajo 10Compiladores financieros trabajo 10
Compiladores financieros trabajo 10
 
Cap2
Cap2Cap2
Cap2
 
Traductores bajo-nivel
Traductores bajo-nivelTraductores bajo-nivel
Traductores bajo-nivel
 

Más de jonathangrief

Universidad nacional de chimborazo
Universidad nacional de chimborazoUniversidad nacional de chimborazo
Universidad nacional de chimborazojonathangrief
 
Software libre diapositiva
Software libre diapositivaSoftware libre diapositiva
Software libre diapositivajonathangrief
 
Software financiero diapositiva
Software financiero diapositivaSoftware financiero diapositiva
Software financiero diapositivajonathangrief
 
Sistema operativo diapositiva
Sistema operativo diapositivaSistema operativo diapositiva
Sistema operativo diapositivajonathangrief
 
Relidad virtual diapositiva
Relidad virtual diapositivaRelidad virtual diapositiva
Relidad virtual diapositivajonathangrief
 
Ofimatica diapositiva
Ofimatica diapositivaOfimatica diapositiva
Ofimatica diapositivajonathangrief
 
Bibliotecas virtuales diapositivas
Bibliotecas virtuales diapositivasBibliotecas virtuales diapositivas
Bibliotecas virtuales diapositivasjonathangrief
 
Prologo de Informatica
Prologo de InformaticaPrologo de Informatica
Prologo de Informaticajonathangrief
 

Más de jonathangrief (9)

Universidad nacional de chimborazo
Universidad nacional de chimborazoUniversidad nacional de chimborazo
Universidad nacional de chimborazo
 
Software libre diapositiva
Software libre diapositivaSoftware libre diapositiva
Software libre diapositiva
 
Software financiero diapositiva
Software financiero diapositivaSoftware financiero diapositiva
Software financiero diapositiva
 
Sistema operativo diapositiva
Sistema operativo diapositivaSistema operativo diapositiva
Sistema operativo diapositiva
 
Relidad virtual diapositiva
Relidad virtual diapositivaRelidad virtual diapositiva
Relidad virtual diapositiva
 
Ofimatica diapositiva
Ofimatica diapositivaOfimatica diapositiva
Ofimatica diapositiva
 
Bibliotecas virtuales diapositivas
Bibliotecas virtuales diapositivasBibliotecas virtuales diapositivas
Bibliotecas virtuales diapositivas
 
Prologo de Informatica
Prologo de InformaticaPrologo de Informatica
Prologo de Informatica
 
Jonathan
JonathanJonathan
Jonathan
 

Compiladores diapositivas

  • 1. COMPILADORES Introducción: En 1946 se desarrolló el primer ordenador digital. En un principio, estas máquinas ejecutaban instrucciones consistentes en códigos numéricos que señalan a los circuitos de la máquina los estados correspondientes a cada operación. Esta expresión mediante códigos numéricos se llamó Lenguaje Máquina, interpretado por un secuenciador cableado o por un microprograma. Pero los códigos numéricos de las máquinas son engorrosos. Pronto los primeros usuarios de estos ordenadores descubrieron la ventaja de escribir sus programas mediante claves más fáciles de recordar que esos códigos numéricos; al final, todas esas claves juntas se traducían manualmente a Lenguaje Máquina. Estas claves constituyen los llamados lenguajes ensambladores, que se generalizaron en cuanto se dio el paso decisivo de hacer que las propias máquinas realizaran el proceso mecánico de la traducción. A este trabajo se le llama ensamblar el programa.
  • 2. CompiladorEn el caso de que el lenguaje fuente sea un lenguaje de programación de alto nivel y el objeto sea un lenguaje de bajo nivel (ensamblador o código de máquina), a dicho traductor se le denomina compilador. Un ensamblador es un compilador cuyo lenguaje fuente es el lenguaje ensamblador. Un intérprete no genera un programa equivalente, sino que toma una sentencia del programa fuente en un lenguaje de alto nivel y la traduce al código equivalente y al mismo tiempo lo ejecuta. Históricamente, con la escasez de memoria de los primeros ordenadores, se puso de moda el uso de intérpretes frente a los compiladores, pues el programa fuente sin traducir y el intérprete juntos daban una ocupación de memoria menor que la resultante de los compiladores. Por ello los primeros ordenadores personales iban siempre acompañados de un intérprete de BASIC (Spectrum, Commodore VIC-20, PC XT de IBM, etc.). La mejor información sobre los errores por parte del compilador así como una mayor velocidad de ejecución del código resultante hizo que poco a poco se impusieran los compiladores. Hoy en día, y con el problema de la memoria prácticamente resuelto, se puede hablar de un gran predominio de los compiladores frente a los intérpretes, aunque intérpretes como los incluidos en los navegadores de Internet para interpretar el código JVM de Java son la gran excepción.
  • 3.
  • 4. En bucles, la compilación genera código equivalente al bucle, pero interpretándolo se traduce tantas veces una línea como veces se repite el bucle.
  • 5.
  • 6.
  • 7. Partes en las que trabaja un compilador:Conceptualmente un compilador opera en fases. Cada una de las cuales transforma el programa fuente de una representación en otra. En la figura 3 se muestra una descomposición típica de un compilador. En la práctica se pueden agripar fases y las representaciones intermedias entres las fases agrupadas no necesitan ser construidas explícitamente.
  • 8. Forma de examinar de un compilador: En la compilación hay dos partes: Análisis y Síntesis. La parte del análisis divide al programa fuente en sus elementos componentes y crea una representación intermedia. De las dos partes, la síntesis es la que requiere la técnica más especializada.Durante el análisis se determina las operaciones que implica el programa fuente y se registra en una estructura jerárquica llamada árbol. A menudo, se usa una clase especial de árbol llamado árbol sintáctico, donde cada nodo representa una operación y los hijos de un nodo son los argumentos de la operación.
  • 9. Conclusiones: Este trabajo servirá mucho en el momento de la creación de un compilador, ya que en él se detallan todas y cada una de las partes que involucran a este. Primeramente investigue que existen distintos tipos de compiladores, me gustaria crear un compilador de optimación, ya que pienso que es muy útil a la hora de crear un algoritmo o programa. La función de un compiladores es leer un programa escrito es un lenguaje, en este caso el lenguaje fuente, y lo traduce a un programa equivalente en otro lenguaje, el lenguaje objeto.