(* Cours "Sémantique et Application à la Vérification de programmes" Antoine Miné 2014 Ecole normale supérieure, Paris, France / CNRS / INRIA *) (* Simple driver: parses the file given as argument and prints it back. You should modify this file to call your functions instead! *) open Abstract_syntax_tree module Env_dom = Nonrelational.NonRelational(Constant_domain.Constants) module Interp = Interpret.Make(Env_dom) (* parse and print filename *) let doit filename = let prog = File_parser.parse_file filename in Abstract_syntax_printer.print_prog Format.std_formatter prog; Interp.interpret prog (* parses arguments to get filename *) let main () = match Array.to_list Sys.argv with | _::filename::_ -> doit filename | _ -> invalid_arg "no source file specified" let _ = main ()