private static DiagnosticsEntry[] ParseFailed(string input) { var parser = new SyntaxTokenParser(new SyntaxTokenEnumerable(input)); var parserResult = parser.Parse(); parserResult.IsSuccessful.Should().BeFalse(); return(parserResult.Diagnostics); }
public EvaluatorResult Evaluate(string input) { var parser = new SyntaxTokenParser(new SyntaxTokenEnumerable(input)); var parserResult = parser.Parse(); if (!parserResult.IsSuccessful) { return(new EvaluatorResult(false, Double.NaN, parserResult.Diagnostics.ToArray())); } var syntaxThreeVisitor = new SyntaxThreeVisitor(); var result = parserResult.Root.Accept(syntaxThreeVisitor); if (syntaxThreeVisitor.Diagnostics.Any()) { return(new EvaluatorResult(false, Double.NaN, parserResult.Diagnostics.ToArray())); } return(new EvaluatorResult(true, result, parserResult.Diagnostics.Concat(syntaxThreeVisitor.Diagnostics).ToArray())); }
private static ParserResult Parse(string input) { var parser = new SyntaxTokenParser(new SyntaxTokenEnumerable(input)); return(parser.Parse()); }