aboutsummaryrefslogtreecommitdiffstats
path: root/main/core/runtime/State.java
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2016-06-13 23:16:54 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2016-07-26 19:46:50 +0300
commit12eeefcdba1ee392f033f51e6b9826eaae3c4de6 (patch)
tree061f3472bfc924dfa05b46f3aeab76b788b86914 /main/core/runtime/State.java
parent560e490ea44970edca22181cc2726f0b2ebb82c9 (diff)
Add tokenizer, parser and support for certain operations
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);
+ }
+}