1 package edu.uci.eecs.specCompiler.specExtraction;
3 import java.util.ArrayList;
5 public class ActionSubConstruct {
6 public static class DefineVar {
7 public final String varType;
8 public final String varName;
9 public final String varExpr;
10 private String newVarName;
12 public DefineVar(String varType, String varName, String varExpr) {
13 this.varType = varType;
14 this.varName = varName;
15 this.varExpr = varExpr;
16 this.newVarName = null;
19 public void renameVarName(String newName) {
20 this.newVarName = newName;
23 public String getNewVarName() {
24 return this.newVarName;
27 public String toString() {
28 if (newVarName == null)
29 return varType + " " + varName + " = " + varExpr;
31 return varType + " " + varName + "(" + newVarName + ")" + " = "
36 public final ArrayList<DefineVar> defineVars;
37 public final String code;
39 public ActionSubConstruct(ArrayList<DefineVar> defineVars, String code) {
41 this.defineVars = defineVars;
44 public void addDefineVar(DefineVar defineVar) {
45 defineVars.add(defineVar);
48 public String toString() {
49 StringBuilder sb = new StringBuilder();
50 sb.append("@Action:\n");
51 for (DefineVar defineVar : defineVars) {
52 sb.append("\t@DefineVar: " + defineVar + "\n");
54 sb.append("\t@Code: " + code);