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: "" {" "{" "a t行111、列30が発生しました。次のいずれかが予期されていました:" throws "...": "..."#".. 。
コードのエラーとは何ですか?エラー回復をどのように処理する必要がありますか?