public void TestErrorRecovery() { var grammar = new ErrorRecoveryGrammar(); var parser = new Parser(grammar); TestHelper.CheckGrammarErrors(parser); //correct sample var parseTree = parser.Parse("x = y; y = z + m; m = n;"); Assert.IsFalse(parseTree.HasErrors(), "Unexpected parse errors in correct source sample."); parseTree = parser.Parse("x = y; m = = d ; y = z + m; x = z z; m = n;"); Assert.AreEqual(2, parseTree.ParserMessages.Count, "Invalid # of errors."); }
public void TestErrorRecovery() { var grammar = new ErrorRecoveryGrammar(); var parser = new Parser(grammar); TestHelper.CheckGrammarErrors(parser); //correct sample var parseTree = parser.Parse("x = y; y = z + m; m = n;"); Assert.False(parseTree.HasErrors(), "Unexpected parse errors in correct source sample."); parseTree = parser.Parse("x = y; m = = d ; y = z + m; x = z z; m = n;"); Assert.True(2 == parseTree.ParserMessages.Count, "Invalid # of errors."); }