EDG открывает исходники своего компилятора C/C++ и сворачивает деятельность
На ноябрьском заседании комитета по стандартизации C++ в 2025 году компания Edison Design Group (EDG) объявила о том, что сворачивает деятельность и открывает исходный код своего фронтенда C/C++. Репозиторий уже доступен на GitHub и содержит не только сам фронтенд, но и ряд сопутствующих компонентов.
Что это за фронтенд
Фронтенд EDG — одна из всего четырёх ныне существующих реализаций разбора C++ (наряду с Clang, GCC и MSVC). Его ключевые достоинства — высокая совместимость при парсинге и даже эмуляция чужих ошибок, чтобы код, собираемый Clang, GCC и MSVC, так же собирался и у EDG. К этому прилагаются подробная документация и крайняя степень настраиваемости: фронтенд специально приспособлен для встраивания в самые разные продукты, ориентированные на C и C++.
Самое известное применение — именно такое встраивание: на EDG построен IntelliSense в Visual Studio. Компилятор Intel тоже использовал этот фронтенд, пока не перешёл на Clang.
Что лежит в репозитории
Помимо собственно фронтенда, проект включает бэкенд, генерирующий код на C (позволяет получать C из программ на C++), бэкенд, генерирующий C++ (полезен для преобразований «из исходника в исходник»), прелинкер для автоматического инстанцирования шаблонов, минимальную библиотеку поддержки времени выполнения (но без «настоящих» библиотек вроде потокового ввода-вывода), утилиты для записи промежуточного языка в файл и его чтения, демаглер имён и набор инструментов для разработки. Документация опубликована на отдельном сайте, там же есть страница с подробностями о самом переходе к открытой модели.
Историческая деталь
У EDG есть любопытная строчка в истории стандарта. Это был единственный фронтенд, реализовавший возможность export для шаблонов из C++98. Полученный опыт впоследствии использовали как аргумент за удаление этой возможности — настолько неудачной она оказалась на практике. В конце концов export-шаблоны убрали в C++11.
Источник: Lobsters
Комментарии
Войдите, чтобы комментировать.