diff options
Diffstat (limited to 'code/simpleSableCCCalulator/sableCCCalculator/ProgramStack.java')
-rw-r--r-- | code/simpleSableCCCalulator/sableCCCalculator/ProgramStack.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/code/simpleSableCCCalulator/sableCCCalculator/ProgramStack.java b/code/simpleSableCCCalulator/sableCCCalculator/ProgramStack.java new file mode 100644 index 0000000..1875e57 --- /dev/null +++ b/code/simpleSableCCCalulator/sableCCCalculator/ProgramStack.java @@ -0,0 +1,28 @@ +package sableCCCalculator; +import sableCCCalculator.node.*; +import java.util.Stack; + +public class ProgramStack<T extends Token> extends Stack<T> { + + public String toString() { + 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)); + } + return out.substring(0, out.length() - 2) + "]"; + } + + public static void main(String[] args) { + ProgramStack<Token> myStack = new ProgramStack<>(); + myStack.add(new TNumber("2")); + myStack.add(new TNumber("4")); + myStack.add(new TNumber("6")); + myStack.add(new TNumber("0")); + myStack.add(new TNumber("1")); + myStack.add(new TDouble("24601.10642")); + + System.out.println(myStack.pop().getText()); + System.out.println(myStack); + } +} |