void InitVars() { _error = MorkErrors.NoError; _morkPos = 0; _nowParsing = NowParsing.NPValues; _currentCells = null; _columns = new MorkDict(); _values = new MorkDict(); _mork = new TableScopeMap(); _nextAddValueId = 0x7fffffff; }
// ============================================================= // parseRow bool ParseRow(int tableId, int tableScope) { var result = true; var textId = string.Empty; var id = 0; var scope = 0; var cur = NextChar(); _nowParsing = NowParsing.NPRows; // Get id while (cur != '(' && cur != ']' && cur != '[' && cur != 0) { if (!IsWhiteSpace(cur)) { textId += cur; } cur = NextChar(); } ParseScopeId(textId, ref id, ref scope); SetCurrentRow(tableScope, tableId, scope, id); // Parse the row while (result && cur != ']' && cur != 0) { if (!IsWhiteSpace(cur)) { switch (cur) { case '(': result = ParseCell(); break; case '[': result = ParseMeta(']'); break; default: result = false; break; } } cur = NextChar(); } return(result); }
bool ParseDict() { var cur = NextChar(); var result = true; _nowParsing = NowParsing.NPValues; while (result && cur != '>' && cur != 0) { if (!IsWhiteSpace(cur)) { switch (cur) { case '<': { if (_morkData.Substring(_morkPos - 1, MorkDictColumnMeta.Length) == MorkDictColumnMeta) { _nowParsing = NowParsing.NPColumns; _morkPos += MorkDictColumnMeta.Length - 1; } break; } case '(': result = ParseCell(); break; case '/': result = ParseComment(); break; } } cur = NextChar(); } return(result); }