uLua (REPL/インタプリタ/コンパイラ/リンカ 兼用) (utf8用)

  • 概要

    uLuaは当サイトの管理人「VSCode.life」がLua v5.3.4をカスタムしたものです。

    特徴としては、

    • たった1つの実行ファイルで、

      1. 対話型コンソール (REPL)
      2. インタプリタ (スクリプトや中間バイトコードを実行する)
      3. コンパイラー (1つ、あるいは、複数のスクリプトを、1つの中間バイトコードに変換する)
      4. リンカ (スクリプトもしくは中間バイトコードをexeにする)
      を兼ね備えること。

    • 同様の用途で、文字列やファイルIO等の扱いをcp932(sjis)用に配慮したものは、hmLJとなります。
  • ダウンロード

    DOWNLOAD ⇒ uLua v5.340ファイル。
    └更新日 2017/04/06
  • コマンドライン系のカスタム項目

    • 対話型コンソールとしての実行

      (但し、このツールはcp932(sjis)用に特化されておらず、あくまでの本来のLuaそのままですので、
      コンソールへの日本語の表示には難があります。そういった用途には、hmLJ利用してください。)
          uLua.exe
          
    • スクリプトとしての実行

      (lua同じ引数が使えます)
          uLua.exe ****.lua (他の引数)
          
    • コンパイラとしての実行

      全ての引数の一番後ろに「-compile」と付けてください。
      (luacと同じ引数が使えます)
          uLua.exe -o ****.out *****.lua -compile
          
      出力ファイル名を指定しない場合、luac.out という名前でファイルが出力されます。
          uLua.exe *****.lua -compile
          
      コメント等を除去した状態で中間コードを生成する場合は、-sを付けます。
          uLua.exe -s -o ****.out *****.lua -compile
          
    • bin2cとしての実行

      中間コードを、C言語ソースへと貼り付け可能なソースコードとして出力します。
          uLua.exe *****.out -bin2c
          
    • リンカとしての実行

      全ての引数の一番後ろに「-link」と付けてください。
          uLua.exe ****.lua ****.exe -link
          
      もしくは、中間バイトコードをリンク
          uLua.exe ****.out ****.exe -link
          
    • 文字エンコード「utf8」のファイルで、
          for i, v in pairs({"表示", "ソート"}) do
              print(i, v)
          end
          
      というファイルをtest.luaというファイル名で用意。uLuaと同じディレクトリに保存します。

      コマンドプロンプトでuLuaのディレクトリまで移動した後、
          uLua.exe test.lua test.exe -link
          
      とすると、test.exeが出来上がります。

      このファイルは単体で実行可能であり、
      他のファイル等への依存はありません。

  • ライセンス

  • ソース

    Githubにあがっています。

  • 補足

    「LUA_COMPAT_5_2」のプリプロセッサマクロを有効にしてコンパイルされています。
    又、Luaにとって準標準とも言えるlfsライブラリも追加されています。