private static Expression Choice(INode node) { if (node.Count > 1) { var expressions = node.Children.Select(Expression); return(ChoiceExpression.From(node, expressions)); } return(Expression(node[0])); }
private Expression Expression(INode node) { Debug.Assert(node.Name == "choice"); if (node.Count > 1) { var choices = node.Children.Select(Sequence); return(ChoiceExpression.From(node, choices)); } return(Sequence(node[0])); }