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 отсутствует, никаких других токенов

0 ответов

Другие вопросы по тегам