mlox/bin/main.ml

19 lines
490 B
OCaml
Raw Normal View History

2024-08-02 00:10:48 +02:00
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 -> (
2024-08-02 00:10:48 +02:00
let path = Sys.argv.(1) in
(* Printf.printf "Running script %s\n" path; *)
2024-08-02 00:10:48 +02:00
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)
2024-08-02 00:10:48 +02:00
| _ -> printUsage ()