Lua の導入
目次
- はじめに
- ソースファイル等
- ビルドのしかた
- print 関数のハック
はじめに
本家: The Programming Language Lua
今回は、lua-5.1.4 を使用しました。
以下、lua-5.1.4.tar.gz をディレクトリ lua-5.1.4/ に展開したものとして話を進めます。
ソースファイル等
カテゴリ | 場所 | ソースファイル | 説明 |
---|---|---|---|
本体 | lua-5.1.4/src | lapi.c lcode.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c lmem.c lobject.c lopcodes.c lparser.c lstate.c lstring.c ltable.c ltm.c lundump.c lvm.c lzio.c | Lua スクリプトエンジンの本体。 |
ライブラリ | lua-5.1.4/src | lauxlib.c lbaselib.c ldblib.c liolib.c lmathlib.c loslib.c ltablib.c lstrlib.c loadlib.c linit.c | print() 関数や os モジュールなど、Lua スクリプト用の標準ライブラリ。標準ライブラリが不要な場合は、これらのファイルをリンクしなくて大丈夫です。 |
インタプリタ | lua-5.1.4/src | lua.c | Lua のインタプリタプログラム。 |
コンパイラ | lua-5.1.4/src | luac.c print.c | Lua のスクリプトソースをコンパイルしてバイナリ形式で吐き出すコンパイラプログラム。 |
C++ 用インクルードファイル | lua-5.1.4/etc | lua.hpp | extern "C" つきで lua.h 等のヘッダをインクルードします。 |
パーサなしのルーチン群 | lua-5.1.4/etc | noparser.c | スクリプトエンジン中の一部のルーチンを、パーサを使わないように書き換えたルーチンが収められたソースです。このソース中にあるルーチンでスクリプトエンジン中のルーチンを置き換えると、バイナリ形式のスクリプトファイルしか読み込めなくなる代わりに、エンジンが軽くなります。 |
ビルドのしかた
print 関数のハック
print 関数は元のままだと、標準出力に文字列を書き出します。
この挙動を変更するには、lbaselib.c 内の luaB_print 関数からの fputs 関数の呼び出しを、他の関数に置き換えます。