open Util;; (* Syntax for problem files in problem/ folder: - dollar ($) on newline begin new problem $! means that the problem is expected to be separable, $? means that it is expected to be unseparable - (#) on new line comment line - (D) (C) (N) stand respectively for divergent, convergent, numeric - lines starting with spaces inherit the type from the last line *) let main f = print_endline Sys.executable_name; try ignore (Str.search_forward (Str.regexp_string "test") Sys.executable_name 0) with Not_found -> (if Array.length Sys.argv = 1 then failwith "no command line args. Please use e.g. ./cmd.out problems/*" else Array.iteri (fun i filename -> if i > 0 then List.iter f (Parser.from_file filename)) Sys.argv) ;;