open Misc.ArgExt let timeout = ref 0 let set_timeout i = timeout := i let get_timeout () = !timeout let prover = ref "simplify" let set_prover s = prover := s let get_prover () = !prover let gui_flag = ref false let request_gui = (:=) gui_flag let gui_requested () = !gui_flag let verbose_level = ref 0 let set_verbose_level i = verbose_level := i let get_verbose_level () = !verbose_level let verify_flag = ref false let request_verify = (:=) verify_flag let verify_requested () = !verify_flag let test_flag = ref false let request_test = (:=) test_flag let test_requested () = !test_flag let test_cases = ref 10 let set_test_cases i = test_cases := i let get_test_cases () = !test_cases let test_cycles = ref 10 let set_test_cycles i = test_cycles := i let get_test_cycles () = !test_cycles let test_min_int = ref (-1000) let set_test_min_int i = test_min_int := i let get_test_min_int () = !test_min_int let test_max_int = ref 1000 let set_test_max_int i = test_max_int := i let get_test_max_int () = !test_max_int let options = OptionsParsing.register [ "-v", Arg.Int set_verbose_level, " Verbosity, from 0 (lowest) to 2 (highest)."; extra_doc " [default is 0]"; "-verify", Arg.Set verify_flag, " Verify the results with Frama-C/Jessie."; "-timeout", Arg.Int set_timeout, " Timeout in seconds for verification. 0 means no timeout."; extra_doc " [default is 0]"; "-prover", Arg.String set_prover, " Select a prover for verification through why."; extra_doc " Needs the -verify option."; extra_doc " [default is simplify]"; "-gui", Arg.Set gui_flag, " Do not select a prover: run a graphical user interface instead."; extra_doc " Needs the -verify option."; "-test", Arg.Set test_flag, " Test the results."; "-test-cases", Arg.Int set_test_cases, " Number of test cases."; extra_doc " Needs the -test option."; extra_doc " [default is 10]"; "-test-cycles", Arg.Int set_test_cycles, " Number of cycles for each test case."; extra_doc " Needs the -test option."; extra_doc " [default is 10]"; "-test-min-int", Arg.Int set_test_min_int, " Random int minimum value."; extra_doc " Needs the -test option."; extra_doc " [default is -1000]"; "-test-max-int", Arg.Int set_test_max_int, " Random int maximum value."; extra_doc " Needs the -test option."; extra_doc " [default is 1000]"; ]