Pregunta

Por mi propia educación Tengo curiosidad por lo que utilizan los compiladores de C ++, que front-end y back-end. ¿Me puede iluminar el que se utilizan las siguientes tecnologías y qué marcas del ensaye / ventajas que tienen en su caso?

  • Open64 - es de fondo, front-end, o ambos? Compiladores que lo usan? Lo encuentro en CUDA compilador.

  • EDG - por lo que yo puedo decir que este es un uso de front-end por los compiladores de Intel y Comeau. Qué otros compiladores usan? He encontrado un buen número de referencias a ella en el código fuente de impulso.

  • antlr - esto es analizador general. ¿Alguno de los compiladores comunes usan?

En cuanto a los compiladores:

  • con / back-end front-end hace usos de baño gcc compilador? ¿tiene herencia común con cualquier otro compilador?

  • IGP / back-end
  • lo front-end y compiladores Pathscale utilizan?

  • / Back-end
  • lo front-end XL compilador utiliza (IBM ofrenda).

enlaces en profundidad a través de Internet o de su personal know-how sería grande. Hice un poco de búsqueda de Google, pero la información que generalmente encontramos fue bastante superficial.

Gracias.

¿Fue útil?

Solución

EDG es un front-end utilizado por Intel y Comeau. lista de de clientes Ver EDG para otros usuarios.

antlr es un generador de analizadores sintácticos. No estoy al tanto de cualquier compilador de C ++ construido en torno a un programa de análisis que se generó con antlr (que no quiere decir que no podría existir sin embargo).

GCC es un conjunto de compiladores, con los extremos delanteros para C, C ++, Fortran, Ada, Java, etc., y back-ends para más procesadores de lo que me importa en qué pensar.

Open64 es también un conjunto de compiladores incluyendo varios front-end (para C, C ++, Fortran, y posiblemente otros que no recuerdo en este momento) y back-ends (dirigidos X64, Itanium, ARM, y, de nuevo , probablemente otros que no recuerdo y / o no saben acerca). Creo que su origen (juego de palabras marcadas con no previsto) es el compilador (s) de SGI. Creo recordar haber leído algo dando a entender que Open64 se deriva de alguna versión de la parte delantera del CCG (s), pero la ligera No sé 1) lo similar que se mantiene a GCC internamente, o 2) la versión de GCC de la cual deriva -. pero ha sido el tiempo suficiente que supongo que era GCC 3.x en el más reciente, y muy posiblemente 2.x CCG

Creo PathScale ha creado al menos un derivado del compilador Open64, pero pueden tener otros también.

Por lo que yo sé, compilador de IBM es enteramente su propia creación. Que había conjetura de IBM (ahora suspendido) VisualAge para C ++ compartida cierta herencia / desarrollo / código con XL C ++, pero no saben a ciencia cierta, y no puede incluso empiezan a adivinar el alcance de la misma, aun suponiendo que sea verdad.

Otros consejos

El proyecto Clang proporciona nuevos frontales para C / C ++ / C Objetivo en la parte superior de la LLVM backend. El proyecto LLVM también proporcionan una LLVM-gcc, utilizando el extremo frontal GCC y el backend LLVM. El proyecto DragonEgg busca reemplazar el back-end de GCC con LLVM.

El Codeplay VectorC, tamiz y Descarga de compiladores utilizar un front-end a medida y servicios de fondo

  

con front-end / back-end lo hace usos de baño compilador gcc? ¿tiene herencia común con cualquier otro compilador?

El acrónimo “CGC” significa “colección de compiladores de GNU” (originalmente “GNU compilador C”) y esto ya da una pista: los compiladores de GNU son un colección de los compiladores, sobre todo para C y C ++, sino también para Fortran, Objective-C y otros. Ellos comparten un back-end común y representación intermedia que fue desarrollado para GCC específicamente.

Los frontales están todos por encargo escrito para el CCG. Algunos fueron aportados por terceros, sobre todo el front-end de Objective-C, que fue contribuido por Apple.

usos EDG para su motor de intelliSense.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top