diff options
Diffstat (limited to 'main.ml')
-rw-r--r-- | main.ml | 37 |
1 files changed, 19 insertions, 18 deletions
@@ -27,11 +27,12 @@ let const_interp = ref false let interv_interp = ref false let rel_interp = ref false let get_interp () = - if !interv_interp - then Interp_interv.interpret - else if !rel_interp - then Interp_rel.interpret - else Interp_const.interpret + if !interv_interp then + Interp_interv.interpret + else if !rel_interp then + Interp_rel.interpret + else + Interp_const.interpret let ifile = ref "" let set_var v s = v := s @@ -39,27 +40,27 @@ let set_var v s = v := s let usage = "usage: analyzer [options] file.c" let options = [ - "--dump", Arg.Set dump, "Dump program source."; - "--const-interp", Arg.Set const_interp, "Use constant lattice interpreter."; - "--interv-interp", Arg.Set interv_interp, "Use interval lattice interpreter."; - "--rel-interp", Arg.Set rel_interp, "Use relationnal (Apron) lattice."; + "--dump", Arg.Set dump, "Dump program source."; + "--const-interp", Arg.Set const_interp, "Use constant lattice interpreter."; + "--interv-interp", Arg.Set interv_interp, "Use interval lattice interpreter."; + "--rel-interp", Arg.Set rel_interp, "Use relationnal (Apron) lattice."; ] (* parse and print filename *) let doit filename = - let prog = File_parser.parse_file filename in - if !dump then Abstract_syntax_printer.print_prog Format.std_formatter prog; - (get_interp ()) prog + let prog = File_parser.parse_file filename in + if !dump then Abstract_syntax_printer.print_prog Format.std_formatter prog; + (get_interp ()) prog (* parses arguments to get filename *) let main () = - Arg.parse options (set_var ifile) usage; + Arg.parse options (set_var ifile) usage; - if !ifile = "" then begin - Format.eprintf "No input file...@."; - exit 1 - end; + if !ifile = "" then begin + Format.eprintf "No input file...@."; + exit 1 + end; - doit !ifile + doit !ifile let _ = main () |