Об этом проекте
Compiler Explorer — это интерактивный веб-сайт для изучения того, как исходный код преобразуется в ассемблер. Пользователи редактируют код в одной панели и видят результат компиляции в реальном времени, что полезно для обучения, преподавания, отладки и сравнения поведения компиляторов.
Поддерживаемые языки включают C, C++, C#, F#, Rust, Go, D, Haskell, Swift, Pascal, ispc, Python, Java и ещё более 30 других. Для каждого языка доступно несколько компиляторов, а макет интерфейса настраивается с помощью системы панелей GoldenLayout. Публичный экземпляр доступен на godbolt.org, проект также можно запускать локально.
Проект начался в 2012 году как способ показать, как конструкции C++ отображаются в ассемблер, и публичный сайт теперь сообщает о более чем 3 000 000 компиляций в неделю. Он написан на TypeScript на Node.js. Типичную локальную настройку на Linux можно запустить с помощью make, который устанавливает зависимости и обслуживает приложение на порту 10240. Цель make dev включает автоматическую перезагрузку и более быстрый запуск, а npm run dev доступен как альтернатива. Поддержку языков можно ограничить при запуске, например, только C++.
Конфигурация обрабатывается через файлы ключ=значение в etc/config, при этом файлы *.local.properties переопределяют значения по умолчанию и исключаются из системы контроля версий. Мастер свойств CE (CE Properties Wizard) может обнаруживать и настраивать локальные компиляторы для многих языков, а отдельный проект infra предоставляет команду ce_install для установки большого набора компиляторов. Для корпоративных или офлайн-сред сервис сокращения URL можно заменить внутренним модулем.
RESTful API позволяет программно компилировать в ассемблер и получать список доступных компиляторов, документация находится в репозитории. Проект поддерживает FAQ в своей вики, дорожную карту, руководство по внесению вклада, кодекс поведения и чек-лист для тестирования интерфейса. Поддержка сообщества доступна через Discord, канал Slack и публичные списки рассылки. Официальные домены включают godbolt.org, godbo.lt и compiler-explorer.com, а поддомены предоставляют независимое локальное состояние и языковые точки входа.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.