Песочница

Установка дополнительного движка

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

Начните с обычного выполнения

Лиспекс начинает работу со встроенного эталонного интерпретатора.

SH
lispex rule.lspx

Команда читает исходник и выполняет его во встроенном эталонном интерпретаторе. Это стандартный маршрут и эталон семантики. Установите дополнительный продукт, когда выбираете точную виртуальную машину Топаза или допущенный компилятор Топаза для сборки заранее.

Получение официального дополнительного продукта

Native содержит точный неизменяемый каталог маршрутов. Сейчас в нём две записи для macOS ARM64. Это виртуальная машина Топаза 5.11 и точный компилятор Топаза 5.11, которым Лиспекс собирает заранее. Выберите новый абсолютный путь.

SH
lispex routes fetch \
  --route topaz-vm \
  --target aarch64-apple-darwin \
  --out /absolute/tools/lispex-topaz-vm

Команда использует URL, канал, версию, реестр и каталог, закреплённые в Native-каталоге маршрутов. Она проверяет длину ответа, SHA-256, допустимую форму stored-ZIP, каждый установленный файл и закрытую идентичность продукта Топаза перед публикацией назначения. Допуск целевой платформы определяется до начала загрузки.

Получение публикует установленный продукт. Маршрут выбирается в разделе Используйте продукт явно, где передаётся /absolute/tools/lispex-topaz-vm/product.

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

SH
lispex routes fetch \
  --route aot-compiler \
  --target aarch64-apple-darwin \
  --out /absolute/tools/lispex-aot-compiler

Закрытый продукт содержит точный компилятор и манифест выпуска. aot build объединяет установленный исполняемый файл компилятора с выбранным вызывающей стороной абсолютным каталогом инструментов Rust.

SH
lispex aot build \
  --source rule.lspx \
  --topaz-compiler /absolute/tools/lispex-aot-compiler/product/bin/topaz-bin \
  --rust-tool-bin /absolute/rust/bin \
  --out /absolute/products/rule-aot

Офлайн-установка переданного архива

Получите из одной передачи от поставщика два неизменяемых локальных файла.

  • файл lispex.route-catalog/v1 в единственной допустимой форме и его точный SHA-256
  • stored-ZIP, названный точной записью маршрута и целевой платформы

Каталог представляет собой закрытый список допуска. Он фиксирует продукт поставщика, языковой режим, хэш манифеста, хэш и размер архива, а также каждый устанавливаемый файл. Установщик читает точные пути каталога и архива, переданные вызывающей стороной.

Установите одну точную запись

Выберите новый абсолютный путь, которого ещё не существует.

SH
lispex routes install \
  --route topaz-vm \
  --target aarch64-apple-darwin \
  --catalog /absolute/handoff/routes.json \
  --catalog-sha256 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef \
  --archive /absolute/handoff/topaz-vm-aarch64-apple-darwin.zip \
  --out /absolute/tools/lispex-topaz-vm

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

/absolute/tools/lispex-topaz-vm/
├── installation.json
└── product/

installation.json представляет собой квитанцию lispex.route-installation/v1 в единственной допустимой форме. В ней нет абсолютного пути и времени, поэтому перенос неизменённого каталога сохраняет идентичность. product/ остаётся закрытым корнем для существующего точного валидатора продукта.

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

SH
lispex routes install \
  --route aot-compiler \
  --target aarch64-apple-darwin \
  --catalog /absolute/handoff/routes.json \
  --catalog-sha256 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef \
  --archive /absolute/handoff/lispex-topaz-aot-compiler-aarch64-apple-darwin.zip \
  --out /absolute/tools/lispex-aot-compiler

Допущенный продукт с компилятором для сборки заранее предназначен для macOS ARM64. Вызывающая сторона предоставляет Rust, компоновщик, комплект разработки платформы и системные библиотеки для этой точной целевой платформы.

Используйте продукт явно

Установка публикует продукт, а эталонный интерпретатор остаётся стандартным маршрутом. Выберите дополнительный маршрут, передав закрытый корень продукта.

SH
lispex routes inventory \
  --topaz-vm /absolute/tools/lispex-topaz-vm/product

Затем создайте lock и проверьте его. Lock записывает идентичность выбранного установленного продукта независимо от пути в файловой системе.

SH
lispex routes lock \
  --route topaz-vm \
  --topaz-vm /absolute/tools/lispex-topaz-vm/product \
  --out topaz-route.json

lispex routes doctor \
  --selection topaz-route.json \
  --topaz-vm /absolute/tools/lispex-topaz-vm/product

После переноса укажите новый абсолютный путь product/. Ни lock, ни квитанция установки не запоминают путь файловой системы.

Полный путь от установки до переноса

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

SH
lispex routes inventory \
  --topaz-vm /absolute/tools/lispex-topaz-vm/product \
  --aot-product /absolute/products/rule-aot

lispex routes lock --route aot \
  --aot-product /absolute/products/rule-aot \
  --out aot-route.json

Для одного сравнения четырёх способов выполнения в заданных пределах используйте routes measure --samples 1, затем исполняйте только выбранный lock.

SH
lispex routes run \
  --selection aot-route.json \
  --aot-product /absolute/products/rule-aot \
  --input input.datum \
  rule.lspx

Установку виртуальной машины или готовый скомпилированный продукт можно переместить. Передайте новый абсолютный корень командам routes doctor и routes run, сохранив lock. Doctor заново проверит байты по новому пути, а lock сохранит идентичность выбора после переноса. Поддерживаемый полный пример переносимых маршрутов соединяет получение, сборку, инвентаризацию, lock, doctor, измерение в заданных пределах, закреплённое исполнение и перенос.

Разрешённая форма архива

Лиспекс принимает только одну форму stored-ZIP без сжатия, заданную с точностью до байта. Отклоняются сжатие, Zip64, дескриптор, шифрование, время, дополнительные поля, комментарии, каталоги, дубликаты и несортированные имена, выход из пути, абсолютные пути, обратные косые черты, символические ссылки, специальные файлы, превышение лимитов и любой неверный хэш. Запись идёт в закрытую соседнюю подготовительную область, а публикация происходит лишь тогда, когда назначения всё ещё не существует.

Код 2 означает ошибку использования команды. Код 1 означает отказ по идентичности или по форме байтов. Код 3 означает сбой локального ввода и вывода, достижение значения ресурса или неудачную публикацию без перезаписи. Результат сохраняет выбранную запись, целевую платформу, версию, путь и движок.

Роли артефактов

Корректные каталог и квитанция подтверждают точную целостность установленных байтов. Подписанная политика поставки идентифицирует provider, квитанции сравнения записывают согласие с Rust, а хост-приложение владеет внешними действиями. Ваучер выводит свидетельство из аутентифицированного точного исходника и закреплённого потребителем запроса. Поле automatic_fallback:false сохраняет выбранный движок.

Куда дальше

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

Выбор способа запуска · Native CLI · Сборка заранее скомпилированного продукта

Установка дополнительного движка · Лиспекс