public static String getNodeText(Tree t, String[] ruleNames, String[] tokenNames) {
if (ruleNames != null) {
if (t instanceof RuleNode) {
int ruleIndex = ((RuleNode) t).getRuleContext().getRuleIndex();
return ruleNames[ruleIndex];
} else if (t instanceof ErrorNode) {
return t.toString();
} else if (t instanceof TerminalNode) {
Token symbol = ((TerminalNode) t).getSymbol();
if (symbol != null) {
return "'" + symbol.getText() + "'";
}
}
}
// no recog for rule names
Object payload = t.getPayload();
if (payload instanceof Token) {
return ((Token) payload).getText();
}
return t.getPayload().toString();
}
AntlrUtils.java 文件源码
java
阅读 34
收藏 0
点赞 0
评论 0
项目:templates4j
作者:
评论列表
文章目录