コード例 #1
0
        public void OptionalInOptionalTests()
        {
            var node = new OptionalNode(
                new OptionalNode(SegmentStartNode.Instance));

            node.Should().BeEquivalentTo(
                new OptionalNode(
                    SegmentStartNode.Instance));
        }
コード例 #2
0
        private RegexNode ParseArityNode()
        {
            var result = ParseAtom();

            if (Accept(RegexTokenSubType.ZeroOrMore))
            {
                result = new RepeatZeroOrMoreNode(result);
            }
            else if (Accept(RegexTokenSubType.ZeroOrOne))
            {
                result = new OptionalNode(result);
            }
            else if (Accept(RegexTokenSubType.OneOrMore))
            {
                result = new RepeatOneOrMoreNode(result);
            }
            return(result);
        }
コード例 #3
0
 protected internal virtual void VisitOptional(OptionalNode node)
 {
     Visit(node.Node);
 }
コード例 #4
0
 public object VisitOptionalNode(OptionalNode optionalNode, object data)
 {
     throw new NotImplementedException();
 }