Frente

Cfront  es uno de los primeros compiladores de C ++, luego llamado C con clases, que convirtió C ++ a C. Desarrollado por Bjorn Stroustrup en AT&T Bell Labs alrededor de 1983 . No entendió todos los detalles del idioma, la mayor parte se realizó con la ayuda de la traducción ordinaria. Cfront incluía un analizador, un generador de tablas de caracteres y árboles de clases, funciones y más. Cfront se basó en CPre , el compilador C de 1979 .

Dado que fue escrito en C++ temprano, era problemático ejecutarlo sin un compilador adecuado. Junto con el código Cfront en C++, había una versión C semiacabada autogenerada. Este código C podría compilarse y luego usarse para ejecutar la versión C++ de Cfront.

Gran parte del esfuerzo de portabilidad para ejecutar Cfront en una nueva máquina involucró E/S estándar. Los flujos de C++ de Cfront estaban estrechamente relacionados con los flujos de E/S almacenados en búfer de la biblioteca C, pero interactuaban poco con el resto del entorno de C. El compilador podía trasladarse a la mayoría de los derivados de System V sin muchos cambios, pero los sistemas basados ​​en BSD generalmente tenían mucha más variación en sus bibliotecas C y estructuras de stdio relacionadas.

Cfront definió el lenguaje hasta alrededor de 1990 , muchas de las características del lenguaje estaban relacionadas con la traducción de C++ a C. Algunos de ellos aún permanecen en compiladores modernos; La manipulación de nombres provino de Cfront, los enlazadores primitivos de la época no admitían información de tipo en símbolos, y algunos modelos de creación de instancias de plantillas se derivan de los primeros esfuerzos de Cfront.

Cfront 4.0 se abandonó después de un intento fallido de agregar soporte para excepciones [1] C++ ha crecido más allá de sus límites. Más tarde apareció un compilador con un enfoque similar, se llamó Comeau C/C++ .

Notas

  1. Scott Myers , The Most Important C++ Software... Ever Archivado el 28 de abril de 2011 en Wayback Machine , 2006
notas