Beispiel #1
0
        static void Main(string[] args)
        {
            while (true)
            {
                Console.Write("> ");
                var exprText = Console.ReadLine();

                if (string.IsNullOrWhiteSpace(exprText))
                {
                    break;
                }

                var parser = AntlrUtils.GetParser(exprText);

                //try
                //{
                var cst  = parser.compileUnit();
                var ast  = new BuildBinaryTreeVisitor().VisitCompileUnit(cst);
                var expr = new BuildExpressionVisitor().Visit((ExpressionNode)ast);
                //expr.Simplify();

                Console.WriteLine(expr.ToString());
                //}
                //catch (Exception ex)
                //{
                //    Console.WriteLine(ex);
                //}

                Console.WriteLine();
            }
        }
Beispiel #2
0
        private Expression GetExpression(string exprText)
        {
            var parser = AntlrUtils.GetParser(exprText);
            var cst    = parser.compileUnit();
            var ast    = new BuildBinaryTreeVisitor().VisitCompileUnit(cst);

            return(new BuildExpressionVisitor().Visit((ExpressionNode)ast));
        }