void InitVars()
 {
     _error          = MorkErrors.NoError;
     _morkPos        = 0;
     _nowParsing     = NowParsing.NPValues;
     _currentCells   = null;
     _columns        = new MorkDict();
     _values         = new MorkDict();
     _mork           = new TableScopeMap();
     _nextAddValueId = 0x7fffffff;
 }
        void SetCurrentRow(int tableScope, int tableId, int rowScope, int rowId)
        {
            if (rowScope == 0)
            {
                rowScope = _defaultScope;
            }

            if (tableScope == 0)
            {
                tableScope = _defaultScope;
            }

            MorkTableMap ts = GetOrAdd(_mork, Math.Abs(tableScope));
            RowScopeMap  t  = GetOrAdd(ts, Math.Abs(tableId));
            MorkRowMap   rs = GetOrAdd(t, Math.Abs(rowScope));

            _currentCells = GetOrAdd(rs, Math.Abs(rowId));
        }
 public IEnumerable <KeyValuePair <int, string> > GetCells(MorkCells cells)
 {
     return(cells.Select(pair => new KeyValuePair <int, string>(pair.Key, GetValue(pair.Value))));
 }