@ECHO OFF
SETLOCAL
SET BATDIR=%~dp0

REM LotTblNo.hとLotTblNo.cが既に有れば、確実に削除しておきます。
IF EXIST LotTblNo.h DEL LotTblNo.h
IF EXIST LotTblNo.c DEL LotTblNo.c

REM ■説明
REM 
REM □sort.exe LotTbl.h ^
REM LotTbl.hをソートします。
REM 名前が連続したシンボルに連番を振ると、プログラムで扱い易いからです。
REM 
REM □ | gawk.exe --re-interval -f %BATDIR%MkLotTblNo.awk ^
REM LotTbl.h(抽選表インデクスの定義)を、インデクステーブルに変換するAwkスクリプトです。
REM 詳細は、MkLotTblNo.awkのコメントを参照してください。
REM 
REM □  | onigsed.exe -n -e "/{{HEADER/,/}}HEADER/w LotTbl.h" ^
REM                    -e "/{{SOURCE/,/}}SOURCE/w LotTbl.c"
REM ヘッダ部とソース部に切り分けて保存します。

sort.exe LotTbl.h ^
 | gawk.exe --re-interval -f %BATDIR%MkLotTblNo.awk ^
 | onigsed.exe -n -e "/{{HEADER/,/}}HEADER/w LotTblNo.h" ^
                  -e "/{{SOURCE/,/}}SOURCE/w LotTblNo.c"

REM LotTblNo.hとLotTblNo.cの作成途中でエラー中断した場合は、ファイルを削除して、バッチスクリプトをエラー終了します。
IF EXIST LotTblNo.h ( grep.exe -q "}}HEADER" LotTblNo.h || DEL LotTblNo.h )
IF EXIST LotTblNo.c ( grep.exe -q "}}SOURCE" LotTblNo.c || DEL LotTblNo.c )
IF NOT EXIST LotTblNo.h EXIT /B 1
IF NOT EXIST LotTblNo.c EXIT /B 1
