//Exp:top// //Exp:import// import java.util.*; // ::= public class Exp /*Exp:class*/ { public static final String $className = "Exp"; public static final String $ruleString = " ::= "; public Mult mult; public Exprest exprest; public Exp(Mult mult, Exprest exprest) { //Exp:init// this.mult = mult; this.exprest = exprest; } public static Exp parse(Scan scn$, Trace trace$) { if (trace$ != null) trace$ = trace$.nonterm("", scn$.lno); Mult mult = Mult.parse(scn$, trace$); Exprest exprest = Exprest.parse(scn$, trace$); return new Exp(mult, exprest); } public int eval() { int v = mult.eval(); for (int i = 0; i < exprest.opList.size(); i++) v += exprest.opList.get(i).toString().equals("+") ? exprest.multList.get(i).eval() : -exprest.multList.get(i).eval(); return v; } //Exp// }