1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
(* main *)
let go () =
  let program = Parser.expr Lexer.token (Lexing.from_channel stdin) in
  if Array.length Sys.argv = 1 then begin
    print_string "Parsed : ";
    Syntax.print program;               (* input *)
    print_newline ();
    print_string "Result : "
  end;
  print_string (Value.to_string (Eval.f program)) ;(* result *)
  print_newline ()

(* startup *)
let _ = go ()