parse.bat 834 B

1234567891011121314151617181920212223242526272829303132
  1. @echo off
  2. @echo.
  3. @call setenvvar.bat
  4. @if errorlevel 1 (goto :END)
  5. @call set_build_target.bat %*
  6. @echo Generating parse.cpp and dsql.tab.h
  7. @sed -n "/%%type .*/p" < %FB_ROOT_PATH%\src\dsql\parse.y > types.y
  8. @sed "s/%%type .*//" < %FB_ROOT_PATH%\src\dsql\parse.y > y.y
  9. %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\btyacc\btyacc -l -d -S %FB_ROOT_PATH%\src\dsql\btyacc_fb.ske y.y 2>y.txt
  10. @if errorlevel 1 (type y.txt && exit /B 1)
  11. @type y.txt
  12. @sed -i "s/#define \([A-Z].*\)/#define TOK_\1/" y_tab.h
  13. @sed -i "s/#define TOK_YY\(.*\)/#define YY\1/" y_tab.h
  14. @sed -n -e "s/.*btyacc: \(.*conflicts.*\)/\1/p" y.txt > %FB_ROOT_PATH%\src\dsql\parse-conflicts.txt
  15. @copy y_tab.h %FB_ROOT_PATH%\src\include\gen\parse.h > nul
  16. @copy y_tab.c %FB_ROOT_PATH%\src\dsql\parse.cpp > nul
  17. @del y.y
  18. @del y.txt
  19. @del types.y
  20. @del y_tab.h
  21. @del y_tab.c
  22. @del sed*
  23. :END