if line = "" then chr, name, div, conv, ps else\r
let rec aux' chr line =\r
if chr = "#"\r
- then chr, line, div, conv, ps\r
+ then chr, name, div, conv, ps\r
+ else if chr = "$"\r
+ then "#", line, div, conv, ps\r
else if chr = "D"\r
then chr, name, line, conv, ps\r
else if chr = "C"\r
) ps in\r
name, div, conv, ps, free\r
;;\r
+\r
+\r
+let from_file path =\r
+ let lines = ref [] in\r
+ let chan = open_in path in\r
+ let _ = try\r
+ while true; do\r
+ lines := input_line chan :: !lines\r
+ done\r
+ with End_of_file ->\r
+ close_in chan in\r
+ let txt = String.concat "\n" (List.rev !lines) in\r
+ let problems = Str.split (Str.regexp "\\$") txt in\r
+ List.map problem_of_string (List.tl (List.map ((^) "$") problems))\r
+;;\r