Я использую JAVACC для синтаксического анализа некоторой строки, определяемой грамматикой bnf с начальным нетерминальным G. Я хотел бы поймать ошибки, создаваемые TokenMgrError. В частности, я хочу, чтобы обрабатывать следующие два случая:Игнорировать MSGTokenError в JAVACC
- Если некоторый префикс входа удовлетворяет G, но не все символы, которые считываются из входных, рассматривать этот случай как нормальные и вернуть AST для найдено префикс вызовом G().
- Если вход не имеет префикса, удовлетворяющего условию G, возвращаем null из G().
В настоящее время я получаю файлы TokenMgrError в каждом из этих случаев. Я начал изменять сгенерированные файлы (т. Е. Изменить «Ошибка на исключение» и добавить соответствующие инструкции try/catch/throws), но я нашел, что это утомительно. Кроме того, автоматическая генерация модифицированных файлов, созданных JAVACC, не работает. Есть ли более разумный способ сделать это?
Можете ли вы добавить образец кода? И в отношении Исключений вместо TokenMgrErrors см. Http://www.engr.mun.ca/~theo/JavaCC-FAQ/javacc-faq-moz.htm#tth_sEc3.19 – bcause