private static void ParseBuffer(string keyword, IEnumerable <string> lines, IDictionary <int, string> parseRules, ICollection <string> databaseInfo) { switch (keyword.ToLower().Trim()) { case "databases": foreach (string line in lines) { string[] w = line.Split('\t'); databaseInfo.Add(w[0] + "\t" + w[10] + "\t" + w[11]); } break; case "parse": foreach (string line in lines) { string[] w = line.Split('\t'); int id = Int32.Parse(w[0].Substring(5)); string rule = w[1]; if (rule.StartsWith("\"") && rule.EndsWith("\"")) { rule = rule.Substring(1, rule.Length - 2); } rule = rule.Replace("\\(", "("); rule = rule.Replace("\\)", ")"); rule = StringUtil.Backslashify(rule, '|'); parseRules.Add(id, rule); } break; } }