【发布时间】:2012-03-15 19:23:32
【问题描述】:
我正在尝试在JavaCC 语法中实现错误报告和恢复
我在.jjt语法文件中提到了如下代码
void Stm() :
{}
{
try {
(
IfStm()
|
WhileStm()
)
}catch (ParseException e) {
error_skipto(SEMICOLON);
}
}
void error_skipto(int kind) {
ParseException e = generateParseException(); // generate the exception object.
System.out.println(e.toString()); // print the error message
Token t;
do {
t = getNextToken();
} while (t.kind != kind);
}
当我执行命令jjtree CMinus.jjt 时出现以下错误:
从文件 CMinus_ragu.jjt 中读取。 . . 解析输入错误:org.javacc.jjtree.ParseException: Encountered ""{" "{"" a t 第 111 行,第 30 列。 期待其中之一: “扔”... “:”…… "#" ...
代码中的错误是什么,应该如何处理错误恢复?
【问题讨论】:
标签: java parsing javacc parser-generator