TIPOS DE COMPILADORES EN C
Enviado por debjrz • 26 de Abril de 2013 • 472 Palabras (2 Páginas) • 460 Visitas
COMPILADOR: programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto. Este proceso de traducción se conoce como compilación.
GNU COMPILER COLLECTION
Descripcion
Es un conjunto de compiladores creados por el proyecto GNU. GCC es software libre y lo distribuye la Free Software Foundation (FSF) bajo la licencia general pública GPL. Estos compiladores se consideran estándar para los sistemas operativos derivados de UNIX, de código abierto y también de propietarios, como Mac OS X. GCC requiere el conjunto de aplicaciones conocido como binutils para realizar tareas como identificar archivos objeto u obtener su tamaño para copiarlos, traducirlos o crear listas, enlazarlos, o quitarles símbolos innecesarios.
Originalmente GCC significaba GNU C Compiler (compilador GNU de C), porque sólo compilaba el lenguaje C. Posteriormente se extendió para compilar C++, Fortran, Ada y otros.
Características
Lenguajes: En su versión 4.6 incluye front ends para C (gcc), C++ (g++), Java (gcj), Ada (GNAT), Objective-C (gobjc), Objective-C++ (gobjc++) y Fortran (gfortran).5 También esta disponible, aunque no de forma estándar, soporte para Go (gccgo), Modula-2, Modula-3, Pascal (gpc), PL/I, D (gdc), Mercury, y VHDL (ghdl).
Arquitecturas: En la versión 4.2.3 se incluye soporte para: ARC, ARM, Blackfin, CRIS, CRX, Darwin, DEC Alpha, DEC Alpha/VMS, FRV, GNU/Linux, H8/300, H8/500, HPPA, IA-64 "Itanium", M32C, M32R/D, MIPS, MMIX, MN10300, Morpho MT, Motorola M680x0, Motorola M68hc1x, Motorola 88000, PA-RISC, PDP-11, PowerPC, RS/6000, Score, SPARC, SuperH, System/370, System 390, System V, TMS320C3x/C4x, V850, VAX, x86, x86-64, Xstormy16, Xtensa, zSeries.
Estrucutura: Casi todo GCC está escrito en C, aunque gran parte del front end de Ada está escrito en Ada. El 30 de mayo de 2010 se anunció que se comenzará a utilizar C++ en el desarrollo de GCC.7
Los front ends varían internamente, teniendo que producir árboles que puedan ser manejados por el back end. Todos los analizadores son analizadores recursivos descendentes y fueron escritos manualmente, no generados automáticamente.
El comportamiento del back end está parcialmente especificado por el preprocesador de macros específicas a la arquitectura objetivo, por ejemplo para definir la posición de los bits más significativos, tamaño de palabra, convención para llamadas, etc. El backend utiliza éstas para la generación de RTL, aunque en GCC éste es independiente del procesador, la secuencia inicial de instrucciones abstractas es adaptada a la arquitectura objetivo.
Uso
Mejorar el compilador usado en todos los sistemas GNU,
...