summaryrefslogtreecommitdiffstats
path: root/code/simpleSableCCCalulator/sableCCCalculator/SymbolTable.java
diff options
context:
space:
mode:
authorjwansek <eddie.atten.ea29@gmail.com>2021-10-25 15:20:30 +0100
committerjwansek <eddie.atten.ea29@gmail.com>2021-10-25 15:20:30 +0100
commitaa3a6929584eaa63cafb73353a62effd75d4dd8c (patch)
treecc5807a2ff556bd8e41e5bf352ba3f336cd32890 /code/simpleSableCCCalulator/sableCCCalculator/SymbolTable.java
parent3b85d64206d232d12864ec46a8b8d42fe6b464bb (diff)
downloadesotericFORTRAN-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.java17
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