diff --git a/bin/main.ml b/bin/main.ml index d00cb913afdc19ade0c97b3a602e36fd4b374f0a..c45c8734d0b9b3fd83ab2cccfebc42a8c827cb0b 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -1,7 +1,7 @@ open Dsl - +let usage = "Usage: dsl filename_dsl [-proof filename_proof] [-type filename_type] [-r repository_out] [-n] [-g] [-h] \n -n : don't overwrite type file \n -g : generate png from graph" (** [parse_args argrs proof_name type_name owerwrite repo_gen] Parses the command line arguments and returns a tuple containing the parsed values or default value. @param args string list: The list of command line arguments. @@ -18,7 +18,7 @@ let rec parse_args args (proof_name : string) (type_name : string) (overwrite: b | "-n" :: tl -> parse_args tl proof_name type_name (not overwrite) dir_gen graph_gen | "-r" :: dir :: tl -> parse_args tl proof_name type_name overwrite dir graph_gen | "-g" :: tl -> parse_args tl proof_name type_name overwrite dir_gen (not graph_gen) - | "-h" :: _ -> print_endline "Usage: dsl filename_dsl [-proof filename_proof] [-type filename_type] [-r repository_out] [-n] [-g] [-h] \n -n : don't overwrite type file \n -g : generate png from graph"; exit 0 + | "-h" :: _ -> print_endline usage; exit 0 | _ :: tl ->parse_args tl proof_name type_name overwrite dir_gen graph_gen | [] -> (proof_name, type_name, overwrite,dir_gen,graph_gen) @@ -30,8 +30,10 @@ let rec parse_args args (proof_name : string) (type_name : string) (overwrite: b *) let gen (args : string array) = let list_args = Array.to_list args in + try let name = args.(1) in let (proof_name, type_name, overwrite,repo_gen, graph_gen) = parse_args list_args ((Filename.basename name)^"_proof") ((Filename.basename name)^"_world_type") true "./generate" false in - Gencoq.generate_coq_2files (Interface.parse_description name) (Filename.basename name) proof_name type_name overwrite repo_gen graph_gen;; - + Gencoq.generate_coq_2files (Interface.parse_description name) (Filename.basename name) proof_name type_name overwrite repo_gen graph_gen + with _ -> print_endline usage; exit 0;; + gen Sys.argv;;