X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=tiger%2Fsrc%2Fexe%2Ftigerc.ml;h=9c901a7a5d22c5a1067035835c71d6474f7681fe;hb=b828a6e7c28426ba6630d254cb3d9cbb8563765e;hp=77eafb42647b7111b188309e2dc4b28abbbd649c;hpb=129abbe9bb407189b240922c08052b521fba17a9;p=tiger.ml.git diff --git a/tiger/src/exe/tigerc.ml b/tiger/src/exe/tigerc.ml index 77eafb4..9c901a7 100644 --- a/tiger/src/exe/tigerc.ml +++ b/tiger/src/exe/tigerc.ml @@ -5,11 +5,12 @@ let () = let ic = open_in path_to_program_file in let lexbuf = Lexing.from_channel ic in let rec parse_and_print () = - let token = Tiger.Lexer.token lexbuf in - printf "%s\n" (Tiger.Parser.Token.to_string token); - match token with - | Tiger.Parser.Token.EOF -> () - | _ -> parse_and_print () + match Tiger.Lexer.token lexbuf with + | None -> + () + | Some token -> + printf "%s\n" (Tiger.Parser.Token.to_string token); + parse_and_print () in parse_and_print (); close_in ic;