//VARValue:top// //VARValue:import// import java.util.*; // VARValue ::= public class VARValue extends Value /*VARValue:class*/ { public static final String $className = "VARValue"; public static final String $ruleString = "VARValue ::= "; public Token var; public VARValue(Token var) { //VARValue:init// this.var = var; } public static VARValue parse(Scan scn$, Trace trace$) { if (trace$ != null) trace$ = trace$.nonterm("VARValue", scn$.lno); Token var = scn$.match(Token.Match.VAR, trace$); return new VARValue(var); } public int eval() { if (!Program.hshmap.containsKey(var.toString())) throw new RuntimeException("Undefined variable: " + var); return Program.hshmap.get(var.toString()); } //VARValue// }