.luaのソースや、.luaのモジュールを、C言語ソースへ変換†
LOOP Precompiler and Preloader (Lua5.1用)†
- 常時利用する.luaファイルは、別ファイルとして持っておくのではなく、
C側に取り込んでしまいたいものです。
そのような時、LOOP Precompiler and Preloaderが活躍します。
- Pre-Compilation
luaソースをluaとしてコンパイル(チャンク化)し、そのバイトコードの並びを元にC言語のソースを生成します。
(よって、luaソース内にコメントなどが書かれていても影響しません。
かつて同じような目的で利用されていた、bin2c だと、lua内のコメントもそのまま変換してしまっていました。)
- Pre-Loading
複数の依存した.luaファイルをコンパイルする際には、どのファイルが先に存在しなければならないか、
という問題があります。
.luaでいう
require "hogehoge"
というものを実行するためには、すでにhogehogeに相当するものがLuaステート上に存在する必要があるからです。
このような順番の問題を解決するためのツールがpreloader.luaです。