подробная ошибка с ocamlyacc
В зубров, достаточно добавить
%verbose-error
в файл, чтобы сделать ошибки синтаксического анализатора более многословным. Есть ли способ получить аналогичную функциональность с ocamlyacc?
Вот это ответ на аналогичный вопрос, но я не мог ничего из этого сделать. Вот как я вызываю функции лексера и парсера:
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 ();;