Перейти к содержимому
Топаздокументация
Загрузка

Поиск в документации

Проект и руководство

Выберите результат стрелками и нажмите Enter, чтобы открыть его.

Введите имя API, номер диагностики, правило или тему проекта.

    Программы на Топазе

    На Топазе создают и используют реальные продукты, среди которых компилятор, браузерные инструменты и игры. По ссылкам на этой странице можно прочитать их исходный код на Топазе.

    Компилятор Топаза на самом языке

    Ядро компилятора Топаза написано на самом Топазе. Этот компилятор не только читает исходный код и проверяет имена и типы, но и переводит программу в промежуточное представление для выполнения и генерирует код на Rust. Итоговый нативный исполняемый файл собирается инструментарием Rust с отдельными компонентами хоста и среды выполнения. Как описано на странице Состояние инструментария, этот компилятор используется по умолчанию в большинстве команд, включая topaz check, run и build.

    Исходный код компилятора на Топазе находится в каталоге compiler/crates/topaz_self_frontend/. Перевод в промежуточное представление находится в lowering.tpz, генерация кода на Rust в каталоге emitter/. Этот исходный код можно читать на slow.monster (внешняя ссылка). Начиная с 5.21 он также входит в архив начальной загрузки компилятора, который публикуется с каждым выпуском.

    ATLAS

    ATLAS (внешняя ссылка) превращает рукопись в свёрстанные книжные страницы и готовый к печати PDF внутреннего блока.

    Правила разбиения на строки в ATLAS написаны на Топазе. Окно исходного кода на главной странице ATLAS показывает пять файлов на Топазе. Четыре из них описывают шаги 금칙분류, 나쁨도, 정렬벌점 и 최적분할, то есть запреты переноса, оценку качества строки, штраф выравнивания и оптимальное разбиение. Пятый файл, 줄바꿈, объединяет их. Имена функций взяты из корейских терминов вёрстки, а всего в пяти файлах около 1000 строк.

    CodeImage

    CodeImage (внешняя ссылка) сохраняет исполняемую программу в изображении и восстанавливает из него исходный код прямо в браузере. Подходящий ключ позволяет восстановить исходный текст в точности.

    Код на Топазе отвечает за представление программы, кодирование изображения и восстановление исходного кода. Он занимает около 110 файлов и 19 тысяч строк. Просмотрите каталоги на странице исходного кода CodeImage (внешняя ссылка) или откройте их на slow.monster (внешняя ссылка).

    Jeniapp

    Jeniapp (внешняя ссылка) предлагает 20 браузерных приложений, для которых не нужны установка и вход в учётную запись. Среди них база данных SQL, форматирование JSON и электронная таблица.

    Приложения написаны на Топазе и работают через WASM. Опубликованный код на Топазе занимает около 60 файлов и 11 тысяч строк. Откройте его кнопкой просмотра исходного кода в приложении или на slow.monster (внешняя ссылка).

    kakao.games

    Domain War на kakao.games (внешняя ссылка) представляет собой текстовую ролевую игру по мотивам реального спора о домене. Решения игрока меняют ход и настроение истории.

    Опубликованный код игры на Топазе занимает четыре файла и около 450 строк. Его можно открыть кнопкой исходного кода на экране игры или прочитать на slow.monster (внешняя ссылка).

    Что читать дальше

    На странице Знакомство с Топазом собраны примеры языка, а в Истории описаны изменения языка и инструментов.

    Меню

    Загрузка