Lewati ke konten

Pustaka YueScript

Akses dengan local yue = require("yue") di Lua.

Deskripsi:

Pustaka bahasa YueScript.

Tipe: Field.

Deskripsi:

Versi YueScript.

Signature:

version: string

Tipe: Field.

Deskripsi:

Pemisah file untuk platform saat ini.

Signature:

dirsep: string

Tipe: Field.

Deskripsi:

Cache kode modul yang telah dikompilasi.

Signature:

yue_compiled: {string: string}

Tipe: Function.

Deskripsi:

Fungsi kompilasi YueScript. Mengompilasi kode YueScript menjadi kode Lua.

Signature:

to_lua: function(code: string, config?: Config):
--[[codes]] string | nil,
--[[error]] string | nil,
--[[globals]] {{string, integer, integer}} | nil

Parameter:

Parameter Tipe Deskripsi
code string Kode YueScript.
config Config [Opsional] Opsi kompiler.

Return:

Tipe Return Deskripsi
string | nil Kode Lua hasil kompilasi, atau nil jika kompilasi gagal.
string | nil Pesan error, atau nil jika kompilasi berhasil.
{{string, integer, integer}} | nil Variabel global yang muncul dalam kode (dengan nama, baris, dan kolom), atau nil jika opsi kompiler lint_global bernilai false.

Tipe: Function.

Deskripsi:

Fungsi untuk memeriksa keberadaan file sumber. Dapat ditimpa untuk menyesuaikan perilaku.

Signature:

file_exist: function(filename: string): boolean

Parameter:

Parameter Tipe Deskripsi
filename string Nama file.

Return:

Tipe Return Deskripsi
boolean Apakah file ada.

Tipe: Function.

Deskripsi:

Fungsi untuk membaca file sumber. Dapat ditimpa untuk menyesuaikan perilaku.

Signature:

read_file: function(filename: string): string

Parameter:

Parameter Tipe Deskripsi
filename string Nama file.

Return:

Tipe Return Deskripsi
string Isi file.

Tipe: Function.

Deskripsi:

Menyisipkan loader YueScript ke package loaders (searchers).

Signature:

insert_loader: function(pos?: integer): boolean

Parameter:

Parameter Tipe Deskripsi
pos integer [Opsional] Posisi untuk menyisipkan loader. Default adalah 3.

Return:

Tipe Return Deskripsi
boolean Apakah loader berhasil disisipkan. Akan gagal jika loader sudah disisipkan.

Tipe: Function.

Deskripsi:

Menghapus loader YueScript dari package loaders (searchers).

Signature:

remove_loader: function(): boolean

Return:

Tipe Return Deskripsi
boolean Apakah loader berhasil dihapus. Akan gagal jika loader belum disisipkan.

Tipe: Function.

Deskripsi:

Memuat kode YueScript dari string menjadi fungsi.

Signature:

loadstring: function(input: string, chunkname: string, env: table, config?: Config):
--[[loaded function]] nil | function(...: any): (any...),
--[[error]] string | nil

Parameter:

Parameter Tipe Deskripsi
input string Kode YueScript.
chunkname string Nama chunk kode.
env table Tabel environment.
config Config [Opsional] Opsi kompiler.

Return:

Tipe Return Deskripsi
function | nil Fungsi yang dimuat, atau nil jika pemuatan gagal.
string | nil Pesan error, atau nil jika pemuatan berhasil.

Tipe: Function.

Deskripsi:

Memuat kode YueScript dari string menjadi fungsi.

Signature:

loadstring: function(input: string, chunkname: string, config?: Config):
--[[loaded function]] nil | function(...: any): (any...),
--[[error]] string | nil

Parameter:

Parameter Tipe Deskripsi
input string Kode YueScript.
chunkname string Nama chunk kode.
config Config [Opsional] Opsi kompiler.

Return:

Tipe Return Deskripsi
function | nil Fungsi yang dimuat, atau nil jika pemuatan gagal.
string | nil Pesan error, atau nil jika pemuatan berhasil.

Tipe: Function.

Deskripsi:

Memuat kode YueScript dari string menjadi fungsi.

Signature:

loadstring: function(input: string, config?: Config):
--[[loaded function]] nil | function(...: any): (any...),
--[[error]] string | nil

Parameter:

Parameter Tipe Deskripsi
input string Kode YueScript.
config Config [Opsional] Opsi kompiler.

Return:

Tipe Return Deskripsi
function | nil Fungsi yang dimuat, atau nil jika pemuatan gagal.
string | nil Pesan error, atau nil jika pemuatan berhasil.

Tipe: Function.

Deskripsi:

Memuat kode YueScript dari file menjadi fungsi.

Signature:

loadfile: function(filename: string, env: table, config?: Config):
nil | function(...: any): (any...),
string | nil

Parameter:

Parameter Tipe Deskripsi
filename string Nama file.
env table Tabel environment.
config Config [Opsional] Opsi kompiler.

Return:

Tipe Return Deskripsi
function | nil Fungsi yang dimuat, atau nil jika pemuatan gagal.
string | nil Pesan error, atau nil jika pemuatan berhasil.

Tipe: Function.

Deskripsi:

Memuat kode YueScript dari file menjadi fungsi.

Signature:

loadfile: function(filename: string, config?: Config):
nil | function(...: any): (any...),
string | nil

Parameter:

Parameter Tipe Deskripsi
filename string Nama file.
config Config [Opsional] Opsi kompiler.

Return:

Tipe Return Deskripsi
function | nil Fungsi yang dimuat, atau nil jika pemuatan gagal.
string | nil Pesan error, atau nil jika pemuatan berhasil.

Tipe: Function.

Deskripsi:

Memuat kode YueScript dari file menjadi fungsi dan mengeksekusinya.

Signature:

dofile: function(filename: string, env: table, config?: Config): any...

Parameter:

Parameter Tipe Deskripsi
filename string Nama file.
env table Tabel environment.
config Config [Opsional] Opsi kompiler.

Return:

Tipe Return Deskripsi
any… Nilai return dari fungsi yang dimuat.

Tipe: Function.

Deskripsi:

Memuat kode YueScript dari file menjadi fungsi dan mengeksekusinya.

Signature:

dofile: function(filename: string, config?: Config): any...

Parameter:

Parameter Tipe Deskripsi
filename string Nama file.
config Config [Opsional] Opsi kompiler.

Return:

Tipe Return Deskripsi
any… Nilai return dari fungsi yang dimuat.

Tipe: Function.

Deskripsi:

Menguraikan nama modul YueScript menjadi path file.

Signature:

find_modulepath: function(name: string): string

Parameter:

Parameter Tipe Deskripsi
name string Nama modul.

Return:

Tipe Return Deskripsi
string Path file.

Tipe: Function.

Deskripsi:

Memanggil fungsi dalam mode terlindungi. Menangkap error apa pun dan mengembalikan kode status beserta hasil atau objek error. Menulis ulang nomor baris error ke nomor baris asli di kode YueScript saat error terjadi.

Signature:

pcall: function(f: function, ...: any): boolean, any...

Parameter:

Parameter Tipe Deskripsi
f function Fungsi yang akan dipanggil.
… any Argumen yang diteruskan ke fungsi.

Return:

Tipe Return Deskripsi
boolean, … Kode status dan hasil fungsi atau objek error.

Tipe: Function.

Deskripsi:

Memuat modul tertentu. Bisa berupa modul Lua atau modul YueScript. Menulis ulang nomor baris error ke nomor baris asli di kode YueScript jika modul adalah modul YueScript dan pemuatan gagal.

Signature:

require: function(name: string): any...

Parameter:

Parameter Tipe Deskripsi
modname string Nama modul yang akan dimuat.

Return:

Tipe Return Deskripsi
any Nilai yang disimpan di package.loaded[modname] jika modul sudah dimuat. Jika belum, mencoba mencari loader dan mengembalikan nilai akhir package.loaded[modname] serta data loader sebagai hasil kedua.

Tipe: Function.

Deskripsi:

Memeriksa struktur nilai yang diteruskan dan mencetak representasi string.

Signature:

p: function(...: any)

Parameter:

Parameter Tipe Deskripsi
… any Nilai yang akan diperiksa.

Tipe: Field.

Deskripsi:

Opsi kompiler saat ini.

Signature:

options: Config.Options

Tipe: Function.

Deskripsi:

Fungsi traceback yang menulis ulang nomor baris stack trace ke nomor baris asli di kode YueScript.

Signature:

traceback: function(message: string): string

Parameter:

Parameter Tipe Deskripsi
message string Pesan traceback.

Return:

Tipe Return Deskripsi
string Pesan traceback yang telah ditulis ulang.

Tipe: Function.

Deskripsi:

Memeriksa apakah kode cocok dengan AST yang ditentukan.

Signature:

is_ast: function(astName: string, code: string): boolean

Parameter:

Parameter Tipe Deskripsi
astName string Nama AST.
code string Kode.

Return:

Tipe Return Deskripsi
boolean Apakah kode cocok dengan AST.

Tipe: Field.

Deskripsi:

Definisi tipe AST dengan nama, baris, kolom, dan sub-node.

Signature:

type AST = {string, integer, integer, any}

Tipe: Function.

Deskripsi:

Mengonversi kode menjadi AST.

Signature:

to_ast: function(code: string, flattenLevel?: number, astName?: string, reserveComment?: boolean):
--[[AST]] AST | nil,
--[[error]] nil | string

Parameter:

Parameter Tipe Deskripsi
code string Kode.
flattenLevel integer [Opsional] Tingkat perataan. Semakin tinggi berarti semakin rata. Default 0. Maksimum 2.
astName string [Opsional] Nama AST. Default “File”.
reserveComment boolean [Opsional] Apakah akan mempertahankan komentar asli. Default false.

Return:

Tipe Return Deskripsi
AST | nil AST, atau nil jika konversi gagal.
string | nil Pesan error, atau nil jika konversi berhasil.

Tipe: Function.

Deskripsi:

Memformat kode YueScript.

Signature:

format: function(code: string, tabSize?: number, reserveComment?: boolean): string

Parameter:

Parameter Tipe Deskripsi
code string Kode.
tabSize integer [Opsional] Ukuran tab. Default 4.
reserveComment boolean [Opsional] Apakah mempertahankan komentar asli. Default true.

Return:

Tipe Return Deskripsi
string Kode yang telah diformat.

Tipe: Metamethod.

Deskripsi:

Me-require modul YueScript. Menulis ulang nomor baris error ke nomor baris asli di kode YueScript saat pemuatan gagal.

Signature:

metamethod __call: function(self: yue, module: string): any...

Parameter:

Parameter Tipe Deskripsi
module string Nama modul.

Return:

Tipe Return Deskripsi
any Nilai modul.

Deskripsi:

Opsi kompilasi kompiler.

Tipe: Field.

Deskripsi:

Apakah kompiler harus mengumpulkan variabel global yang muncul dalam kode.

Signature:

lint_global: boolean

Tipe: Field.

Deskripsi:

Apakah kompiler harus melakukan return implisit untuk blok kode root.

Signature:

implicit_return_root: boolean

Tipe: Field.

Deskripsi:

Apakah kompiler harus mempertahankan nomor baris asli di kode hasil kompilasi.

Signature:

reserve_line_number: boolean

Tipe: Field.

Deskripsi:

Apakah kompiler harus mempertahankan komentar asli di kode hasil kompilasi.

Signature:

reserve_comment: boolean

Tipe: Field.

Deskripsi:

Apakah kompiler harus menggunakan karakter spasi alih-alih tab di kode hasil kompilasi.

Signature:

space_over_tab: boolean

Tipe: Field.

Deskripsi:

Apakah kompiler harus memperlakukan kode yang akan dikompilasi sebagai modul yang sama dengan modul yang sedang dikompilasi. Untuk penggunaan internal saja.

Signature:

same_module: boolean

Tipe: Field.

Deskripsi:

Apakah pesan error kompiler harus menyertakan offset nomor baris. Untuk penggunaan internal saja.

Signature:

line_offset: integer

Tipe: Enumeration.

Deskripsi:

Enumerasi versi Lua target.

Signature:

enum LuaTarget
"5.1"
"5.2"
"5.3"
"5.4"
"5.5"
end

Tipe: Field.

Deskripsi:

Opsi tambahan untuk diteruskan ke fungsi kompilasi.

Signature:

options: Options

Deskripsi:

Definisi opsi kompiler tambahan.

Tipe: Field.

Deskripsi:

Versi Lua target untuk kompilasi.

Signature:

target: LuaTarget

Tipe: Field.

Deskripsi:

Path pencarian modul tambahan.

Signature:

path: string

Tipe: Field.

Deskripsi:

Apakah akan menampilkan variabel local dalam pesan error traceback. Default false.

Signature:

dump_locals: boolean

Tipe: Field.

Deskripsi:

Apakah akan menyederhanakan pesan error. Default true.

Signature:

simplified: boolean

YueScriptKompiler

Memuat kompiler…