public IList<Rule> ParseRules()
{
this.SkipBlankLines();
Token token = this.NextToken();
if (token == null)
return null;
this.PushToken(token);
this.ParseWordLine("rules");
IList<Rule> rules = new List<Rule>();
for (var rule = this.ParseRule(); rule != null; rule = this.ParseRule())
rules.Add(rule);
this.SkipBlankLines();
this.ParseWordLine("end");
return rules;
}
public void ParseTwoRulesFile() { Parser parser = new Parser(new StreamReader("TwoRules.txt")); IList<Rule> rules = parser.ParseRules(); Assert.IsNotNull(rules); Assert.AreEqual(2, rules.Count); Assert.IsNull(parser.ParseRules()); }