Ejemplo n.º 1
0
 void InitVars()
 {
     _error          = MorkErrors.NoError;
     _morkPos        = 0;
     _nowParsing     = NowParsing.NPValues;
     _currentCells   = null;
     _columns        = new MorkDict();
     _values         = new MorkDict();
     _mork           = new TableScopeMap();
     _nextAddValueId = 0x7fffffff;
 }
Ejemplo n.º 2
0
        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);
        }