Компиляторная цепочка Whale
Обзор
Whale - специализированная компиляторная цепочка для языка программирования Wave. Whale отвечает за анализ, оптимизацию и преобразование исходного кода, написанного на Wave, в двоичные файлы для целевой платформы. Этот инструментальный комплекс разработан исключительно для языка Wave и не учитывает поддержку других языков или интеграцию с внешними инструментальными комплексами.
Цели проектирования
Основные цели проектирования Whale:
- Поддержка только для Wave: Whale поддерживает только язык Wave и не учитывает интеграцию с другими языками.
- Модульная структура: каждая функция организована как независимый модуль, который можно добавлять или удалять по мере необходимости.
- Использование независимого IR: Whale определяет свое собственное промежуточное представление, не используя существующи е внешние IR, такие как LLVM IR.
- Поддержка нескольких целевых платформ: можно осуществлять сборку для различных сред, независимо от операционной системы и архитектуры оборудования.
- Точный контроль: компиляция организована так, чтобы разработчик мог детально контролировать весь процесс.
- Удаление внешних зависимостей: Whale не зависит от внешнего C/C++ времени выполнения или компилятора.
Поддержка целей
Цель Whale - поддержка следующих целевых сред:
- Операционные системы:
- Linux
- Windows
- macOS
- UEFI (без BIOS)
- WaveOS (собственная ОС)
- Архитектуры:
- x86_64 (AMD64)
- ARM64
- Расширение через добавление модулей для остальных