summaryrefslogtreecommitdiff
path: root/math/texvc_test.ml
diff options
context:
space:
mode:
Diffstat (limited to 'math/texvc_test.ml')
-rw-r--r--math/texvc_test.ml25
1 files changed, 25 insertions, 0 deletions
diff --git a/math/texvc_test.ml b/math/texvc_test.ml
new file mode 100644
index 00000000..3bce5296
--- /dev/null
+++ b/math/texvc_test.ml
@@ -0,0 +1,25 @@
+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
+ let out = Util.mapjoin Texutil.render_tex tree 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 ();;