Необходима Java версии 11 и выше
- Скачать последнюю сборку или собрать её самостоятельно:
- Склонить репозиторий и сабмодуль с тестами:
git clone --recurse-submodules https://github.com/vldF/stella-labs
- Собрать проект:
./gradlew build
- Сгенерируются архивы
./build/distributions/stella-labs.(tar|zip)
. Выберите любой и распакуйте.
- Склонить репозиторий и сабмодуль с тестами:
- Воспользуйтесь скриптом внутри папки
bin
для своей ОС - Введите в консоль текст программы, а затем отправьте EOF (
ctrl+d
, на macos иногдаcommand+z
). Не забудьте после ввода последней строчки перед EOF отправить пустую строку! - Выведется или сообщение 'OK' если всё в порядке, или основная ошибка с описанием и кодом возврата 1
Для запуска тестов можно воспользоваться пресетами запуска в IntelliJ Idea:
Generate Tests
генерирует файл StellaTests.kt, который позволяет запускать наборы тестов (все, для конкретных ошибок или по одному)Run Supported Tests
запускает поддерживаемые тесты. Список поддерживаемых расширений указывается в StellaTestsRunner.ktRun All Tests
запускает все доступные тесты
Тестовые данные находятся в git submodule stella-tests
. После добавления новых необходимо запустить Generate Tests
для актуализации файла StellaTests.kt.
Также, можно запустить тесты при помощи gradle:
- Градл-таска
:runAllTests
запускает все тесты - Таска
:test
только поддерживаемые
- Ядро языка Stella (логические типы, натуральные числа, функции)
- let-связывания
- приписывание типа (аннотация)
- единичный тип
- пары
- записи
- типы-суммы и варианты
- рекурсия общего вида и оператор неподвижной точки
- встроенные списки
- natural literals
- вложенные функции
- проверка арности главной функции