Skip to content

Latest commit

 

History

History
56 lines (44 loc) · 3.06 KB

File metadata and controls

56 lines (44 loc) · 3.06 KB

Инструкция

Необходима Java версии 11 и выше

  1. Скачать последнюю сборку или собрать её самостоятельно:
    1. Склонить репозиторий и сабмодуль с тестами:
      git clone --recurse-submodules https://github.com/vldF/stella-labs
    2. Собрать проект:
      ./gradlew build
    3. Сгенерируются архивы ./build/distributions/stella-labs.(tar|zip). Выберите любой и распакуйте.
  2. Воспользуйтесь скриптом внутри папки bin для своей ОС
  3. Введите в консоль текст программы, а затем отправьте EOF (ctrl+d, на macos иногда command+z). Не забудьте после ввода последней строчки перед EOF отправить пустую строку!
  4. Выведется или сообщение 'OK' если всё в порядке, или основная ошибка с описанием и кодом возврата 1

Тесты

Для запуска тестов можно воспользоваться пресетами запуска в IntelliJ Idea:

  1. Generate Tests генерирует файл StellaTests.kt, который позволяет запускать наборы тестов (все, для конкретных ошибок или по одному)
  2. Run Supported Tests запускает поддерживаемые тесты. Список поддерживаемых расширений указывается в StellaTestsRunner.kt
  3. Run All Tests запускает все доступные тесты

Тестовые данные находятся в git submodule stella-tests. После добавления новых необходимо запустить Generate Tests для актуализации файла StellaTests.kt.

Также, можно запустить тесты при помощи gradle:

  1. Градл-таска :runAllTests запускает все тесты
  2. Таска :test только поддерживаемые

Поддерживаются

  1. Ядро языка Stella (логические типы, натуральные числа, функции)
  2. let-связывания
  3. приписывание типа (аннотация)
  4. единичный тип
  5. пары
  6. записи
  7. типы-суммы и варианты
  8. рекурсия общего вида и оператор неподвижной точки
  9. встроенные списки

Дополнительно

  1. natural literals
  2. вложенные функции
  3. проверка арности главной функции