Beispiel #1
0
        public static void main(string[] args)
        {
            Tokenizer     tokenizer       = new Tokenizer();
            Parser        calc            = new Parser();
            List <String> expresssionList = new List <String>();

            // Remember, we use a trailing white space as a terminating character!

            expresssionList.Add("(100*2+2)*2+5>=500 ");
            expresssionList.Add("((5+1)*100-2+3) ");
            expresssionList.Add("100-30/2+13>=10 ");
            expresssionList.Add("(853+92*5)*10-20/2+771 ");
            expresssionList.Add("(5)*2 ");

            List <Node> commandList = new List <Node>();

            foreach (String expression in expresssionList)
            {
                Console.WriteLine("Expression: " + expression);
                currentTokenPosition = 0;
                calc.tokens          = tokenizer.Tokenize(expression);
                Node node = calc.BooleanExpression();

                if (node != null)
                {
                    commandList.Add(node);
                }
            }

            Console.WriteLine("");
            Console.WriteLine("Now, lets calculate expressions...");

            foreach (Node command in commandList)
            {
                Console.WriteLine("Expression Result: " + command.Eval());
            }
        }