open Printf let main () = let lb = Lexing.from_channel stdin in try Eval.eval_program (Gmlparser.program Gmllexer.token lb) with Gmllexer.Error msg -> eprintf "Character %d: lexical error: %s.\n" (Lexing.lexeme_start lb) msg; exit 2 | Parsing.Parse_error -> eprintf "Character %d: syntax error.\n" (Lexing.lexeme_start lb); exit 2 | Eval.Error msg -> eprintf "Run-time error: %s.\n" msg; exit 2 let _ = main (); exit 0