12345678910111213141516171819202122232425 |
- exception LexerException of string
- let lexer_token_safe lexbuf =
- try Lexer.token lexbuf
- with Failure s -> raise (LexerException s)
- let rec foo () =
- try
- let line = input_line stdin in
- (try
- let tree = Parser.tex_expr lexer_token_safe (Lexing.from_string line) in
- (match Html.render tree with
- Some _ -> print_string "$^\n"
- | None -> print_string "$_\n";
- )
- with
- Texutil.Illegal_tex_function s -> print_string ("$T" ^ s ^ " " ^ line ^ "\n")
- | LexerException s -> print_string ("$L" ^ line ^ "\n")
- | _ -> print_string ("$ " ^ line ^ "\n"));
- flush stdout;
- foo ();
- with
- End_of_file -> ()
- ;;
- foo ();;
|