void InitVars() { _error = MorkErrors.NoError; _morkPos = 0; _nowParsing = NowParsing.NPValues; _currentCells = null; _columns = new MorkDict(); _values = new MorkDict(); _mork = new TableScopeMap(); _nextAddValueId = 0x7fffffff; }
bool Parse() { var result = true; var cur = NextChar(); // Run over mork chars and parse each term while (result && cur != 0) { if (!IsWhiteSpace(cur)) { // Figure out what a term switch (cur) { case '<': // Dict result = ParseDict(); break; case '/': // Comment result = ParseComment(); break; case '{': result = ParseTable(); // Table break; case '[': result = ParseRow(0, 0); // Row break; case '@': result = ParseGroup(); // Group break; default: _error = MorkErrors.DefectedFormat; result = false; break; } } // Get next char cur = NextChar(); } return(result); }