src/HOL/Tools/Quickcheck/narrowing_generators.ML
changeset 48565 7c497a239007
parent 48272 db75b4005d9a
child 48568 084cd758a8ab
equal deleted inserted replaced
48561:12aa0cb2b447 48565:7c497a239007
   247           "import Narrowing_Engine;\n" ^
   247           "import Narrowing_Engine;\n" ^
   248           "import Generated_Code;\n\n" ^
   248           "import Generated_Code;\n\n" ^
   249           "main = getArgs >>= \\[potential, size] -> " ^
   249           "main = getArgs >>= \\[potential, size] -> " ^
   250           "Narrowing_Engine.depthCheck (read potential) (read size) (Generated_Code.value ())\n\n" ^
   250           "Narrowing_Engine.depthCheck (read potential) (read size) (Generated_Code.value ())\n\n" ^
   251           "}\n"
   251           "}\n"
   252         val code' = prefix "module Generated_Code where {\n\ndata Typerep = Typerep String [Typerep];\n"
   252         val code' = code
   253           (unprefix "module Generated_Code where {" code)
   253           |> unsuffix "}\n"
       
   254           |> suffix "data Typerep = Typerep String [Typerep];\n\n}\n" (* FIXME *)
   254         val _ = File.write code_file code'
   255         val _ = File.write code_file code'
   255         val _ = File.write narrowing_engine_file
   256         val _ = File.write narrowing_engine_file
   256           (if contains_existentials then pnf_narrowing_engine else narrowing_engine)
   257           (if contains_existentials then pnf_narrowing_engine else narrowing_engine)
   257         val _ = File.write main_file main
   258         val _ = File.write main_file main
   258         val executable = File.shell_path (Path.append in_path (Path.basic "isabelle_quickcheck_narrowing"))
   259         val executable = File.shell_path (Path.append in_path (Path.basic "isabelle_quickcheck_narrowing"))