From a175314c3e5827eb193872241446f2f8f5c9d33c Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 20:07:14 +0200 Subject: Adding upstream version 1:10.5.12. Signed-off-by: Daniel Baumann --- sql/gen_yy_files.cmake | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 sql/gen_yy_files.cmake (limited to 'sql/gen_yy_files.cmake') diff --git a/sql/gen_yy_files.cmake b/sql/gen_yy_files.cmake new file mode 100644 index 00000000..da63c72c --- /dev/null +++ b/sql/gen_yy_files.cmake @@ -0,0 +1,39 @@ +if(POLICY CMP0054) + cmake_policy(SET CMP0054 NEW) +endif() +file(READ "${IN}" data) +file(WRITE "${OUT1}" "") +file(WRITE "${OUT2}" "") +set(where 0) +string(REGEX REPLACE "/\\* sql_yacc\\.yy \\*/" "/* DON'T EDIT THIS FILE. IT'S GENERATED. EDIT sql_yacc.yy INSTEAD */" data "${data}") +while(NOT data STREQUAL "") + string(REGEX MATCH "^(%[ie][^\n]*\n)|((%[^ie\n]|[^%\n])[^\n]*\n)+|\n+" line "${data}") + string(LENGTH "${line}" ll) + string(SUBSTRING "${data}" ${ll} -1 data) + + if (line MATCHES "^%ifdef +${VAL1} *\n") + set(where 1) + set(line "\n") + elseif(line MATCHES "^%ifdef +${VAL2} *\n") + set(where 2) + set(line "\n") + elseif(line MATCHES "^%else( *| +.*)\n" AND where GREATER 0) + math(EXPR where "3-${where}") + set(line "\n") + elseif(line MATCHES "^%endif( *| +.*)\n") + set(where 0) + set(line "\n") + endif() + if(where STREQUAL 1) + file(APPEND "${OUT1}" "${line}") + string(REGEX REPLACE "[^\n]+" "" line "${line}") + file(APPEND "${OUT2}" "${line}") + elseif(where STREQUAL 2) + file(APPEND "${OUT2}" "${line}") + string(REGEX REPLACE "[^\n]+" "" line "${line}") + file(APPEND "${OUT1}" "${line}") + else() + file(APPEND "${OUT1}" "${line}") + file(APPEND "${OUT2}" "${line}") + endif() +endwhile() -- cgit v1.2.3