+ -version
[sqlgg.git] / sql2cpp.ml
blob4e3b433688ea73edaca8475552d32a95d345fe8c
1 (** command-line *)
3 open ListMore
4 open ExtString
5 open Operators
7 let work filename =
8 Main.with_file filename Main.parse_sql
10 let version = Printf.sprintf "%s (%s)"
11 Version.version
12 (Version.revision >> String.explode >> List.take 8 >> String.implode)
14 let show_help () =
15 Error.log "SQL to C++ Code Generator Version %s" version;
16 Error.log "";
17 Error.log " Usage: %s file_with_statements.sql" (Filename.basename Sys.executable_name);
18 Error.log "";
19 Error.log " Parse given file (treating content as SQL statements) and emit corresponding code to stdout"
21 let main () =
22 match Array.to_list Sys.argv with
23 | _::"-test"::_ -> Test.run ()
24 | _::"-version"::_ -> print_endline version
25 | _::"-"::_ -> Main.parse_sql (Std.input_all stdin)
26 | _::file::_ -> work file
27 | _ -> show_help ()
29 let _ = Printexc.print main ()