所以我有一个语法,并使用ANTLR4生成了解析器。生成的解析器在终端上工作正常。现在这是我的问题,我需要制作一个Java程序,它将文件名作为参数接受并遍历文件的每一行,并检查语法/含义是否正确。如果是,它将输出正确,如果不正确,则将输出false或错误。 ANTLR已生成Java词法分析器文件和Java解析器文件。 到目前为止,我已经知道了:
CharStream characterStream = CharStreams.fromFileName("input.txt");
ANTLRLexer lexer = new ANTLRLexer(charstream);
ANTLRParser parser = new ANTLRParser(new CommonTokenStream(lexer));
就像我什至不确定变量解析器的功能。我如何从这里开始检查每一行。
答案 0 :(得分:0)
假设语法包含规则lines
,该规则遍历所有行(请注意,您将要使用EOF
以确保它遍历所有行),您需要做的所有事情是要调用它:
parser.lines();