aboutsummaryrefslogtreecommitdiffstats
path: root/win32/dobison.cmd
diff options
context:
space:
mode:
Diffstat (limited to 'win32/dobison.cmd')
-rwxr-xr-xwin32/dobison.cmd22
1 files changed, 22 insertions, 0 deletions
diff --git a/win32/dobison.cmd b/win32/dobison.cmd
new file mode 100755
index 0000000..0338e5e
--- /dev/null
+++ b/win32/dobison.cmd
@@ -0,0 +1,22 @@
+@echo off
+rem dobison.cmd prefix mode target source
+rem prefix - passed to bison as -p<prefix>
+rem mode - either debug or release
+rem target - generated parser file name without extension
+rem source - input to bison
+
+if "%2"=="debug" (set flags=-tvdo) else (set flags=-vdo)
+
+rem Test for presence of bison.
+bison --help >NUL
+if errorlevel 1 goto nobison
+
+rem Run bison.
+bison -p%1 %flags%%3.cpp %4 && move %3.hpp %3.h
+exit
+
+:nobison
+echo Bison not found. Using pre-generated files.
+copy %~pn4.cpp.cvs %3.cpp
+copy %~pn4.h.cvs %3.h
+exit