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. …ver más…
El compilador cruzado que viene con la instalación de Nachos es capaz de traducir de C a código del MIPS.
El compilador cruzado que se distribuye con el Nachos es una versión del popular compilador GCC. Funciona sobre prácticamente cualquier versión de Linux. Si quieres trabajar en tu propio ordenador, necesitas instalar este compilador.
Otro ejemplo de un compilador con estas posibilidades es el NASM, que puede ensamblar, entre otro formatos, ELF (para sistemas UNIX) y COM (para DOS).
El Netwide Assembler o NASM, es un ensamblador libre para la plataforma Intel x86. Puede ser usado para escribir programas tanto de 16 bits como de 32 bits (IA-32). En el NASM, si se usan las bibliotecas correctas, los programas de 32 bits se pueden escribir de una manera tal para que sean portables entre cualquier sistema operativo x86 de 32 bits. El paquete también incluye un desensamblador, el NDISASM.
3.2. Compiladores JIT (Just In Time).
Un JIT es un generador de código que convierte los bytecodes Java en código nativo de la máquina. Los programas Java invocados con un JIT generalmente se ejecutan más rápido que cuando se ejecutan en bytecodes por el intérprete.
Un paso adelante en el rendimiento del código Java lo han representado los compiladores Just-In-Time, que compilan el código convirtiéndolo a código máquina antes de ejecutarlo. Es decir, un compilador JIT va trasladando los ByteCodes al código máquina de la plataforma según los va leyendo, realizando un