private QuantifierStackFrame(StackFrame parent, IConsList<BasePattern> remainingChildren,
                              bool isGreedy, int lastPosition)
     : base(parent, remainingChildren)
 {
     IsGreedy = isGreedy;
     LastPosition = lastPosition;
 }
示例#2
0
 public BacktrackPoint(BacktrackPoint previous,
                       StackFrame callStack,
                       Result<char, int> partialResult)
 {
     Previous = previous;
     CallStack = callStack;
     PartialResult = partialResult;
 }
示例#3
0
 public GroupStackFrame(StackFrame parent, IConsList<BasePattern> remainingChildren)
     : base(parent, remainingChildren)
 {
 }
示例#4
0
 public GroupStackFrame(StackFrame parent, params BasePattern[] remainingChildren)
     : this(parent, new ArrayConsList<BasePattern>(remainingChildren))
 {
 }
示例#5
0
 protected StackFrame(StackFrame parent, IConsList<BasePattern> remainingChildren)
 {
     Parent = parent;
     RemainingChildren = remainingChildren;
 }
        private StackFrame unwindEmptyFrames(StackFrame callStack)
        {
            while (callStack != null && callStack.RemainingChildren.IsEmpty)
                callStack = callStack.Parent;

            return callStack;
        }
 public QuantifierStackFrame(StackFrame parent, QuantifierPattern quant)
     : this(parent, new RepeaterConsList<BasePattern>(quant.ChildPattern, quant.MaxOccurrences), quant.IsGreedy, -1)
 {
     if (quant.MinOccurrences != 0)
         quant.AssertCanonicalForm();
 }