Пример #1
0
        private double CalculateString(string expression)
        {
            ExpressionLexer    lexer    = new ExpressionLexer(new StringReader(expression));
            ExpressionCompiler compiler = new ExpressionCompiler(lexer);

            return(compiler.GetExpression().Compile()());
        }
Пример #2
0
        static void Main(string[] args)
        {
            do
            {
                try
                {
                    Console.Write("> ");
                    ExpressionLexer    lexer    = new ExpressionLexer(new StringReader(Console.ReadLine() ?? ""));
                    ExpressionCompiler compiler = new ExpressionCompiler(lexer);

                    var expression = compiler.GetExpression();
                    Console.WriteLine(expression);
                    Console.WriteLine($"= {expression.Compile()()}");
                }
                catch (FormatException e)
                {
                    Console.WriteLine(e.Message);
                }
            } while (true);
        }