ANTLR4将ParserRunContext树展平为数组

ANTLR4将ParserRunContext树展平为数组,antlr4,Antlr4,如何将带有子树的ParserRuleContext展平为令牌数组?ParserRuleContext.getTokens(intttype)看起来不错。但是什么是t类型?是令牌类型吗?如果要包括所有令牌类型,使用什么值?parseruleContext.getTokens(int ttype)仅检索父节点的某些子节点:它不会递归进入父树 然而,写下自己的话很容易: /** *按顺序从{@code tree}中检索所有标记。 * *@param树 *要从中获取所有令牌的解析tee。 * *@按顺序

如何将带有子树的
ParserRuleContext
展平为令牌数组?ParserRuleContext.getTokens(intttype)看起来不错。但是什么是
t类型
?是令牌类型吗?如果要包括所有令牌类型,使用什么值?

parseruleContext.getTokens(int ttype)仅检索父节点的某些子节点:它不会递归进入父树

然而,写下自己的话很容易:

/**
*按顺序从{@code tree}中检索所有标记。
*
*@param树
*要从中获取所有令牌的解析tee。
*
*@按顺序从{@code tree}返回所有令牌。
*/
公共静态列表getFlatTokenList(ParseTree树){
List tokens=new ArrayList();
inOrderTraversal(令牌、树);
归还代币;
}
/**
*对{@code parent}(递归)集合进行顺序遍历
*它遇到的终端节点的所有令牌。
*
*@param代币
*令牌列表。
*@param父级
*要检查终端节点的当前父节点。
*/
OrderTraversal中的私有静态void(列出标记、ParseTree父级){
//迭代“parent”的所有子节点。
对于(int i=0;i