我有一个基于 antlr4 的项目,其主类包含以下代码:
package com.progur.langtutorial;
import java.io.FileInputStream;
import java.io.IOException;
import org.antlr.v4.runtime.CharStream;
import org.antlr.v4.runtime.CharStreams;
import org.antlr.v4.runtime.CommonTokenStream;
public class Main {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
try {
ANTLRInputStream input = new ANTLRInputStream(
new FileInputStream(args[0]));
GYOOLexer lexer = new GYOOLexer(input);
GYOOParser parser = new GYOOParser(new CommonTokenStream(lexer));
parser.addParseListener(new MyListener());
// Start parsing
parser.program();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,由于 ANTLRInputStream 已被弃用,我需要使用 CharStream 代替。但是,当我尝试使用 CharStream 时,我无法继续前进,
CharStream input = new ANTLRInputStream(
new FileInputStream(args[0]));
Run Code Online (Sandbox Code Playgroud)
这是因为我不知道如何替换“=”号之后的语句部分。我尝试过CharStreams.fromFileName(new FileInputStream(args[0]));
,但 Eclipse …