Example #1
0
        private void WalkTree(Expr boe)
        {
            if (boe != null)
            {
                try
                {
                    var tboe = boe as BinaryOperatorExpression;
                    if (tboe != null)
                    {
                        WalkTree(((BinaryOperatorExpression)boe).Left);
                        Console.WriteLine(((BinaryOperatorExpression)boe).Operation.GetToken().IdentiferName);
                        WalkTree(((BinaryOperatorExpression)boe).Right);
                    }

                    var ie = boe as IdentifierExpression;
                    if (ie != null)
                    {
                        Console.WriteLine(boe.GetToken().IdentiferName);
                    }

                    var fce = boe as FunctionCallExpression;
                    if (fce != null)
                    {
                        Console.WriteLine(fce.FunctionName);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            }
        }