Java 多输入

Java 多输入,java,file,input,antlr,grammar,Java,File,Input,Antlr,Grammar,我正在尝试将ANTLR用于属性语法。这是我的驱动程序代码: import org.antlr.runtime.ANTLRStringStream; import org.antlr.v4.runtime.ANTLRFileStream; import org.antlr.v4.runtime.ANTLRInputStream; import org.antlr.v4.runtime.CharStream; import org.antlr.v4.runtime.CommonTokenStream

我正在尝试将ANTLR用于属性语法。这是我的驱动程序代码:

import org.antlr.runtime.ANTLRStringStream;
import org.antlr.v4.runtime.ANTLRFileStream;
import org.antlr.v4.runtime.ANTLRInputStream;
import org.antlr.v4.runtime.CharStream;
import org.antlr.v4.runtime.CommonTokenStream;

@SuppressWarnings({ "deprecation", "unused" })
public class mymain {
    public static void main(String[] args) {
        try {
            ANTLRInputStream input = new ANTLRFileStream("/home/vkmanojk/eclipse-workspace/17040/src/input");
            statementLexer lexer = new statementLexer(input);
            CommonTokenStream tokens = new CommonTokenStream(lexer);
            statementParser parser = new statementParser(tokens);
            System.out.println(parser.expression());
        } catch(Exception e) {
            System.out.println(e);
        }
    }
}
此程序仅适用于输入文件中的单个输入。如何更改main函数,使其适用于输入文件中的多个输入


提前感谢

如果您的输入文件包含多个
表达式
s,只需添加与一个或多个
表达式
s匹配的解析器规则:

expressions
 : expression ( DELIMITER expression )*
 ;

// Your existing expression rule
expression
 : ...
 ;

DELIMITER
 : '\r'? '\n'
 ;
如果表达式的分隔符不是换行符,当然要相应地更改
DELIMITER