1
对于我在ANTLR中的语法,我的java代码可以捕获并打印包含“$”的输入的错误。在我的实施中,我需要打印出成功输入的“成功”。所以,我按照我的Java代码,大于0为我的情况下,输入错误
CharStream charStream = new ANTLRFileStream(filePath);
myLexer lexer = new myLexer(charStream);
TokenStream tokens = new CommonTokenStream(lexer);
myParser parser = new myParser(tokens);
/*if there is an error throws an exception message*/
parser.program();
/*if there is an error find how many, if 0 then print success,*/
int errorsCount = parser.getNumberOfSyntaxErrors();
if(errorsCount == 0){
System.out.println("parsing successful");
}
getNumberofSyntaxErrors回报数字。对于“int i;”,输出只是;
parsing successful
当我运行我的代码,如int $一个输入我;, java代码打印出错误消息“解析成功”,因为getNumberofSyntaxErrors()返回0;
line 1:4 no viable alternative at character '$' /*this is what I expect to see*/
parsing successful /*this is not what i expect to see*/
巴特,非常感谢。 –
不客气John。 –