===============================================================================
                                Lua for Delphi
===============================================================================

□概要
  プログラミング言語 Lua(http://www.lua.org/) を Delphi から使える
  ようにします。

□ファイル
  lua.dll       lua-5.0.2 + SJIS対応パッチ(SowwaRay さん作 2004/06/04)
  lua.pas       lua.h よりコンバート
  lualib.pas    lualib.h よりコンバート
  lauxlib.pas   lauxlib.h よりコンバート
  LuaUtils.pas  サンプル構築用補助ライブラリ
  <src>         sjis.patch 等 lua.dll 構築に使ったファイル
  <sample1>     サンプル1 hello world
  <sample2>     サンプル2 組込み例
  <sample3>     サンプル3 タートルグラフィック
  <debugger>    サンプル4 Lua デバッガ
  <regex>       サンプル5 正規表現
  <appli>       サンプル6 デバッガ組込みサンプル

□動作環境
  ・Borland Delphi 6.0

□使用方法
  アプリケーション exe と同じディレクトリに lua.dll を置いて、
  uses に lua, lualib, lauxlib, 必要があれば LuaUtils を追加して
  lua_open 〜 lua_close の間に必要な処理を記述します。

  [例1]
  function LuaPrint(L: Plua_State): Integer; cdecl;
  begin
    LuaShowStack(L, 'スタック表示');
    Result := 0;
  end;

  procedure TForm1.Button1Click(Sender: TObject);
  var
    L: Plua_State;
  begin
    L := lua_open;
    try
      LuaRegister(L, 'Print', LuaPrint);
      LuaLoadBuffer(L, 'Print("hello world")', 'code');
      LuaPCall(L, 0, 0, 0);
    finally
      lua_close(L);
    end;
  end;

  詳細はサンプルを参照してください。
  試行錯誤で作ったので Lua の定石を外しているものもあると思いますが、
  Programming in Lua (http://www.lua.org/pil/) 見ながらぼちぼち修正しようと
  思っています。

  [注意]
  サンプル4 Lua デバッガのコンパイルには「きりい」さん作の AFEdit が必要です。
  http://member.nifty.ne.jp/kirikiri/
  コンポーネントをインストールしなくても、AFEdit.pas, AFEdit.res をプロジェクト
  の検索パス（例えば debugger と同じディレクトリ）に置けばコンパイル出来ます。

  サンプル5 正規表現のコンパイル、実行には「babaq] さん作の BREGEXP.DLL
  http://www.hi-ho.ne.jp/babaq/index.html
  および「武内修」さん作の BRegExp ユニットが必要です。
  http://www2.big.or.jp/~osamu/
  TextBuffer への代入でエラーが出る場合（Delphi6 以降など）はプロジェクト、
  オプション、型付き定数への代入を有効にして下さい。

□lua.dll 作成方法
  添付の lua.dll は lua-5.0.2 に 「SowwaRay」さん作の SJIS 対応パッチ(2004/6/4)
  http://www.water.sannet.ne.jp/sowwa/
  をあてて Borland C++5.5 によりコンパイルしたものです。

  Borland C++ 5.5 でコンパイルする場合は
  添付の lua.def, bc5.bat を src ディレクトリ中にコピーして bc5.bat 実行

□更新履歴
v0.01	2004/04/20 kuma@webj.net
	公開
v0.02	2004/04/20 kuma@webj.net
	LuaUtils: LuaLocalToStrings lua_getstack チェック追加
v0.03	2004/04/28 kuma@webj.net
	サンプル4<debugger> を Delphi6 Personal でもコンパイル可能に、
	Delphi4 以降ならコンパイルできるかも。
v0.04	2004/09/02 kuma@webj.net
	debugger マルチファイル対応
	regex 追加
	LuaUtils: LuaToBoolean, LuaPushBoolean, LuaToInteger, LuaPushInteger
	LuaSetTableValue, LuaRawSetTableValue, LuaRegisterCustom,
	LuaRegisterMetatable, LuaRegisterProperty 追加
v0.05	2004/09/04 kuma@webj.net
	debugger エラー行が表示できなくなっていたバグを修正
v0.06	2004/09/19 kuma@webj.net
	debugger require 先のパスが深い場合に、エラー行が表示できないバグを修正
	Execute, SaveAll, CloseAll, CanCloseAll 追加
	LuaUtils LuaToString, LuaPushString, LuaError, LuaErrorFmt 追加
v0.07	2004/10/03 kuma@webj.net
	appli 追加
	regex メモリリークバグ修正、デフォルトの関数名を小文字ベースに変更
	debugger appli 対応各種拡張、バグ修正

□ライセンス・配布条件
  Lua-5.0.2 と同一。

  著作権は Tecgraf および PUC-Rio が保有しています。
  詳細については COPYRIGHT そして http://www.lua.org/license.html
  を参照してください。

  2004/09/02 t_kumagai
  http://kuma.webj.net/
  kuma@webj.net
===============================================================================
