| 123456789101112131415161718192021222324252627282930313233343536373839 |
- //Mult:top//
- //Mult:import//
- import java.util.*;
- // <mult> ::= <value> <multrest>
- public class Mult /*Mult:class*/ {
- public static final String $className = "Mult";
- public static final String $ruleString =
- "<mult> ::= <value> <multrest>";
- 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("<mult>", 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//
- }
|