Yuescript é um dialeto Moonscript. É derivado da linguagem Moonscript 0.5.0 e adotando continuamente novos recursos para estar mais atualizado.
Moonscript é uma linguagem que compila com Lua. Como o Original Moonscript foi usado para escrever lapis da estrutura da web e executar alguns sites de negócios, como Itch.io e Streak.club com algumas grandes bases de código. O idioma original está ficando muito difícil para adotar novos recursos para aqueles que podem quebrar a estabilização para os aplicativos existentes.
Portanto, o Yuescript é uma nova base de código para levar o idioma a avançar e ser um playground para tentar introduzir uma nova sintaxe de idiomas ou programar paradigmas para tornar a linguagem Moonscript mais expressiva e produtiva.
Yue (月) é o nome da lua em chinês e é pronunciado como [jyɛ].
Construir yue.so arquivo com
> make shared LUAI=/usr/local/include/lua LUAL=/usr/local/lib/lua Em seguida, obtenha o arquivo binário da Bin bin/shared/yue.so .
Ou você pode instalar o Luarocks, um gerenciador de pacotes para os módulos Lua. Em seguida, instale -o como um módulo Lua com
> luarocks install yuescriptEm seguida, requer o módulo Yuescript em 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
})Clone este repositório, depois construa e instale executável com:
> make installCrie a ferramenta Yuescript sem recurso macro:
> make install NO_MACRO=trueConstrua a ferramenta Yuescript sem binário interno Lua:
> make install NO_LUA=trueUse a ferramenta Yuescript com:
> 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 from standard in, print to standard out
(Must be first and only argument)
--target=version Specify the Lua version that codes will be generated to
(version can only be 5.1, 5.2, 5.3 or 5.4)
--path=path_str Append an extra Lua search path string to package.path
Execute without options to enter REPL, type symbol ' $'
in a single line to start/stop multi-line mode Casos de uso:
Compilar recursivamente todos os arquivos Yuescript com extensão .yue no caminho atual: yue .
Compilar e salvar resultados em um caminho de destino: yue -t /target/path/ .
Compilar e reservar informações de depuração: yue -l .
Compilar e gerar códigos minificados: yue -m .
Execute códigos brutos: yue -e 'print 123'
Execute um arquivo yuescript: yue -e main.yue
Mit