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()); } }