Как сделать пользовательские сообщения об исключениях JavaCC?
Я хочу начать с того, что знаю, что здесь существует похожий вопрос: как создавать конкретные сообщения об ошибках на основе исключений синтаксического анализа в JavaCC
Но у меня нет необходимых 50 представителей, чтобы прокомментировать это, чтобы задать мой вопрос.
По сути, я пытаюсь сделать так, чтобы, если токен не в верхнем регистре, он говорил "Ввод должен быть в верхнем регистре". В моем коде есть кое-что еще, но по сути это то, что я хочу сделать.
Я попытался сделать так, как подсказывает ответ, и в конце или иметь или, который просто содержит код для выдачи пользовательского исключения сообщения, но, кажется, не каждый достигает его, и выводит обычное сообщение об исключении.
<UPPER: (["A"-"Z"])+>
это мой знак.
void start(): {} {
<UPPER> | {throw new ParseException("custom message");}
}
Я чувствую, что это может быть связано с тем, что мой токен состоит из любого количества символов в верхнем регистре, но я не уверен.
Заранее благодарю за любую помощь.
1 ответ
С тех пор я посмотрел на свой ответ, через несколько дней, и понял, что проблема заключалась в том, что некоторые несоответствия заключались в скобках, которые выходили в финал | не содержаться в правильном месте.
Нужно в будущем убедиться, что все скобки совпадают в нужном месте...