import java_cup.runtime.Symbol; import java.io.*; class Calcolatrice { static public void main(String[] args) throws java.io.IOException { // creazione del canale di input BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //lettura della stringa da esaminare System.out.print("Espressione da calcolare? "); String s = in.readLine(); //creazione del parser parser p = new parser(new Scanner(new StringReader(s))); try { Symbol ris = p.parse(); System.out.println("Il risultato dell'espressione e' " + ris.value); /* Nota: il metodo parse restituisce un oggetto di tipo Symbol che si riferisce al token corrispondente alla radice. Nel campo value, dichiarato del tipo generico Object, si trova il result assegnato dall'azione semantica */ } catch (Exception e){ System.out.println(e); } } }