diff options
author | jwansek <eddie.atten.ea29@gmail.com> | 2021-10-25 15:20:30 +0100 |
---|---|---|
committer | jwansek <eddie.atten.ea29@gmail.com> | 2021-10-25 15:20:30 +0100 |
commit | aa3a6929584eaa63cafb73353a62effd75d4dd8c (patch) | |
tree | cc5807a2ff556bd8e41e5bf352ba3f336cd32890 /code/simpleSableCCCalulator/sableCCCalculator/SymbolTable.java | |
parent | 3b85d64206d232d12864ec46a8b8d42fe6b464bb (diff) | |
download | esotericFORTRAN-aa3a6929584eaa63cafb73353a62effd75d4dd8c.tar.gz esotericFORTRAN-aa3a6929584eaa63cafb73353a62effd75d4dd8c.zip |
added using symbol table in stack
Diffstat (limited to 'code/simpleSableCCCalulator/sableCCCalculator/SymbolTable.java')
-rw-r--r-- | code/simpleSableCCCalulator/sableCCCalculator/SymbolTable.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/code/simpleSableCCCalulator/sableCCCalculator/SymbolTable.java b/code/simpleSableCCCalulator/sableCCCalculator/SymbolTable.java index 435e48d..992e873 100644 --- a/code/simpleSableCCCalulator/sableCCCalculator/SymbolTable.java +++ b/code/simpleSableCCCalulator/sableCCCalculator/SymbolTable.java @@ -6,7 +6,8 @@ public class SymbolTable { public interface SymbolTableIndex {} - public abstract class Name implements SymbolTableIndex { + public abstract class Name implements SymbolTableIndex { + // can be used for functions too hopefully one day... protected String name; String getName() { @@ -42,7 +43,21 @@ public class SymbolTable { return index; } + public void updateVariable(Type newItem, SymbolTableIndex index) { + theSymbolTable.replace(index, newItem); + } + public Type get(SymbolTableIndex index) { return theSymbolTable.get(index); } + + public static void main(String[] args) { + SymbolTable symbolTable = new SymbolTable(); + symbolTable.addConstant(new Int(3)); + SymbolTableIndex i_var = symbolTable.addVariable(new Int(0), "i"); + System.out.println(symbolTable.get(i_var)); + symbolTable.updateVariable(symbolTable.get(i_var).add(new Int(1)), i_var); + System.out.println(symbolTable.get(i_var)); + } } +
\ No newline at end of file |