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