@ECHO OFF REM * REM * Batch-file to initialize and run CLASSIC'CL on Microsoft Windows 2000/XP. REM * It was tested on Windows XP Pro SP 2 with SICStus Prolog 3.12.7. REM * REM * REM * Author: Joris Maervoet REM * REM * Please make sure that following environment variables are set: REM * REM * - CLASSIC should contain the path to the CLASSIC'CL main directory REM * (e.g. C:\classic_cl-1.1) REM * REM * - PATH should be extended with the CLASSIC'CL main directory path and REM * the path to the executable of your Prolog system (e.g. REM * C:\classic_cl-1.1\;C:\Program Files\SICStus Prolog 3.12.7\bin\;) REM * REM * REM * REM * Global constants set SYSTEMDIR=%CLASSIC% set OUTPUTDIR=./outputs set LEVEL=5 set PROLOG="" set MODE="" IF "%1"=="" GOTO PRINTUSAGE IF NOT "%3"=="" GOTO PRINTUSAGE GOTO CHECKCOMMANDLINE :PRINTUSAGE echo. echo usage: %0 ^ [max level] echo. echo process file - name of the file to be processed echo max level - search up to this level (cfarmr,claudien) echo. GOTO END :CHECKCOMMANDLINE IF NOT "%2"=="" set LEVEL=%2 set FILE=%1 :GETPROLOGSTRING IF NOT EXIST %FILE%.s GOTO :NOS echo Examining %FILE%.s ... findstr /R "^[^%%(),.]*option([^%%(),.]*prolog[^%%(),.]*,[^%%(),.]*sicstus[^%%(),.]*)[^%%(),.]*[.].*$" %FILE%.s IF %ERRORLEVEL%==0 set PROLOG=sicstus findstr /R "^[^%%(),.]*option([^%%(),.]*prolog[^%%(),.]*,[^%%(),.]*yap[^%%(),.]*)[^%%(),.]*[.].*$" %FILE%.s IF %ERRORLEVEL%==0 set PROLOG=yap IF NOT %PROLOG%=="" GOTO GETMODESTRING :NOS echo Examining %CLASSIC%\default-settings.s ... findstr /R "^[^%%(),.]*option([^%%(),.]*prolog[^%%(),.]*,[^%%(),.]*sicstus[^%%(),.]*)[^%%(),.]*[.].*$" %CLASSIC%\default-settings.s IF %ERRORLEVEL%==0 set PROLOG=sicstus findstr /R "^[^%%(),.]*option([^%%(),.]*prolog[^%%(),.]*,[^%%(),.]*yap[^%%(),.]*)[^%%(),.]*[.].*$" %CLASSIC%\default-settings.s IF %ERRORLEVEL%==0 set PROLOG=yap :GETMODESTRING IF NOT EXIST %FILE%.s GOTO :NOS2 echo Examining %FILE%.s ... findstr /R "^[^%%(),.]*option([^%%(),.]*mode[^%%(),.]*,[^%%(),.]*interactive[^%%(),.]*)[^%%(),.]*[.].*$" %FILE%.s IF %ERRORLEVEL%==0 set MODE=interactive findstr /R "^[^%%(),.]*option([^%%(),.]*mode[^%%(),.]*,[^%%(),.]*batch[^%%(),.]*)[^%%(),.]*[.].*$" %FILE%.s IF %ERRORLEVEL%==0 set MODE=batch findstr /R "^[^%%(),.]*option([^%%(),.]*mode[^%%(),.]*,[^%%(),.]*debug[^%%(),.]*)[^%%(),.]*[.].*$" %FILE%.s IF %ERRORLEVEL%==0 set MODE=debug findstr /R "^[^%%(),.]*option([^%%(),.]*mode[^%%(),.]*,[^%%(),.]*langcheck[^%%(),.]*)[^%%(),.]*[.].*$" %FILE%.s IF %ERRORLEVEL%==0 set MODE=langcheck findstr /R "^[^%%(),.]*option([^%%(),.]*mode[^%%(),.]*,[^%%(),.]*postprocess[^%%(),.]*)[^%%(),.]*[.].*$" %FILE%.s IF %ERRORLEVEL%==0 set MODE=postprocess IF NOT %MODE%=="" GOTO CLEANUP :NOS2 echo Examining %CLASSIC%\default-settings.s ... findstr /R "^[^%%(),.]*option([^%%(),.]*mode[^%%(),.]*,[^%%(),.]*interactive[^%%(),.]*)[^%%(),.]*[.].*$" %CLASSIC%\default-settings.s IF %ERRORLEVEL%==0 set MODE=interactive findstr /R "^[^%%(),.]*option([^%%(),.]*mode[^%%(),.]*,[^%%(),.]*batch[^%%(),.]*)[^%%(),.]*[.].*$" %CLASSIC%\default-settings.s IF %ERRORLEVEL%==0 set MODE=batch findstr /R "^[^%%(),.]*option([^%%(),.]*mode[^%%(),.]*,[^%%(),.]*debug[^%%(),.]*)[^%%(),.]*[.].*$" %CLASSIC%\default-settings.s IF %ERRORLEVEL%==0 set MODE=debug findstr /R "^[^%%(),.]*option([^%%(),.]*mode[^%%(),.]*,[^%%(),.]*langcheck[^%%(),.]*)[^%%(),.]*[.].*$" %CLASSIC%\default-settings.s IF %ERRORLEVEL%==0 set MODE=langcheck findstr /R "^[^%%(),.]*option([^%%(),.]*mode[^%%(),.]*,[^%%(),.]*postprocess[^%%(),.]*)[^%%(),.]*[.].*$" %CLASSIC%\default-settings.s IF %ERRORLEVEL%==0 set MODE=postprocess :CLEANUP IF %MODE%==interactive GOTO COND1 IF %MODE%==batch GOTO COND1 GOTO RUNSYSTEM :COND1 IF NOT EXIST %OUTPUTDIR% GOTO RUNSYSTEM cd %OUTPUTDIR% IF EXIST rules del rules IF EXIST TrainingResults.txt del TrainingResults.txt IF EXIST stream.pl del stream.pl IF EXIST f*. del f*. IF EXIST settings del settings IF EXIST timing-stats del timing-stats IF EXIST close0 del close0 IF EXIST close1 del close1 IF EXIST f*.closed del f*.closed IF EXIST lpads del lpads IF EXIST theory del theory IF EXIST solution_patterns del solution_patterns IF EXIST *.warmode del *.warmode cd .. :RUNSYSTEM IF %PROLOG%==yap GOTO RUNY IF NOT %PROLOG%==sicstus GOTO END sicstus -l %SYSTEMDIR%\init_system.pl --goal "init(%FILE%,%LEVEL%)." REM echo init(%FILE%,%LEVEL%). | sicstus -l %SYSTEMDIR%\init_system.pl GOTO END :RUNY START yap -l %SYSTEMDIR%\includes\yap_start.pl -- %FILE% %LEVEL% :END