public void Test2() { var path = Path.Combine(AssemblyDirectory, @"Data\Test.types"); var source = File.ReadAllText(path); var grammer = new SchematraGrammer(); var valid = grammer.IsValid(source); Assert.IsTrue(valid, "Grammer is invalid"); var root = grammer.GetRoot(source); grammer.DisplayTree(root, 1); }
/// <summary> /// Build Parse tree from the String /// </summary> private ParseTree BuildParseTree(String source, String filePath) { var grammer = new SchematraGrammer(); var tree = grammer.ParseTree(source); if (tree.HasErrors() && tree.ParserMessages.Count > 0) { var message = tree.ParserMessages[0]; var error = BuildErrorMessage(message.Message, filePath, message.Location.Line + 1, message.Location.Column); throw new Exception(error); } return tree; }