2 let path_to_program_file = Sys.argv.(1) in
3 let ic = open_in path_to_program_file in
4 let lexbuf = Lexing.from_channel ic in
5 (match Tiger.Parser.program Tiger.Lexer.token lexbuf with
6 | exception Parsing.Parse_error ->
8 Lexing.({lex_curr_p = {pos_lnum; pos_bol; pos_cnum; _}; _}) = lexbuf
11 "Syntax error in file %S, around line: %d, column: %d\n"
12 path_to_program_file pos_lnum (pos_cnum - pos_bol)
14 print_endline (Tiger.Absyn.to_string absyn)