aboutsummaryrefslogtreecommitdiffstats
path: root/main/core/runtime/State.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/core/runtime/State.java')
-rw-r--r--main/core/runtime/State.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/main/core/runtime/State.java b/main/core/runtime/State.java
new file mode 100644
index 0000000..7e4fb71
--- /dev/null
+++ b/main/core/runtime/State.java
@@ -0,0 +1,35 @@
+package com.jantuomi.interpreter.main.core.runtime;
+
+import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Created by jan on 11.6.2016.
+ */
+public class State {
+ private static final State instance = new State();
+
+ public static State getInstance() {
+ return instance;
+ }
+
+ private Map<String, DataContainer> variables = new HashMap<>();
+
+ private State() {
+
+ }
+
+ public DataContainer getSymbolValue(String symbol) {
+ if (variables.keySet().contains(symbol)) {
+ return variables.get(symbol);
+ } else {
+ return null;
+ }
+ }
+
+ public void setSymbolValue(String symbol, DataContainer value) {
+ variables.put(symbol, value);
+ }
+}