Source

ocaml-bert / termreader.ml

Full commit

let print_termfile filename = 
  let load_file filename = 
    let rec load channel data = 
      try 
	let line = Pervasives.input_line channel in
	  load channel (String.concat "" [data; line])
      with
	| End_of_file ->  
	    close_in channel;
	    data
    in
    let fch = open_in filename in (* opening file channel *)
      load fch ""
  in
  let result = Bert.decode_binary (load_file filename) in
    Printf.printf "reading %s: \n" filename;
    begin match result with
      | Bert.Ok(term, remain)->
	  Bert.print_erlterm term;
	  print_endline "\nall read.";
      | _->
	  print_endline "\nfailed in decoding.";
    end;;

let _ = 
  let argv = Array.to_list Sys.argv in
    match List.tl argv with
      | [] -> [print_termfile "termwriter.bert"];
      | list -> List.map print_termfile list;;