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)); }
private bool Next() { if (!e.MoveNext()) { errors.Add("Unexpected end of file"); return(false); } t = e.Current; recordBuffer.Add(t); return(true); }