JavaCC在错误处理期间不匹配右标记

时间:2014-06-17 07:50:28

标签: java 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 个答案:

没有答案