JavaCC не совпадает с правильными токенами во время обработки ошибок
У меня возникли проблемы с использованием этого конкретного метода для решения проблем в моем парсере. Это мой код в Java:
void handleErrors(Exception e, int kind, String strError) {
//ParseException e = generateParseException();
System.err.println("Errore nel parsing: <" + strError + ">");
System.err.println(e.toString());
Token t;
do {
t = getNextToken();
} while(t.kind != kind && t!=null && t.kind != EOF );
}
Что-то идет не так, когда я пытаюсь разобрать это простое объявление функции (сделайте ссылку на документацию AutoIt)
Func askjd ($cas)
синтаксический анализатор должен выдать исключение, говорящее мне, что что-то не так с моим объявлением функции, но он говорит только общие предложения, такие как:
ParseException: Encountered <EOF> at line 1, column 18.
Was expecting one of:
"If" ...
"For" ...
"While" ...
"Do" ...
"Switch" ...
"Func" ...
"Return" ...
"EndFunc" ...
"Const" ...
<VARNAME> ...
<NAMEFUNC> ...
Это должно сказать мне, что ТОЛЬКО EndFunc
отсутствует, никаких других токенов