mlox/bin/main.ml

19 lines
490 B
OCaml

let printUsage () =
print_endline "Usage: jlox [script]";
exit 64
let () =
let argc = Array.length Sys.argv in
match argc - 1 with
| 0 -> Lox.runRepl ()
| 1 -> (
let path = Sys.argv.(1) in
(* Printf.printf "Running script %s\n" path; *)
let ic = open_in path in
let source = In_channel.input_all ic in
match Lox.run source with
| Error e ->
Lox.Error.print_error e;
exit 1
| Ok () -> exit 0)
| _ -> printUsage ()