Example usage for org.antlr.v4.runtime.tree Tree getChild

List of usage examples for org.antlr.v4.runtime.tree Tree getChild

Introduction

In this page you can find the example usage for org.antlr.v4.runtime.tree Tree getChild.

Prototype

Tree getChild(int i);

Source Link

Document

If there are children, get the i th value indexed from 0.

Usage

From source file:br.beholder.memelang.control.MainWindowController.java

private static void fillTree(TreeNodeWrapper node, Tree tree) {

    if (tree == null) {
        return;//from w w w .  ja va2s . c o  m
    }

    for (int i = 0; i < tree.getChildCount(); i++) {

        Tree childTree = tree.getChild(i);
        TreeNodeWrapper childNode = new TreeNodeWrapper(childTree);

        node.add(childNode);

        fillTree(childNode, childTree);
    }
}

From source file:com.espertech.esper.epl.parse.ASTConstantHelper.java

License:Open Source License

private static RuleNode findChildRuleByType(Tree node, int ruleNum) {
    for (int i = 0; i < node.getChildCount(); i++) {
        Tree child = node.getChild(i);
        if (isRuleOfType(child, ruleNum)) {
            return (RuleNode) child;
        }/*from  w  ww  .  j  a  v a 2  s .  co  m*/
    }
    return null;
}

From source file:com.espertech.esper.epl.parse.ASTExprHelper.java

License:Open Source License

public static void patternCollectAddSubnodesAddParentNode(EvalFactoryNode evalNode, Tree node,
        Map<Tree, EvalFactoryNode> astPatternNodeMap) {
    if (evalNode == null) {
        throw ASTWalkException.from("Invalid null expression node for '" + ASTUtil.printNode(node) + "'");
    }/* w  ww  . j  a v  a 2s  .co  m*/
    for (int i = 0; i < node.getChildCount(); i++) {
        Tree childNode = node.getChild(i);
        EvalFactoryNode childEvalNode = patternGetRemoveTopNode(childNode, astPatternNodeMap);
        if (childEvalNode != null) {
            evalNode.addChildNode(childEvalNode);
        }
    }
    astPatternNodeMap.put(node, evalNode);
}

From source file:com.espertech.esper.epl.parse.ASTExprHelper.java

License:Open Source License

public static EvalFactoryNode patternGetRemoveTopNode(Tree node, Map<Tree, EvalFactoryNode> astPatternNodeMap) {
    EvalFactoryNode pattern = astPatternNodeMap.get(node);
    if (pattern != null) {
        astPatternNodeMap.remove(node);//from ww w  . j a v a2 s  .c  o m
        return pattern;
    }
    for (int i = 0; i < node.getChildCount(); i++) {
        pattern = patternGetRemoveTopNode(node.getChild(i), astPatternNodeMap);
        if (pattern != null) {
            return pattern;
        }
    }
    return null;
}

From source file:com.espertech.esper.epl.parse.ASTExprHelper.java

License:Open Source License

public static void regExCollectAddSubNodes(final RowRegexExprNode regexNode, Tree node,
        Map<Tree, RowRegexExprNode> astRegExNodeMap) {
    if (regexNode == null) {
        throw ASTWalkException.from("Invalid null expression node for '" + ASTUtil.printNode(node) + "'");
    }/*from w  w w .j av  a  2s .  c o  m*/
    RegExAction action = new RegExAction() {
        public void found(RowRegexExprNode exprNode, Map<Tree, RowRegexExprNode> astRegExNodeMap, Tree node) {
            astRegExNodeMap.remove(node);
            regexNode.addChildNode(exprNode);
        }
    };
    for (int i = 0; i < node.getChildCount(); i++) {
        Tree childNode = node.getChild(i);
        regExApplyActionRecursive(childNode, astRegExNodeMap, action);
    }
}

From source file:com.espertech.esper.epl.parse.ASTExprHelper.java

License:Open Source License

public static void regExApplyActionRecursive(Tree node, Map<Tree, RowRegexExprNode> astRegExNodeMap,
        RegExAction action) {// w w w  .ja v a  2s.  c o  m
    RowRegexExprNode expr = astRegExNodeMap.get(node);
    if (expr != null) {
        action.found(expr, astRegExNodeMap, node);
        return;
    }
    for (int i = 0; i < node.getChildCount(); i++) {
        regExApplyActionRecursive(node.getChild(i), astRegExNodeMap, action);
    }
}

From source file:com.espertech.esper.epl.parse.ASTExprHelper.java

License:Open Source License

public static void exprCollectAddSubNodes(final ExprNode parentNode, Tree node,
        Map<Tree, ExprNode> astExprNodeMap) {
    if (parentNode == null) {
        throw ASTWalkException.from("Invalid null expression node for '" + ASTUtil.printNode(node) + "'");
    }/*from  w ww  .  ja v  a 2  s .  c om*/
    if (node == null) {
        return;
    }
    ExprAction action = new ExprAction() {
        public void found(ExprNode exprNode, Map<Tree, ExprNode> astExprNodeMap, Tree node) {
            astExprNodeMap.remove(node);
            parentNode.addChildNode(exprNode);
        }
    };
    for (int i = 0; i < node.getChildCount(); i++) {
        Tree childNode = node.getChild(i);
        recursiveFindRemoveChildExprNode(childNode, astExprNodeMap, action);
    }
}

From source file:com.espertech.esper.epl.parse.ASTExprHelper.java

License:Open Source License

public static List<ExprNode> exprCollectSubNodes(Tree parentNode, int startIndex,
        Map<Tree, ExprNode> astExprNodeMap) {
    ExprNode selfNode = astExprNodeMap.remove(parentNode);
    if (selfNode != null) {
        return Collections.singletonList(selfNode);
    }/*from  w w  w .  ja  v  a  2s. c  o m*/
    final List<ExprNode> exprNodes = new ArrayList<ExprNode>();
    ExprAction action = new ExprAction() {
        public void found(ExprNode exprNode, Map<Tree, ExprNode> astExprNodeMap, Tree node) {
            astExprNodeMap.remove(node);
            exprNodes.add(exprNode);
        }
    };
    for (int i = startIndex; i < parentNode.getChildCount(); i++) {
        Tree currentNode = parentNode.getChild(i);
        recursiveFindRemoveChildExprNode(currentNode, astExprNodeMap, action);
    }
    return exprNodes;
}

From source file:com.espertech.esper.epl.parse.ASTExprHelper.java

License:Open Source License

private static void recursiveFindRemoveChildExprNode(Tree node, Map<Tree, ExprNode> astExprNodeMap,
        ExprAction action) {// w ww  .j av  a  2  s .c o  m
    ExprNode expr = astExprNodeMap.get(node);
    if (expr != null) {
        action.found(expr, astExprNodeMap, node);
        return;
    }
    for (int i = 0; i < node.getChildCount(); i++) {
        recursiveFindRemoveChildExprNode(node.getChild(i), astExprNodeMap, action);
    }
}

From source file:com.espertech.esper.epl.parse.ASTExprHelper.java

License:Open Source License

public static RowRegexExprNode regExGetRemoveTopNode(Tree node,
        Map<Tree, RowRegexExprNode> astRowRegexNodeMap) {
    RowRegexExprNode regex = astRowRegexNodeMap.get(node);
    if (regex != null) {
        astRowRegexNodeMap.remove(node);
        return regex;
    }/*from   www.  j  av a 2  s .c  om*/
    for (int i = 0; i < node.getChildCount(); i++) {
        regex = regExGetRemoveTopNode(node.getChild(i), astRowRegexNodeMap);
        if (regex != null) {
            return regex;
        }
    }
    return null;
}