summaryrefslogtreecommitdiff
path: root/evaluator/src
diff options
context:
space:
mode:
authorGravatar Uko Kokņevičs2024-08-22 22:55:13 +0800
committerGravatar Uko Kokņevičs2024-08-22 22:55:13 +0800
commit5f4b45ec7634f2728693e93f862419e495db6979 (patch)
tree300f9acaddcfa4a63365bec4952dcb585be0a282 /evaluator/src
parentGet rid of that Scope mess (diff)
downloadorang-5f4b45ec7634f2728693e93f862419e495db6979.tar.gz
orang-5f4b45ec7634f2728693e93f862419e495db6979.tar.xz
orang-5f4b45ec7634f2728693e93f862419e495db6979.zip
Move Evaluator to a new module
Diffstat (limited to '')
-rw-r--r--evaluator/src/main/java/lv/enes/orang/evaluator/Array.java (renamed from orang/src/main/java/lv/enes/orang/value/Array.java)2
-rw-r--r--evaluator/src/main/java/lv/enes/orang/evaluator/BuiltinFunction.java (renamed from orang/src/main/java/lv/enes/orang/value/BuiltinFunction.java)2
-rw-r--r--evaluator/src/main/java/lv/enes/orang/evaluator/Evaluator.java (renamed from orang/src/main/java/lv/enes/orang/Evaluator.java)7
-rw-r--r--evaluator/src/main/java/lv/enes/orang/evaluator/Function.java (renamed from orang/src/main/java/lv/enes/orang/value/Function.java)2
-rw-r--r--evaluator/src/main/java/lv/enes/orang/evaluator/Nothing.java (renamed from orang/src/main/java/lv/enes/orang/value/Nothing.java)2
-rw-r--r--evaluator/src/main/java/lv/enes/orang/evaluator/OrangBoolean.java (renamed from orang/src/main/java/lv/enes/orang/value/OrangBoolean.java)2
-rw-r--r--evaluator/src/main/java/lv/enes/orang/evaluator/OrangInteger.java (renamed from orang/src/main/java/lv/enes/orang/value/OrangInteger.java)2
-rw-r--r--evaluator/src/main/java/lv/enes/orang/evaluator/OrangString.java (renamed from orang/src/main/java/lv/enes/orang/value/OrangString.java)2
-rw-r--r--evaluator/src/main/java/lv/enes/orang/evaluator/PartialBuiltinFunction.java (renamed from orang/src/main/java/lv/enes/orang/value/PartialBuiltinFunction.java)2
-rw-r--r--evaluator/src/main/java/lv/enes/orang/evaluator/PartialFunction.java (renamed from orang/src/main/java/lv/enes/orang/value/PartialFunction.java)3
-rw-r--r--evaluator/src/main/java/lv/enes/orang/evaluator/Undefined.java (renamed from orang/src/main/java/lv/enes/orang/value/Undefined.java)2
-rw-r--r--evaluator/src/main/java/lv/enes/orang/evaluator/Value.java (renamed from orang/src/main/java/lv/enes/orang/value/Value.java)2
-rw-r--r--evaluator/src/main/java/module-info.java9
13 files changed, 21 insertions, 18 deletions
diff --git a/orang/src/main/java/lv/enes/orang/value/Array.java b/evaluator/src/main/java/lv/enes/orang/evaluator/Array.java
index 33e1516..4c76eff 100644
--- a/orang/src/main/java/lv/enes/orang/value/Array.java
+++ b/evaluator/src/main/java/lv/enes/orang/evaluator/Array.java
@@ -1,4 +1,4 @@
1package lv.enes.orang.value; 1package lv.enes.orang.evaluator;
2 2
3import lv.enes.orang.core.OrangRuntimeException; 3import lv.enes.orang.core.OrangRuntimeException;
4 4
diff --git a/orang/src/main/java/lv/enes/orang/value/BuiltinFunction.java b/evaluator/src/main/java/lv/enes/orang/evaluator/BuiltinFunction.java
index 1a61cfb..1f37280 100644
--- a/orang/src/main/java/lv/enes/orang/value/BuiltinFunction.java
+++ b/evaluator/src/main/java/lv/enes/orang/evaluator/BuiltinFunction.java
@@ -1,4 +1,4 @@
1package lv.enes.orang.value; 1package lv.enes.orang.evaluator;
2 2
3import lv.enes.orang.core.OrangRuntimeException; 3import lv.enes.orang.core.OrangRuntimeException;
4 4
diff --git a/orang/src/main/java/lv/enes/orang/Evaluator.java b/evaluator/src/main/java/lv/enes/orang/evaluator/Evaluator.java
index 69a256f..6925bac 100644
--- a/orang/src/main/java/lv/enes/orang/Evaluator.java
+++ b/evaluator/src/main/java/lv/enes/orang/evaluator/Evaluator.java
@@ -1,8 +1,7 @@
1package lv.enes.orang; 1package lv.enes.orang.evaluator;
2 2
3import lv.enes.orang.ast.*; 3import lv.enes.orang.ast.*;
4import lv.enes.orang.core.OrangRuntimeException; 4import lv.enes.orang.core.OrangRuntimeException;
5import lv.enes.orang.value.*;
6 5
7import java.util.ArrayList; 6import java.util.ArrayList;
8import java.util.Collections; 7import java.util.Collections;
@@ -10,10 +9,6 @@ import java.util.HashMap;
10import java.util.Map; 9import java.util.Map;
11 10
12public record Evaluator(Map<String, Value> scope, Value lastResult) implements ExpressionVisitor<Value, OrangRuntimeException>, StatementVisitor<Evaluator, OrangRuntimeException> { 11public record Evaluator(Map<String, Value> scope, Value lastResult) implements ExpressionVisitor<Value, OrangRuntimeException>, StatementVisitor<Evaluator, OrangRuntimeException> {
13 public Evaluator() {
14 this(new HashMap<>(Builtins.BUILTINS));
15 }
16
17 public Evaluator(Map<String, Value> scope) { 12 public Evaluator(Map<String, Value> scope) {
18 this(scope, Undefined.INSTANCE); 13 this(scope, Undefined.INSTANCE);
19 } 14 }
diff --git a/orang/src/main/java/lv/enes/orang/value/Function.java b/evaluator/src/main/java/lv/enes/orang/evaluator/Function.java
index f8c1a7f..33102fb 100644
--- a/orang/src/main/java/lv/enes/orang/value/Function.java
+++ b/evaluator/src/main/java/lv/enes/orang/evaluator/Function.java
@@ -1,4 +1,4 @@
1package lv.enes.orang.value; 1package lv.enes.orang.evaluator;
2 2
3import lv.enes.orang.ast.ArgSpec; 3import lv.enes.orang.ast.ArgSpec;
4import lv.enes.orang.ast.Expression; 4import lv.enes.orang.ast.Expression;
diff --git a/orang/src/main/java/lv/enes/orang/value/Nothing.java b/evaluator/src/main/java/lv/enes/orang/evaluator/Nothing.java
index 4a90010..c971649 100644
--- a/orang/src/main/java/lv/enes/orang/value/Nothing.java
+++ b/evaluator/src/main/java/lv/enes/orang/evaluator/Nothing.java
@@ -1,4 +1,4 @@
1package lv.enes.orang.value; 1package lv.enes.orang.evaluator;
2 2
3import lombok.EqualsAndHashCode; 3import lombok.EqualsAndHashCode;
4 4
diff --git a/orang/src/main/java/lv/enes/orang/value/OrangBoolean.java b/evaluator/src/main/java/lv/enes/orang/evaluator/OrangBoolean.java
index 59aa9b7..3564a9c 100644
--- a/orang/src/main/java/lv/enes/orang/value/OrangBoolean.java
+++ b/evaluator/src/main/java/lv/enes/orang/evaluator/OrangBoolean.java
@@ -1,4 +1,4 @@
1package lv.enes.orang.value; 1package lv.enes.orang.evaluator;
2 2
3import lombok.EqualsAndHashCode; 3import lombok.EqualsAndHashCode;
4import lv.enes.orang.core.OrangRuntimeException; 4import lv.enes.orang.core.OrangRuntimeException;
diff --git a/orang/src/main/java/lv/enes/orang/value/OrangInteger.java b/evaluator/src/main/java/lv/enes/orang/evaluator/OrangInteger.java
index 63a44da..90de0b5 100644
--- a/orang/src/main/java/lv/enes/orang/value/OrangInteger.java
+++ b/evaluator/src/main/java/lv/enes/orang/evaluator/OrangInteger.java
@@ -1,4 +1,4 @@
1package lv.enes.orang.value; 1package lv.enes.orang.evaluator;
2 2
3import lv.enes.orang.core.OrangRuntimeException; 3import lv.enes.orang.core.OrangRuntimeException;
4 4
diff --git a/orang/src/main/java/lv/enes/orang/value/OrangString.java b/evaluator/src/main/java/lv/enes/orang/evaluator/OrangString.java
index b4ede1f..5c38842 100644
--- a/orang/src/main/java/lv/enes/orang/value/OrangString.java
+++ b/evaluator/src/main/java/lv/enes/orang/evaluator/OrangString.java
@@ -1,4 +1,4 @@
1package lv.enes.orang.value; 1package lv.enes.orang.evaluator;
2 2
3import lv.enes.orang.core.OrangRuntimeException; 3import lv.enes.orang.core.OrangRuntimeException;
4 4
diff --git a/orang/src/main/java/lv/enes/orang/value/PartialBuiltinFunction.java b/evaluator/src/main/java/lv/enes/orang/evaluator/PartialBuiltinFunction.java
index c1be22a..f1e8cc6 100644
--- a/orang/src/main/java/lv/enes/orang/value/PartialBuiltinFunction.java
+++ b/evaluator/src/main/java/lv/enes/orang/evaluator/PartialBuiltinFunction.java
@@ -1,4 +1,4 @@
1package lv.enes.orang.value; 1package lv.enes.orang.evaluator;
2 2
3import lv.enes.orang.core.OrangRuntimeException; 3import lv.enes.orang.core.OrangRuntimeException;
4 4
diff --git a/orang/src/main/java/lv/enes/orang/value/PartialFunction.java b/evaluator/src/main/java/lv/enes/orang/evaluator/PartialFunction.java
index 427da76..d0125f6 100644
--- a/orang/src/main/java/lv/enes/orang/value/PartialFunction.java
+++ b/evaluator/src/main/java/lv/enes/orang/evaluator/PartialFunction.java
@@ -1,6 +1,5 @@
1package lv.enes.orang.value; 1package lv.enes.orang.evaluator;
2 2
3import lv.enes.orang.*;
4import lv.enes.orang.ast.ArgSpec; 3import lv.enes.orang.ast.ArgSpec;
5import lv.enes.orang.ast.Expression; 4import lv.enes.orang.ast.Expression;
6import lv.enes.orang.core.OrangRuntimeException; 5import lv.enes.orang.core.OrangRuntimeException;
diff --git a/orang/src/main/java/lv/enes/orang/value/Undefined.java b/evaluator/src/main/java/lv/enes/orang/evaluator/Undefined.java
index a341ee8..2aec74b 100644
--- a/orang/src/main/java/lv/enes/orang/value/Undefined.java
+++ b/evaluator/src/main/java/lv/enes/orang/evaluator/Undefined.java
@@ -1,4 +1,4 @@
1package lv.enes.orang.value; 1package lv.enes.orang.evaluator;
2 2
3import lombok.EqualsAndHashCode; 3import lombok.EqualsAndHashCode;
4 4
diff --git a/orang/src/main/java/lv/enes/orang/value/Value.java b/evaluator/src/main/java/lv/enes/orang/evaluator/Value.java
index 07e6848..d8c8b9c 100644
--- a/orang/src/main/java/lv/enes/orang/value/Value.java
+++ b/evaluator/src/main/java/lv/enes/orang/evaluator/Value.java
@@ -1,4 +1,4 @@
1package lv.enes.orang.value; 1package lv.enes.orang.evaluator;
2 2
3import lv.enes.orang.core.OrangRuntimeException; 3import lv.enes.orang.core.OrangRuntimeException;
4 4
diff --git a/evaluator/src/main/java/module-info.java b/evaluator/src/main/java/module-info.java
new file mode 100644
index 0000000..4cb992c
--- /dev/null
+++ b/evaluator/src/main/java/module-info.java
@@ -0,0 +1,9 @@
1module lv.enes.orang.evaluator {
2 exports lv.enes.orang.evaluator;
3
4 requires lv.enes.orang.ast;
5 requires lv.enes.orang.core;
6 requires lv.enes.orang.utils;
7
8 requires static lombok;
9} \ No newline at end of file