package sableCCCalculator; import sableCCCalculator.SymbolTable.SymbolTableIndex; import sableCCCalculator.types.*; import java.util.Stack; public class ProgramStack extends Stack { public String toString(SymbolTable table) { String out = "Stack is now: ["; for (int i = 0; i < this.size(); i++) { // String theStr = this.elementAt(i).toString(); // out += String.format("%s, ", theStr.substring(0, theStr.length() - 1)); out += String.format("%s, ", table.get(this.elementAt(i))); } return out.substring(0, out.length() - 2) + "]"; } public static void main(String[] args) { ProgramStack myStack = new ProgramStack(); SymbolTable table = new SymbolTable(); myStack.add(table.addConstant(new Int(2))); myStack.add(table.addConstant(new Int(4))); myStack.add(table.addConstant(new Int(6))); myStack.add(table.addConstant(new Int(0))); myStack.add(table.addConstant(new Int(1))); myStack.add(table.addConstant(new Decimal(24601.10642))); System.out.println(table.get(myStack.pop())); System.out.println(myStack.toString(table)); } }