//AssignStmt:top// //AssignStmt:import// import java.util.*; // AssignStmt ::= public class AssignStmt extends Stmt /*AssignStmt:class*/ { public static final String $className = "AssignStmt"; public static final String $ruleString = "AssignStmt ::= "; public Token var; public Token assign; public Exp exp; public Token semi; public AssignStmt(Token var, Token assign, Exp exp, Token semi) { //AssignStmt:init// this.var = var; this.assign = assign; this.exp = exp; this.semi = semi; } public static AssignStmt parse(Scan scn$, Trace trace$) { if (trace$ != null) trace$ = trace$.nonterm("AssignStmt", scn$.lno); Token var = scn$.match(Token.Match.VAR, trace$); Token assign = scn$.match(Token.Match.ASSIGN, trace$); Exp exp = Exp.parse(scn$, trace$); Token semi = scn$.match(Token.Match.SEMI, trace$); return new AssignStmt(var, assign, exp, semi); } public void execute() { Program.hshmap.put(var.toString(), exp.eval()); } //AssignStmt// }