Ausführlicher Fehler mit ocamlyacc
Bei Bisons ist es ausreichend, hinzuzufügen
%verbose-error
in die Datei, um die Parser-Fehler ausführlicher zu machen. Gibt es eine Möglichkeit, mit ocamlyacc ähnliche Funktionen zu erhalten?
Hier ist die Antwort auf eine ähnliche Frage, aber ich konnte nichts daraus machen. So rufe ich die Funktionen lexer und parser auf:
let rec foo () =
try
let line = input_line stdin in
(try
let _ = (Parser.latexstatement lexer_token_safe (Lexing.from_string line)) in
print_string ("SUCCESS\n")
with
LexerException s -> print_string ("$L" ^ line ^ "\n")
| Parsing.Parse_error -> print_string ("$P" ^ line ^ "\n")
| _ -> print_string ("$S " ^ line ^ "\n"));
flush stdout;
foo ();
with
End_of_file -> ()
;;
foo ();;