Интеграция

Анализ и преобразование кода в Лене Код

Лена Код представляет собой платформу анализа кода на основе детерминированного конвейера. Понимайте, улучшайте и преобразовывайте код на 30 языках.

Лена Код представляет собой платформу анализа кода на основе детерминированного конвейера. Понимайте, улучшайте и преобразовывайте свой код на 30 языках. Explain и Review помогают разобраться в коде и провести ревью на его исходном языке. Convert преобразует код на выбранный язык.

Для преобразования вставьте код в редактор исходника, выберите доступный целевой язык и просмотрите код в редакторе результата.

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

Установите Топаз для проверки и запуска полученных файлов .tpz. Для нативной сборки также нужны инструменты сборки Rust.

Генерация и детерминированная проверка

Техническая основа Лены Код включает собственный диалект Лиспа Lena и Facet IR, промежуточное структурное представление кода. Команда разработала инструменты анализа и преобразования кода, интерпретаторы и корпус проверок. Эти технологии лежат в основе анализа, генерации и преобразования кода, а также детерминированной проверки результатов.

Подготовьте преобразование

Сохраните исходный код, входные данные и ожидаемые результаты вместе с преобразованным кодом. Прежде чем использовать результат в приложении, проверьте изменения API, представления данных, побочных эффектов и обработки ошибок.

Проверьте полученный код Топаза

Сохраните преобразованный код как converted.tpz. Перед запуском просмотрите содержимое и изменения. Выполните следующие команды по порядку из папки с этим файлом. При ошибке остановитесь.

BASH
topaz parse converted.tpz
topaz check converted.tpz
topaz run converted.tpz
topaz build converted.tpz --out-dir converted-build --run
КомандаЧто проверить
parseКод завершения 0 означает успешный синтаксический анализ
checkКод завершения 0 означает успешную проверку имён и типов
runСравните вывод и код завершения программы с оригиналом
build --runПроверьте результат сборки в converted-build и поведение собранной программы

Если анализ или проверка завершается ошибкой, исправьте указанное место в converted.tpz согласно текущему синтаксису. Если выполнение даёт другой результат, подайте обеим программам одинаковые данные и изучите изменённую логику.

Сравните важные для приложения результаты, ошибки, изменения данных, вызовы API и обработку сбоев. Успешная проверка исходника не проверяет эти результаты. Изучите файловые и сетевые операции, прежде чем разрешить доступ к реальным данным.

Преобразуйте Топаз в другой язык

Лена Код задаёт правила переноса конструкций Топаза в целевой язык и среду выполнения. Проверьте полученные API, представление данных, внешние действия и обработку ошибок. Выполните тесты средствами целевого языка и сравните результаты с сохранёнными.

Подключите результат

Продукты обмениваются исходными файлами. Отдельно настройте пакеты, среду выполнения и файлы развёртывания целевого языка. При соединении скомпилированных компонентов проверьте ABI, правила передачи аргументов и результатов.

Помечайте примеры на других языках названием языка. Файлы .tpz используют синтаксис Топаза, а topaz check отклоняет неподдерживаемые формы.

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