private Expression BuildTree(CaptureIterator <Expression> iterator) { var result = iterator.Iterate(BuildTreeNode).ToList(); if (result.Count != 1) { throw new PegParsingException($"Parsed {result.Count} regex expressions, expected 1 expression."); } return(result.First()); }
public Node ToNodes() { var iterator = new CaptureIterator <Node>(InputData, Captures); var result = iterator.Iterate(BuildNode).ToList(); if (result.Count == 1) { return(result[0]); } else { return(new ListNode("matches", result)); } }