Пример #1
0
        public static void RegExCollectAddSubNodes(RowRegexExprNode regexNode, ITree node, IDictionary <ITree, RowRegexExprNode> astRegExNodeMap)
        {
            if (regexNode == null)
            {
                throw ASTWalkException.From("Invalid null expression node for '" + ASTUtil.PrintNode(node) + "'");
            }
            RegExAction action = (exprNode, astRegExNodeMapX, nodeX) => {
                astRegExNodeMapX.Remove(nodeX);
                regexNode.AddChildNode(exprNode);
            };

            for (var i = 0; i < node.ChildCount; i++)
            {
                var childNode = node.GetChild(i);
                RegExApplyActionRecursive(childNode, astRegExNodeMap, action);
            }
        }
Пример #2
0
 public static void RegExCollectAddSubNodesAddParentNode(RowRegexExprNode exprNode, ITree node, IDictionary <ITree, RowRegexExprNode> astRegExNodeMap)
 {
     RegExCollectAddSubNodes(exprNode, node, astRegExNodeMap);
     astRegExNodeMap.Put(node, exprNode);
 }