lua のファイル

さて、言語の詳細をあんまり詳しく解説することは目的ではないので次に進む。lua の実装にはどれくらいのプログラムが関わっているかというと次のようになっている(このほかに lua コマンド実装の lua/* と luac コマンド実装の luac/*、各種ライブラリの lib/* がある)。

lapi, lcode, ldebug, ldo.c, ldump, lfunc, lgc, llex, llimits, lmem, lobject, lopcodes, lparser, lstate, lstring, ltable, ltests, ltm, lundump, lvm, lzio

分類すると次のようになるか。

各種データ構造とその管理

lobject
基本的なデータオブジェクト(?)
lstring
文字列
ltable
テーブル
lfunc
クロージャ
ltm
タグつきメソッドの解釈(?)
lmem
メモリ管理
lgc
ガベコレ

VM実装とプログラムの実行

lvm
VM
lstate
VMの状態(?)
ldo
バイトコード実行

プログラムとバイトコード

lopcodes
バイトコードの詳細
lcode
バイトコードジェネレータ
ldump
バイトコードの保存
lundump
バイトコードの復元
llex
レキサ
lparser
パーサ

lapi
lua API の記述
ldebug
デバッガ?
ltests
デバッガ用の各種のlua内部のイベントの処理
llimits
lua専用の値の制限記述
lzio
入出力ライブラリ

上から順番に見るべきだろう。クロージャは後回しかも。