ANTLR语法分析器

ANTLR语法分析器,antlr,antlr4,Antlr,Antlr4,我正在尝试创建一个ParserInterpreter。从该页面的第三个示例(标记为加载单独的lexer/parser语法)中,我看到了以下代码: public static ParseTree parse(String fileNameToParse, String lexerGrammarFileName, String parserGrammarFileName,

我正在尝试创建一个ParserInterpreter。从该页面的第三个示例(标记为加载单独的lexer/parser语法)中,我看到了以下代码:

public static ParseTree parse(String fileNameToParse,
                          String lexerGrammarFileName,
                          String parserGrammarFileName,
                          String startRule)
throws IOException{

    final LexerGrammar lg = (LexerGrammar) Grammar.load(lexerGrammarFileName);

    final Grammar pg = Grammar.load(parserGrammarFileName, lg);

    CharStream input = CharStreams.fromPath(Paths.get(fileNameToParse));
    LexerInterpreter lexEngine = lg.createLexerInterpreter(input);
    CommonTokenStream tokens = new CommonTokenStream(lexEngine);
    ParserInterpreter parser = pg.createParserInterpreter(tokens);
    ParseTree t = parser.parse(pg.getRule(startRule).index);
    System.out.println("parse tree: " + t.toStringTree(parser));
    return t;
}
在第5行
Grammar.load
上传递了两个参数,一个
String
和一个
lexergramar
。但是,JavaDoc for显示了只使用一个参数的方法

我是不是遗漏了什么?如果没有,在给定lexer语法和解析器语法文件的情况下,是否存在创建ParserInterpreter的变通方法