Темы



Компилятор EDG C/C++ превращён в открытый проект, развиваемый сообществом

Коротко сгенерировано ИИ по тексту статьи
  • После прекращения деятельности Edison Design Group открыла код EDG C/C++ под лицензией Apache 2.0 с исключениями LLVM.
  • Разработку передали сообществу под покровительство C++ Alliance; на первом этапе сопровождением займутся инженеры EDG, работу которых профинансирует организация.
  • EDG полностью поддерживает C++11, C++14 и C++17, частично — C++20 и C++23; проект планирует добавить полную поддержку актуальных стандартов.

Компания Edison Design Group в связи с прекращением своей деятельности открыла исходный код фронтенда компилятора EDG C/C++ и передала его разработку сообществу. Дальнейшая работа над EDG C/C++ будет вестись под покровительством некоммерческой организации C++ Alliance, предоставляющей инфраструктуру и финансирующей работу над такими проектами, как Boost. Код EDG C/C++ открыт под лицензией Apache 2.0 с исключениями LLVM, убирающими ограничения по включению runtime-частей компилятора в бинарные файлы и решающих проблемы с совместимостью с GPLv2.

Компания Edison Design Group была создана в 1988 году и специализировалась на разработке фронтэнда для языков C и C++, выполняющего работу по препроцессингу, лексическому, синтаксическому и семантическому анализу исходного кода, выявлению ошибок и преобразованию в универсальное промежуточное представление, которое затем используется бэкендом для генерации машинного кода. EDG C/C++ применялся в качестве фронтэнда во многих проприетарных компиляторах и анализаторах кода, включая такие продукты как Intel C++ Compiler, Comeau C++, Microsoft Visual C++, NVIDIA CUDA Compiler, SGI MIPSpro и Portland С/C++.

Помимо преобразования исходного кода в промежуточное представление EDG C/C++ предоставляет возможности для диагностики ошибок в коде c формированием детальной информации о проблемах и их местоположению в коде. При этом фронтэнд не выполняет оптимизацию и лишь генерирует высокоуровневое древовидное структурированное представление на универсальном промежуточном языке, отражающее информацию об объявлениях, операторах и выражениях с привязками к исходному коду для упрощения генерации отладочной информации.

В EDG C/C++ полностью поддерживаются стандарты C++11, C++14 и C++17, частично C++20 и C++23, а также расширения и диалекты Microsoft, GNU и Clang. Одним из основных направлений деятельности после передачи проекта сообществу станет проведение работы по добавлению в EDG полной поддержки актуальных стандартов C++. В долгосрочной перспективе планируется довести EDG C/C++ до состояния полнофункционального компилятора, способного конкурировать с GCC и LLVM/Clang.

На первом этапе сопровождением кодовой базы нового открытого проекта займутся инженеры из EDG, финансирование работы которых обеспечит C++ Alliance. Со временем будут выработаны открытые процессы, позволяющие сторонним участникам принимать активное участие в разработке, сохраняя при этом высокое качество продукта. Комитет, который будет контролировать развитие проекта, возглавит Джон Спайсер (John Spicer), один из ключевых разработчиков EDG C/C++.



Источник: http://www.opennet.ru/opennews/art.shtml? num=66397

©  OpenNet