Пример #1
0
        private ConfigParseResult Parse()
        {
            var root = new ConfigClass("", null);

            e = tokens.GetEnumerator();

            while (e.MoveNext())
            {
                t = e.Current;
                if (t.Type == BisTokenType.Term)
                {
                    switch (t.Value.ToLower())
                    {
                    case @class:
                        var c = ParseClass();
                        if (c != null)
                        {
                            root.AddSubclass(c);
                        }
                        break;

                    case @enum:
                        ParseEnum();
                        break;
                    }
                    continue;
                }
                errors.Add(string.Format("Expected 'class' or 'enum' at {0}, Line={1}, Column={2}", t.File, t.BeginLine, t.BeginPos + 1));
            }
            return(new ConfigParseResult(new ConfigFile(root, enums), errors));
        }
Пример #2
0
 private bool Next()
 {
     if (!e.MoveNext())
     {
         errors.Add("Unexpected end of file");
         return(false);
     }
     t = e.Current;
     recordBuffer.Add(t);
     return(true);
 }