Йсиш - Википедия - Jsish

JSI
Jsi Logo.png
ПарадигмаМультипарадигма: JavaScript, сценарии (клей язык ), императив (процедурный, на основе прототипа, объектно-ориентированный ), функциональный
РазработчикПитер Макдональд
Впервые появился2015; 5 лет назад (2015)
Стабильный выпуск
2.6[1] / 26 октября 2018 г.; 2 года назад (2018-10-26)[2]
Печатная дисциплинадинамичный, сильный, утка
Язык реализацииC99, или же C ++
Операционные системыКроссплатформенность
ЛицензияЛицензия MIT, библиотеки разные [1]
Интернет сайтjsish.org
Под влиянием
Tcl, SQLite, Ископаемое, WebSocket

Интерпретатор JavaScript SHell (Jsish или же JSI для краткости) - это язык сценариев, предназначенный для использования в встроенные системы.

Это язык, используемый в основном приложениями, написанными на C или же C ++ с помощью GNU инструментальные цепи.MinGW обеспечивает Windows совместимость.

Код Jsi компилируется как C99 или C ++, при этом поддержка C ++ является родной, а не extern C.

История

Jsi был создан как замена встроенного приложения для Tcl и JimTcl.[3]Его основная цель - предоставить встроенные сценарии с использованием в основном стандартного синтаксиса (JavaScript ), в отличие от идиосинкразических, используемых в Tcl, Lua, и Python Вторичная цель - совместимость данных с Веб-браузеры с помощью JSON.Скорость - не главная цель.

Жизнь Jsi началась как ответвление четырехколесного интерпретатора.[4]В конце концов, большинство основных внутренних функций Tcl были добавлены. Текущая реализация почти в 10 раз превышает размер оригинала, и от исходного кода осталось очень мало.

Функции

Jsi имеет встроенную поддержку SQLite, WebSocket,[5] и самостоятельный хостинг ZIP файловые системы. jsish исполняемый файл необычен тем, что он объединяет самонастраиваемую файловую систему, содержащую встроенные утилиты и приложения, в том числе отладчик и веб-сервер; последний используется для предоставления пользовательских веб-интерфейсов для отладчика и SQLite. К каждому из этих приложений можно получить доступ через jsish аргументы командной строки.

Jsi очень независим:

  • Сценарий конфигурации для Jsi сам написан на Jsi. Для этого требуется минимальный автономный jsish сначала создается для начальной загрузки.
  • Объединенный исходный файл предоставляется для поддержки простой интеграции в существующие приложения.
  • В jsish двоичный файл может быть построен и статически связан с мусл для создания автономного приложения без внешних зависимостей.

Скрипты и расширения необычайно надежны благодаря функциям, поддерживающим утка типизированные параметры. Реализация является зрелой и имеет богатую и устойчивую среду разработки, которая включает интегрированное ведение журнала, утверждения и строгий режим.

Начиная с версии 2.4, выпущенной в декабре 2017 года, Jsi считается функционально стабильным.

ECMAScript

Jsi реализует версию 5.1.[6] из ECMAScript стандарт, со следующими отклонениями:

  • Нет автоматическая вставка точки с запятой.
  • Пустые элементы массива / объекта не поддерживаются.
  • Это ошибка использовать возвращаться внутри пытаться/ловить тело.
  • В Ошибка объект не реализован: аргумент для ловить() это просто строка.
  • В Дата объект не реализован: используйте strftime/strptime.
  • Значение тип [] это «массив» вместо «объект».
  • UTF в настоящее время не поддерживается.

Есть одно важное расширение: определения функций могут использовать типы и значения по умолчанию.

Смотрите также

Рекомендации

  1. ^ «Теги». Получено 14 ноября 2018.
  2. ^ «1 отметка с отметкой v2.6». Получено 14 ноября 2018.
  3. ^ "Джим Ткл". Получено 1 декабря 2017.
  4. ^ "Четырехколесный". Получено 1 декабря 2017.
  5. ^ "LibWebsockets". Получено 1 декабря 2017.
  6. ^ «ECMAScript 5.1». Получено 1 декабря 2017.

внешняя ссылка