@echo off @rem If you would like to compile DLP programs without using CygWin, @rem Linux or Solaris, you may use this Win-2000 script ... set DLPROOT=H:\dlp\dlptest set SWICOMP="D:\prolog\bin\plcon.exe" set CLASSPATH=%DLPROOT%\classes\dlpsys.jar set CLASSPATH=%CLASSPATH%;%DLPROOT%\examples\classes set CLASSPATH=%CLASSPATH%;H:\dlp\dlptest\classes @rem set CLASSPATH=%CLASSPATH%;"OtherEntries" set PATH=%DLPROOT%\bin;C:\WINNT\system32;C:\WINNT set EXECOMP=%DLPROOT%\lib\execomp.qlf set JDKCOMP="D:\jdk1.2.2\bin\javac.exe" if "%1" == "" goto input_error if NOT EXIST %EXECOMP% goto execomp_error if NOT EXIST %JDKCOMP% goto jdkcomp_error if NOT EXIST %SWICOMP% goto swicomp_error if EXIST classes goto classes_dir_ok echo creating directory classes mkdir classes :classes_dir_ok @rem Win2000, WinNT: get basename and extension: for %%I IN (%1) DO set SRCBASE=%%~nI for %%I IN (%1) DO set SRCTYPE=%%~xI @rem Win98: remove the above-mentioned 2 "for" lines and @rem use the next two "set" lines instead. In this case, @rem a "dlpc filename" invocation compiles filename.pl @rem set SRCBASE=%1 @rem set SRCTYPE=.pl if "%SRCTYPE%" == "" set SRCTYPE=.pl if NOT "%SRCTYPE%" == ".pl" goto extension_error if NOT EXIST %SRCBASE%.pl goto file_error %SWICOMP% -f %EXECOMP% -g "(comp('%SRCBASE%.pl','classes/%SRCBASE%.java'),halt)" if ERRORLEVEL 1 goto syntax_error rem echo CLASSPATH %CLASSPATH% %JDKCOMP% -d classes classes/%SRCBASE%.java if ERRORLEVEL 1 goto syntax_error echo %0: compilation done exit /b 0 @rem Error summary : :input_error echo %0: DLP input file argument missing exit /b 1 :execomp_error echo %0: no execomp.qlf found: %EXECOMP% exit /b 1 :jdkcomp_error echo %0: no javac found: %JDKCOMP% exit /b 1 :swicomp_error echo %0: no prolog found: %SWICOMP% exit /b 1 :extension_error echo %0: unknown file extension %SRCTYPE% exit /b 1 :file_error echo %0: file %SRCBASE%.pl doesnt exist exit /b 1 :syntax_error echo %0: compilation errors exit /b 1