20 import java.util.Scanner;
22 import ca.uqac.lif.cep.dsl.GrammarObjectBuilder;
23 import ca.uqac.lif.cep.functions.Function;
31 public class Calculator extends GrammarObjectBuilder<Function>
33 public static void main(String[] args)
throws BuildException
36 Scanner scanner =
new Scanner(System.in);
40 System.out.print(
"? ");
41 String line = scanner.nextLine();
42 if (line.equalsIgnoreCase(
"q"))
44 Function f = builder.build(line);
45 Object[] value =
new Object[1];
46 f.evaluate(
new Object[]{}, value);
47 System.out.println(value[0]);
Use the ArithmeticBuilder as an interactive calculator.
Use a GrammarObjectBuilder to parse and evaluate a string in Polish notation.