상용 C/C++ 컴파일러 프런트엔드(frontend) 시장의 주요 플레이어였던 EDG가 자사의 C/C++ 컴파일러 프로젝트를 오픈소스(Open Source)로 공개했습니다. 이 프로젝트는 EDG C/C++ 프런트엔드를 핵심으로 하며, 개발자들이 다양한 C/C++ 관련 제품에 활용할 수 있도록 높은 설정 유연성을 제공합니다. 특히 Clang, GCC, MSVC와 같은 기존의 주요 컴파일러들과의 파싱(parsing) 호환성 및 버그 에뮬레이션(bug emulation)을 통해, 이들 컴파일러에서 문제없이 컴파일되는 소스 코드가 EDG에서도 동일하게 작동하도록 하는 데 중점을 두었습니다.
EDG 컴파일러 프로젝트는 단순히 프런트엔드 기능에 머무르지 않고, 다양한 개발 구성 요소를 함께 제공합니다. 예를 들어, C++ 프로그램을 C 코드로 변환할 수 있는 C 생성 백엔드와 소스 간 변환 작업에 유용한 C++ 생성 백엔드를 지원합니다. 또한, 자동 템플릿 인스턴스화(template instantiation)를 처리하는 프리링커(prelinker), 중간 언어(intermediate language) 입출력 및 표시 도구, 이름 디맹글러(demangler) 등 개발 편의성을 높이는 유틸리티들이 포함되어 있습니다. 프로젝트는 개발과 수정을 위한 상세한 문서를 제공하며, 런타임 지원 라이브러리(runtime support library)는 최소한의 기능만 포함하여 핵심 컴파일러 기능에 집중하고 있습니다.
이번 EDG 컴파일러의 오픈소스 전환은 C/C++ 개발 생태계에 중요한 의미를 가집니다. 특히 1990년대부터 이어져 온 EDG의 뛰어난 C++ 호환성 기술이 공개됨으로써, 새로운 컴파일러 개발이나 기존 시스템의 C/C++ 부트스트랩(bootstrap) 과정에 큰 도움이 될 수 있습니다. 또한, 높은 유연성을 바탕으로 임베디드(embedded) 시스템, 게임 개발, 특수 목적 컴퓨팅 등 다양한 분야에서 맞춤형 C/C++ 도구를 구축하려는 개발자들에게 새로운 가능성을 열어줄 것으로 기대됩니다. 이는 C/C++ 언어의 지속적인 발전과 활용을 촉진하는 계기가 될 것입니다.