aboutsummaryrefslogtreecommitdiffstats
path: root/main/core/runtime/Scope.java
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2016-06-28 21:09:43 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2016-07-26 19:47:12 +0300
commit8f84c00978dc05007873a9fe1de6a18511dc3cf8 (patch)
tree39fead540e22addee40b95b68db08cbea620745b /main/core/runtime/Scope.java
parent48dcd488054024d98fe1e659a4029630130d1d35 (diff)
Restructure project for use with maven
Diffstat (limited to 'main/core/runtime/Scope.java')
-rw-r--r--main/core/runtime/Scope.java50
1 files changed, 0 insertions, 50 deletions
diff --git a/main/core/runtime/Scope.java b/main/core/runtime/Scope.java
deleted file mode 100644
index 0bf8907..0000000
--- a/main/core/runtime/Scope.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.jantuomi.interpreter.main.core.runtime;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
-import com.jantuomi.interpreter.main.exception.InterpreterException;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by jan on 20.6.2016.
- */
-public class Scope {
- private Scope parent = null;
-
- private Map<String, DataContainer> variables = new HashMap<>();
- private Map<String, Function> functions = new HashMap<>();
-
- public void addVariable(String symbol) {
- variables.put(symbol, null);
- }
-
- public void setVariableValue(String symbol, DataContainer value) {
- variables.replace(symbol, value);
- }
-
- public DataContainer resolveSymbol(String symbol, List<DataContainer> params) throws InterpreterException {
- if (functions.containsKey(symbol)) {
- DataContainer r = functions.get(symbol).evaluate(params);
- return r;
- }
- if (variables.containsKey(symbol)) {
- return variables.get(symbol);
- }
- else if (parent != null) {
- return parent.resolveSymbol(symbol, params);
- }
- else {
- return null;
- }
- }
-
- public void setParent(Scope parent) {
- this.parent = parent;
- }
-
- public void addFunction(String symbol, Function func) {
- functions.put(symbol, func);
- }
-}