cproc: un nuevo compilador compacto para el lenguaje C

Michael Forney, desarrollador del servidor compuesto swc basado en el protocolo Wayland, está desarrollando un nuevo compilador cproc que admite el estándar C11 y algunas extensiones GNU. Para generar archivos ejecutables optimizados, el compilador utiliza el proyecto QBE como backend. El código del compilador está escrito en C y se distribuye bajo la licencia ISC gratuita.

El desarrollo aún no está completo, pero en la etapa actual se ha implementado el soporte para la mayor parte de la especificación C11. Entre las características actualmente no soportadas se encuentran matrices de longitud variable, un preprocesador, generación de archivos ejecutables PIE (código independiente de posición) y bibliotecas compartidas, ensamblador en línea, el tipo "doble largo", el especificador _Thread_local, tipos volátiles, literales de cadena con un prefijo. (L"..." ).

Al mismo tiempo, las capacidades de cproc ya son suficientes para construir él mismo, mcpp, gcc 4.7, binutils y otras aplicaciones básicas. La diferencia clave con otros compiladores es el enfoque en crear una implementación compacta y sencilla. Por ejemplo, el backend le permite generar código que demuestra el 70% del rendimiento de los compiladores avanzados, pero la funcionalidad propuesta está dentro del 10% de los compiladores grandes. Admite la creación de arquitecturas x86_64 y aarch64 en plataformas Linux y FreeBSD con las bibliotecas Glibc, bsd libc y Musl.

Fuente: opennet.ru

Añadir un comentario