Bugs fixed for stdin and stdout.
[Faustine.git] / interpreter / aux.ml
index 7c21a61..0564c30 100644 (file)
@@ -18,7 +18,7 @@ let array_map3 = fun f -> fun a -> fun b -> fun c ->
   if n1 = n2 && n1 = n3 then Array.init n1 (fun i -> f a.(i) b.(i) c.(i))
   else raise (Invalid_argument "Array.map3 size not matched.");;
 
   if n1 = n2 && n1 = n3 then Array.init n1 (fun i -> f a.(i) b.(i) c.(i))
   else raise (Invalid_argument "Array.map3 size not matched.");;
 
-let decorate = fun s -> "    Faustine -> " ^ s;;
+let decorate = fun s -> "    Faustine -> " ^ s ^ "\n";;
 
 let xor : bool -> bool -> bool =
   fun a -> fun b -> (a || b) && (not (a && b));;
 
 let xor : bool -> bool -> bool =
   fun a -> fun b -> (a || b) && (not (a && b));;
@@ -34,3 +34,9 @@ let remainder_float : float -> float -> float =
     if (abs_float r) > ((abs_float f2) /. 2.) then
       (if r *. f2 > 0. then (r -. f2) else (r +. f2))
     else r;;
     if (abs_float r) > ((abs_float f2) /. 2.) then
       (if r *. f2 > 0. then (r -. f2) else (r +. f2))
     else r;;
+
+let format_of_file : string -> string = 
+  fun (path : string) ->
+    let fragments = Str.split (Str.regexp "\.") path in
+       let n = List.length fragments in
+       List.nth fragments (n - 1);;