public LookAheadEnumeratorEnumerator(LookAheadEnumerator <T> outer)
 {
     _outer = outer;
     if (_outer.IsEnumerating)
     {
         _current = _outer.Current;
     }
     _index = _NotStarted;
 }
 private ParserContext(IEnumerator <object> enumerator, bool wrap)
 {
     _e = enumerator;
     if (wrap)
     {
         _el = new LookAheadEnumerator <object>(enumerator);
         _e  = _el;                // we need both pointers to point to the lookahead
     }
     _state        = -1;
     _t.SymbolId   = -1;
     _advanceCount = 0;
     _skipped      = new List <object>();
 }
 public LookAheadEnumeratorEnumerable(LookAheadEnumerator <T> outer)
 {
     _outer = outer;
 }