diff options
author | AidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com> | 2021-10-25 16:57:36 +0100 |
---|---|---|
committer | AidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com> | 2021-10-25 16:57:36 +0100 |
commit | 69b0ad07bac30beca1397ff187468e7597203c44 (patch) | |
tree | f125c988f73e2f16bef2a1f145994bc827b0d418 /code/simpleSableCCCalulator/sableCCCalculator/ProgramStack.java | |
parent | 74c5732bded6695eed3aabf125a888fbdf206a40 (diff) | |
parent | aa3a6929584eaa63cafb73353a62effd75d4dd8c (diff) | |
download | esotericFORTRAN-69b0ad07bac30beca1397ff187468e7597203c44.tar.gz esotericFORTRAN-69b0ad07bac30beca1397ff187468e7597203c44.zip |
Merge branch 'main' of https://github.com/AlfieEagleton/EsotericProject
Diffstat (limited to 'code/simpleSableCCCalulator/sableCCCalculator/ProgramStack.java')
-rw-r--r-- | code/simpleSableCCCalulator/sableCCCalculator/ProgramStack.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/code/simpleSableCCCalulator/sableCCCalculator/ProgramStack.java b/code/simpleSableCCCalulator/sableCCCalculator/ProgramStack.java new file mode 100644 index 0000000..b49c0d1 --- /dev/null +++ b/code/simpleSableCCCalulator/sableCCCalculator/ProgramStack.java @@ -0,0 +1,31 @@ +package sableCCCalculator; +import sableCCCalculator.SymbolTable.SymbolTableIndex; +import sableCCCalculator.types.*; +import java.util.Stack; + +public class ProgramStack extends Stack<SymbolTableIndex> { + + 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)); + } +} |