1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/pig-Yuescript

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

YueScript

logo

Ubuntu Windows macOS Discord Badge

Yuescript — это диалект языка Moonscript. Он основан на версии 0.5.0 языка Moonscript и постоянно принимает новые функции, чтобы быть более актуальным.

Moonscript — это язык, который компилируется в Lua. Исходный Moonscript использовался для написания веб-фреймворка Lapis и запуска нескольких бизнес-сайтов, таких как itch.io и streak.club, с большими кодовыми базами. Исходный язык становится слишком сложным для внедрения новых функций, которые могут нарушить стабильность существующих приложений.

Таким образом, Yuescript является новой кодовой базой для продвижения языка вперёд и площадкой для экспериментов с новым синтаксисом или парадигмами программирования, чтобы сделать язык Moonscript более выразительным и продуктивным.

Юэ (月) — это название луны на китайском языке, произносится как [jyɛ].

Особенности

  • Не требуются другие зависимости, кроме модифицированной библиотеки parserlib от Achilleas Margaritis с некоторым улучшением производительности. Библиотека lpeg больше не нужна.
  • Написано на C++17.
  • Поддерживает большинство функций языка Moonscript. Генерирует коды Lua так же, как и исходный компилятор.
  • Сохраняет номера строк из исходного файла в скомпилированных кодах Lua для облегчения отладки.
  • Другие функции, такие как макросы, экзистенциальный оператор, оператор конвейера, синтаксис экспорта в стиле JavaScript и т. д.
  • Подробнее см. в CHANGELOG.md. Документацию можно найти здесь: http://yuescript.org.

Установка и использование

  • Lua-модуль

  Создайте файл yue.so с помощью команды:

> make shared LUAI=/usr/local/include/lua LUAL=/usr/local/lib/lua

  Затем получите двоичный файл из пути bin/shared/yue.so.

  Или вы можете установить luarocks, менеджер пакетов для модулей Lua. Затем установите его как модуль Lua с помощью команды:

> luarocks install yuescript

  После этого загрузите модуль Yuescript в Lua:

require("yue")("main") -- require `main.yue`

local yue = require("yue")
local codes, err, globals = yue.to_lua([[
f = ->
  print "hello world"
f!
]],{
  implicit_return_root = true,
  reserve_line_number = true,
  lint_global = true
})
  • Инструмент для работы с двоичными файлами

  Клонируйте этот репозиторий, затем создайте и установите исполняемый файл с помощью команды:

> make install

  Соберите инструмент Yuescript без функции макросов:

> make install NO_MACRO=true

  Соберите инструмент Yuescript без встроенного двоичного файла Lua:

> make install NO_LUA=true

  Используйте инструмент Yuescript с помощью команды:

> yue -h
Usage: yue [options|files|directories] ...

   -h       Print this message
   -e str   Execute a file or raw codes
   -m       Generate minified codes
   -r       Rewrite output to match original line numbers
   -t path  Specify where to place compiled files
   -o file  Write output to file
   -s       Use spaces in generated codes instead of tabs
   -p       Write output to standard out
   -b       Dump compile time (doesn't write output)
   -g       Dump global variables used in NAME LINE COLUMN
   -l       Write line numbers from source codes
   -c       Reserve comments before statement from source codes
   -w path  Watch changes and compile every file under directory
   -v       Print version
   --       Read

* * *

В тексте запроса присутствуют фрагменты кода на языке Lua, а также ссылки на различные инструменты и ресурсы. В результате перевода эти фрагменты сохранены без изменений.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Мунскрипт — диалект, переписанный на C++. Развернуть Свернуть
C++ и 6 других языков
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/pig-Yuescript.git
git@api.gitlife.ru:oschina-mirror/pig-Yuescript.git
oschina-mirror
pig-Yuescript
pig-Yuescript
main