Различные компоненты Топаза отвечают за разные задачи. Смысл программы определяется языком, допустимость исходного файла проверяет инструментарий, а фактическое поведение подтверждают наблюдения в конкретной среде.
Какой источник отвечает на ваш вопрос?
| Источник | Прямая роль |
|---|---|
Спецификация языка SPEC | Определяет канонический синтаксис, типы, семантику и наблюдаемые границы языка. |
| Средство статической проверки | Решает, проходит ли исходный код разбор, разрешение имён, проверку типов и допуск для выбранного применения. |
| Интерпретатор и цели сборки | Выполняют программу напрямую или создают продукт для выбранной цели; неподдерживаемый маршрут отклоняется до записи артефакта. |
| Канонические примеры | Представляют поддерживаемые формы и рабочие процессы с наблюдаемыми результатами. |
| Тесты и отчёты о проверке | Фиксируют результаты для указанных входных данных, инструментария, сред, профилей и лимитов ресурсов. |
Практический порядок проверки
- Выберите нужную форму в текущем справочнике по языку и канонических примерах.
- Выполните
topaz check, чтобы найти ошибки синтаксиса, имён, типов и выбранного профиля. - Запустите программу и тесты. Зафиксируйте вывод, диагностику, изменения файлов и код завершения.
- Соберите нужную цель и проверьте её документированные ограничения. Цель должна явно завершаться ошибкой, если не может сохранить требуемое поведение.
- При чтении результатов теста или отчёта о проверке учитывайте точные входные данные, среду и пределы проверки.
Стандартная последовательность команд:
topaz check main.tpz
topaz run main.tpz
topaz build main.tpz --out-dir buildСравнение свидетельств компилятора
Канонические наблюдения компилятора сопоставляют поведение заданных границ и
входные данные двух запусков. semantic последовательно сравнивает набор
исходных файлов, этапы компилятора, диагностику и результат,
generated-source — точный сгенерированный код Rust, provenance —
идентичность производителя, а native-binary — точные байты исполняемых
файлов для одной целевой платформы. Каждый слой фиксирует свой результат
компилятора, а успешный запуск рабочей нагрузки — наблюдаемые результаты для
заданных входных данных и среды.