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.");

    }
Exemplo n.º 2
0
        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.");
        }