如果我有一个 ANTLR 语法,其中有这样的规则和“returns”语句:
string_decl returns [Pair s] : STR id EQUAL ex=str_literal ';'{$s = new Pair($id.text, $ex.text);} ;
然后在我的 main 中我有这样的代码:
Lexer lexer = new Lexer(CharStreams.fromFileName(inputFileName));
CommonTokenStream tokens = new CommonTokenStream(lexer);
Parser parser = new Parser(tokens);
System.out.println(parser.program()); //prints out empty array ?
如何打印我所有“返回”的列表?
最佳答案
返回
值被建模为规则上下文的成员。查看您是否有 String_declContext.s
成员。另请参阅Rule Attribute Definitions在 ANTLR4 文档中。
关于java - 如何从ANTLR语法中收集 'returns',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57998140/