12
COMPILADORES

Tipos de Compiladores

Embed Size (px)

DESCRIPTION

Tipos de compiladores - Informatica 4to

Citation preview

Compiladores

Compiladores

1Uncompiladores unprograma informticoquetraduce un programaescrito en unlenguaje de programacina otro lenguaje de programacin, generando un programa equivalente que la mquina ser capaz de interpretar. Como parte importante de este proceso de traduccin, el compilador informa a su usuario de la presencia de errores en el programa fuente

Tipos de compiladoresCompiladores cruzados.Compiladores optimizadores.Compiladores de una sola pasada.Compiladores de varias pasadas.Compiladores JIT(Just In Time).Compiladores incrementales.Ensamblador.Autocompilador.Metacompilador.Descompilador.

Compiladores cruzados.Uncompilador cruzadoes uncompiladorcapaz de crear cdigoejecutablepara otraplataformadistinta a aqulla en la que elcompiladorse ejecuta.

Compiladores optimizados.Uncompilador cruzadoes uncompiladorcapaz de crear cdigoejecutablepara otraplataformadistinta a aqulla en la que elcompiladorse ejecuta.

* Eliminacin de saltos consecutivos* Eliminar el clculo de expresiones cuyo valor no se usa.* Fundir en uno solo el clculo repetido de la misma expresin.* Sacar de los lazos las expresiones cuyo valor no cambia en el lazo.* Reducir el uso de memoria local reutilizando el espacio de una variable muerta.Compiladores de una pasadaGeneran el cdigo mquina a partir de una nica lectura del cdigo fuente. Donde el anlisis lxico, sintctico, semntico y la generacin de cdigo se realizan en una pasada.

Fcil de implementarGenera poca actividad de entrada/salidaLimitaciones en la calidad del cdigo generadoMucha necesidad de memoria

Compiladores jit (just in time)Es un compilador especfico de plataforma que genera instrucciones de mquina para cada mtodo en la primera llamada a dicho mtodo. Para mejorar el rendimiento, el compilador JIT compila cdigo a medida que se necesita.Un JIT es un generador de cdigo que convierte los bytecodes Java en cdigo nativo de la mquina. Los programas Java invocados con un JIT generalmente se ejecutan ms rpido que cuando se ejecutan en bytecodes por el intrprete.Compiladores INCREMENTALESGeneran un cdigo objeto instruccin por instruccin (en vez de hacerlo para todo el programa) cuando el usuario teclea cada orden individual.

El otro tipo de compiladores requiere que todos los enunciados o instrucciones se compilen conjuntamente.ensambladorEl trmino ensamblador (del ingls assembler) se refiere a un tipo de programa informtico que se encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene cdigo mquina, ejecutable directamente por el microprocesador.

autocompiladorCompilador que est escrito en el mismo lenguaje que va a compilar. Evidentemente, no se puede ejecutar la primera vez. Sirve para hacer ampliaciones al lenguaje, mejorar el cdigo generado, etc.metacompiladorEs sinnimo 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. descompilador

Pasa de un cdigo mquina (o programa de salida) al lenguaje que lo gener (programa fuente). Cada descompilador trabaja con un lenguaje de alto nivel concreto. Es una operacin casi imposible, porque al cdigo mquina casi siempre se le aplica una optimizacin.