static void lala(string[] args) { string s = "a=5*2"; Parser p = new Parser(); List <string> tokens = p.parse(s); RPNInterpreter rpn = new RPNInterpreter(); double result = rpn.compute(tokens); Console.WriteLine(result); result = rpn.compute(tokens); Console.WriteLine(result); }
private static void start(string initialInput) { Parser parser = new Parser(); RPNInterpreter interpreter = new RPNInterpreter(); string input = initialInput; do { if (String.IsNullOrEmpty(initialInput)) { Console.Write("> "); input = Console.ReadLine(); } else { initialInput = ""; } switch (input) { case "q": Console.WriteLine("Bye!"); break; default: try { List <string> tokens = parser.parse(input); double value = interpreter.compute(tokens); if (value > Double.MaxValue) { value = Double.MaxValue; } Console.WriteLine(value); } catch (Exception e) { Console.WriteLine("Illegal Expression!"); } break; } } while (!input.Equals("q")); }