Совместимость

Язык и совместимость

Использование спецификации, средств проверки, целей сборки, примеров и отчётов о проверке для каждого слоя.

Различные компоненты Топаза отвечают за разные задачи. Смысл программы определяется языком, допустимость исходного файла проверяет инструментарий, а фактическое поведение подтверждают наблюдения в конкретной среде.

Какой источник отвечает на ваш вопрос?

ИсточникПрямая роль
Спецификация языка SPECОпределяет канонический синтаксис, типы, семантику и наблюдаемые границы языка.
Средство статической проверкиРешает, проходит ли исходный код разбор, разрешение имён, проверку типов и допуск для выбранного применения.
Интерпретатор и цели сборкиВыполняют программу напрямую или создают продукт для выбранной цели; неподдерживаемый маршрут отклоняется до записи артефакта.
Канонические примерыПредставляют поддерживаемые формы и рабочие процессы с наблюдаемыми результатами.
Тесты и отчёты о проверкеФиксируют результаты для указанных входных данных, инструментария, сред, профилей и лимитов ресурсов.

Практический порядок проверки

  1. Выберите нужную форму в текущем справочнике по языку и канонических примерах.
  2. Выполните topaz check, чтобы найти ошибки синтаксиса, имён, типов и выбранного профиля.
  3. Запустите программу и тесты. Зафиксируйте вывод, диагностику, изменения файлов и код завершения.
  4. Соберите нужную цель и проверьте её документированные ограничения. Цель должна явно завершаться ошибкой, если не может сохранить требуемое поведение.
  5. При чтении результатов теста или отчёта о проверке учитывайте точные входные данные, среду и пределы проверки.

Стандартная последовательность команд:

BASH
topaz check main.tpz
topaz run main.tpz
topaz build main.tpz --out-dir build

Сравнение свидетельств компилятора

Канонические наблюдения компилятора сопоставляют поведение заданных границ и входные данные двух запусков. semantic последовательно сравнивает набор исходных файлов, этапы компилятора, диагностику и результат, generated-source — точный сгенерированный код Rust, provenance — идентичность производителя, а native-binary — точные байты исполняемых файлов для одной целевой платформы. Каждый слой фиксирует свой результат компилятора, а успешный запуск рабочей нагрузки — наблюдаемые результаты для заданных входных данных и среды.

Связанная документация