Страницы

Показаны сообщения с ярлыком Многоплатформенность. Показать все сообщения
Показаны сообщения с ярлыком Многоплатформенность. Показать все сообщения

суббота, 24 февраля 2024 г.

Чтение каталога через Java

Добавлен модуль JavaDir, позволяющий читать каталог при генерации кода через Java.

Рекомендуемым способом чтения каталога является обращение через модуль Dir, который объединяет в себе работу и с другими платформо-специфичными модулями для чтения каталога.

понедельник, 26 сентября 2022 г.

Накладные расходы проверок на RISC-V, ARM, Эльбрус, AMD64

Получил в использование одноплатный компьютер StarFive VisionFive c 2-ядерным процессором на архитектуре RISC-V. На поставляемом с платой дистрибутиве Fedora провёл тестирование транслятора Восток и, в частности, проверку времени исполнения сгенерированного кода с проверками корректности и без.

вторник, 4 января 2022 г.

Перевод на другие языки в песочнице

Песочница пополнилась возможностью вызывать транcляцию в доступные языки, то есть, С, Java, JavaScript. В выводе кода акцент смещён на читаемость, поэтому для неё транслятор вызывается с опциями, минизирующими создание дополнительного кода, необходимого для повышения диагностики ошибок или воплощения необычных режимов исполнения.

Заодно с добавлением команд трансляции на сайт песочницы были добавлены новые примеры кода.

воскресенье, 14 февраля 2021 г.

Telegram бот

Вдобавок к демо-серверу, позволяющему в браузере запускать код на Обероне, сделал telegram-бота, позволяющего схожим образом запускать код прямо в чате.

В сообщении можно отсылать как текст модуля, который будет выполнен, так и скрипт с отдельными вызовами процедур. Чтобы бот получил сообщение в общем чате, в начало сообщения необходимо добавить косую черту, а для скриптового кода нужно указать ещё и сокращённое название языка программирования - /O7:. В индивидуальном чате с ботом дополнительных знаков не нужно.

Поддерживаются 2-е дополнительные команды:

  1. /LIST выводит список доступных модулей, правда, большинство из которых в режиме песочницы выступают лишь заглушками
  2. /INFO Module выводит список экспортированных процедур модуля

понедельник, 28 декабря 2020 г.

Создание rpm пакетов

Добавил в систему сборки возможность собирать rpm пакеты. Для пакетирования нужен установленный rpmbuild, который доступен не только в дистрибутивах, основанных на rpm, но и в Debian. В чистом каталоге проекта достаточно выполнить 3-и команды:

./init.sh && result/bs-ost run make.Build -infr . -m source
result/ost run make.Rpm -infr . -m source

Сборка, как минимум, работает в Ubuntu 20.04 и в Alt Linux 9

Кроме установки в Alt попробовал устанавливать rpm пакеты и в Ubuntu. С помощью утилиты alien успешно преобразовал собранные rpm в deb. Полученные пакеты устанавливаются, и всё работает. Правда, у пакетов теряются прописанные зависимости, поэтому появляется возможность установить без них, что может отрицательно сказаться на работоспособности. К сожалению, надежда на возможность сборки только rpm-пакетов с последующим преобразованием в deb оправдалась не полностью.

В целом, rpm формат показался куда более проработанным, чем deb. Не удивительно, что его выбрали стандартом. Но до действительно хорошего уровня формату тоже далеко.

Расширение командного режима

Расширены возможности кода Oberon-команд в трансляторе Восток. Эти возможности являются альтернативой частным и в то же время однообразным р...