Tipos de compiladores

Solo disponible en BuenasTareas
  • Páginas : 10 (2367 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de mayo de 2011
Leer documento completo
Vista previa del texto
TIPOS DE COMPILADORES

INDICE

1. Introducción 2. Tipos de compiladores 3. Características principales * Compiladores cruzados * Compiladores JIT * Compiladores optimizadores * Compiladores de una sola pasada * Compiladores de varias pasadas * Compiladores Incrementales * Autocompilador * Metacompilador * Descompilador* HotSpot 4. Referencias | Pag.223345568889910 |

1. Introducción
Los primeros compiladores se realizaron programándolos directamente en lenguaje máquina o en ensamblador. Una vez que se dispone de un compilador, se pueden escribir nuevas versiones del compilador (u otros compiladores distintos) en el lenguaje que compila ese compilador.
Actualmente existen herramientas que facilitan latarea de escribir compiladores ó intérpretes informáticos. Estas herramientas permiten generar el esqueleto del analizador sintáctico a partir de una definición formal del lenguaje de partida, especificada normalmente mediante una gramática formal y barata, dejando únicamente al programador del compilador la tarea de programar las acciones semánticas asociadas.
2. Tipos de compiladores
Estaclasificación de los tipos de compiladores no es excluyente, por lo que puede haber compiladores que se adscriban a varias categorías:
* Compiladores cruzados: generan código para un sistema distinto del que están funcionando.
* Compiladores optimizadores: realizan cambios en el código para mejorar su eficiencia, pero manteniendo la funcionalidad del programa original.
* Compiladores deuna sola pasada: generan el código máquina a partir de una única lectura del código fuente.
* Compiladores de varias pasadas: necesitan leer el código fuente varias veces antes de poder producir el código máquina.
* Compiladores JIT (Just In Time): forman parte de un intérprete y compilan partes del código según se necesitan.
* Compiladores incrementales: generan un código objetoinstrucción por instrucción (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.
* Compilador con montador: compilador que compila distintos módulos de forma independiente y después es capaz de enlazarlos.
* Autocompilador: compilador 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 código generado, etc.
* 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 compiladorpara ese lenguaje.
* Descompilador: Realiza el proceso inverso a la compilación, es decir pasa de lenguaje objeto a fuente.
* HotSpot: herramienta que incluye un compilador dinámico y una máquina virtual para interpretar los ByteCodes.
3. Características principales

3.1. Compiladores cruzados.
Un compilador cruzado (cross compiler) es aquel que genera código ejecutable para unaplataforma diferente a aquella en la que se ejecuta.
Esta herramienta es útil cuando quiere compilarse código para una plataforma a la que no se tiene acceso, o cuando es incómodo o imposible compilar en dicha plataforma (como en el caso de los sistemas empotrados).
Por ejemplo, supongamos que queremos desarrollar aplicaciones para un teléfono móvil, una PDA o una consola de videojuegos. Normalmenteserá más cómodo realizar el desarrollo en un PC y luego volcar el código objeto en el dispositivo de destino. En estas situaciones, el compilador que usaremos en el PC es un caso de compilador cruzado.
El sistema operativo Nachos se ejecuta sobre una máquina virtual basada en el procesador MIPS. Los programas de usuario deben estar escritos en código máquina del MIPS. Afortunadamente, no...
tracking img