let do_solver (f:string) =
  let chan = open_in f in
  let lexbuf = Lexing.from_channel chan in
  try
    Parser.main Lexer.token lexbuf
  with _ -> Printf.printf "Exception Raised!"; print_newline (); exit 0

let main () =
  let input_file = ref "" in
  Arg.parse [] (fun s -> input_file := s) "Usage: ./main.byte input_file";
  if !input_file <> "" then
    do_solver !input_file
  else
    Printf.printf "Usage: ./main.byte input_file\n"
;;

main ()
