REM #// * Thu Dec 04 21:26:42 JST 2014 Naoyuki Sawa
REM #// - 1st リリース。
REM #//   MkLotSym.batとMkLotSym.awkはまだ、有効に使えるかの検証中である。
REM #//   本日の時点では、まだMakefileのテンプレートには組み入れていない。

@ECHO OFF
SETLOCAL
SET BATDIR=%~dp0

REM #USAGE:
REM #	MkLotSym.bat 抽選表ファイル名1 [抽選表ファイル名2 [抽選表ファイル名3 ...]]
REM #暗黙の入力ファイル:
REM #	LotSym.xls
REM #暗黙の出力ファイル:
REM #	LotSym.h
REM #EXAMPLE:
REM #	MkLotSym.bat lot/LotTbl*.xls > __tmp__.txt

REM #---------------------------------------------------------------------------
REM #LotSym.txt,LotSym.hが既に有れば、確実に削除しておきます。
IF EXIST LotSym.txt DEL LotSym.txt
IF EXIST LotSym.h   DEL LotSym.h

REM #---------------------------------------------------------------------------
REM #LotSym.xlsを変換して、LotSym.txtを生成します。
REM #[note]
REM # - xdoc2txt.exeの出力をリダイレクトしてはいけない。('xdoc2txt.exe LotSym.xls > LotSym.txt'は不可ということ)
REM #   'EXAMPLE:'のように、当バッチファイルを呼び出す側がリダイレクトを使用している可能性が高いからである。
REM #   ここでリダイレクトを行うと、呼び出す側が行っているリダイレクトに復帰できなくなってしまうようだ。(検証中)
REM #   その問題を回避するために、xdoc2txt.exeの出力をリダイレクトせず、'-f'オプションを使用することにした。
xdoc2txt.exe -f LotSym.xls
IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%

REM #---------------------------------------------------------------------------
REM #「セル文字列⇒シンボル」変換表以降に指定されたファイルに対して、
REM #「セル文字列⇒シンボル」変換処理を行います。
xdoc2txt.exe %* ^
 | onigsed.exe -e ":top;$!N;s/\n\t/\t/;t top;P;D" ^
 | onigsed.exe -e "/^\[/d" ^
 | onigsed.exe -e "s/\t*\/\/.*//" ^
 | gawk.exe --re-interval -f %BATDIR%MkLotSym.awk
IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%

REM #---------------------------------------------------------------------------
REM #LotSym.txtは不要なので、削除します。
IF EXIST LotSym.txt DEL LotSym.txt
