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()));
        }
Example #3
0
        private static ParserResult Parse(string input)
        {
            var parser = new SyntaxTokenParser(new SyntaxTokenEnumerable(input));

            return(parser.Parse());
        }