我有一个简单的语法,如 hello (来自antlr网站),然后是自动生成的java代码。 最后,为了测试语法,我添加了以下内容:
public static void main( String[] args) throws Exception
{
HelloLexer lexer = new HelloLexer( new ANTLRInputStream("hello world"));
CommonTokenStream tokens = new CommonTokenStream( lexer );
HelloParser parser = new HelloParser( tokens );
ParseTree tree = parser.r();
System.out.println(tree.toStringTree(parser));
}
一切都很好。
正如我们所看到的,输入是由" hello world "等字符串构成的。 ,但我的目标是为某种语法提供API 。所以,我想知道是否有办法通过java类提供输入,例如代替write" hello world",我想把一个像MyGrammarExpression这样的java类组成通过语法的组件(如OWLAPI中的OWLExpression)然后正常解析。 ANTLR4是否提供了一种方法?有什么建议吗?