RegexContext IRegexExpression.Match(RegexContext context) { var leftChildResult = leftChild.Match(context); var rightChildResult = rightChild.Match(leftChildResult); return(rightChildResult); }
RegexContext IRegexExpression.Match(RegexContext context) { RegexContext toRetutn = new RegexContext(); RegexContext leftChildResult = leftChild.Match(context); foreach (var el in leftChildResult) { toRetutn.Add(el); } RegexContext rightCildResult = rightChild.Match(context); foreach (var el in rightCildResult) { toRetutn.Add(el); } return(toRetutn); }
RegexContext IRegexExpression.Match(RegexContext context) { var toReturn = new RegexContext(); var prev = new RegexContext(); foreach (var el in context) { toReturn.Add(el); } while (!toReturn.IsEmpty()) { foreach (var el in toReturn) { prev.Add(el); } toReturn = child.Match(toReturn); } return(prev); }