最終更新日 2025-07-22
uLua (REPL/インタプリタ/コンパイラ/リンカ 兼用) (utf8用)
概要
uLuaは当サイトの管理人がLua v5.3.4をカスタムしたものです。
特徴としては、
-
たった1つの実行ファイルで、
- 対話型コンソール (REPL)
- インタプリタ (スクリプトや中間バイトコードを実行する)
- コンパイラー (1つ、あるいは、複数のスクリプトを、1つの中間バイトコードに変換する)
- リンカ (スクリプトもしくは中間バイトコードをexeにする)
ダウンロード
更新日 2017/12/13
コマンドライン系のカスタム項目
-
対話型コンソールとしての実行
(但し、このツールはcp932(sjis)用に特化されておらず、あくまでの本来のLuaそのままですので、
コンソールへの日本語の表示には難があります。
uLua.exe -
スクリプトとしての実行
(luaと同じ引数が使えます)
uLua.exe ****.lua (他の引数) -
コンパイラとしての実行
全ての引数の一番後ろに「-compile」と付けてください。
(luacと同じ引数が使えます)
出力ファイル名を指定しない場合、luac.out という名前でファイルが出力されます。uLua.exe -o ****.out *****.lua -compile
コメント等を除去した状態で中間コードを生成する場合は、-sを付けます。uLua.exe *****.lua -compile
uLua.exe -s -o ****.out *****.lua -compile -
bin2cとしての実行
中間コードを、C言語ソースへと貼り付け可能なソースコードとして出力します。
uLua.exe *****.out -bin2c -
リンカとしての実行
全ての引数の一番後ろに「-link」と付けてください。
もしくは、中間バイトコードをリンクuLua.exe ****.lua ****.exe -linkuLua.exe ****.out ****.exe -link -
例
文字エンコード「utf8」のファイルで、というファイルをtest.luaというファイル名で用意。uLuaと同じディレクトリに保存します。for i, v in pairs({"表示", "ソート"}) do print(i, v) end
コマンドプロンプトでuLuaのディレクトリまで移動した後、
とすると、test.exeが出来上がります。uLua.exe test.lua test.exe -link
このファイルは単体で実行可能であり、
他のファイル等への依存はありません。
ライセンス
- Lua 本体の MITライセンスです。
ソース
Githubにあがっています。
補足
「LUA_COMPAT_5_2」のプリプロセッサマクロを有効にしてコンパイルされています。
又、Luaにとって準標準とも言えるlfsライブラリも追加されています。