From 9e5046a20a4625b83e7374533c5ecb461f3049c6 Mon Sep 17 00:00:00 2001 From: nitrix Date: Mon, 16 Dec 2019 21:45:55 +0100 Subject: [PATCH] implement new node types according to the new grammar --- ...tiveExpression.java => AdditionExpression.java} | 6 ++---- .../Klang/nodes/expressions/BinaryExpression.java | 1 - .../nodes/expressions/DivisionExpression.java | 14 ++++++++++++++ .../Klang/nodes/expressions/ModuloExpression.java | 2 -- ...pression.java => MultiplicationExpression.java} | 6 +++--- .../nodes/expressions/SubstractionExpression.java | 14 ++++++++++++++ 6 files changed, 33 insertions(+), 10 deletions(-) rename src/main/java/de/hsrm/compiler/Klang/nodes/expressions/{AdditiveExpression.java => AdditionExpression.java} (64%) create mode 100644 src/main/java/de/hsrm/compiler/Klang/nodes/expressions/DivisionExpression.java rename src/main/java/de/hsrm/compiler/Klang/nodes/expressions/{MultiplicativeExpression.java => MultiplicationExpression.java} (50%) create mode 100644 src/main/java/de/hsrm/compiler/Klang/nodes/expressions/SubstractionExpression.java diff --git a/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/AdditiveExpression.java b/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/AdditionExpression.java similarity index 64% rename from src/main/java/de/hsrm/compiler/Klang/nodes/expressions/AdditiveExpression.java rename to src/main/java/de/hsrm/compiler/Klang/nodes/expressions/AdditionExpression.java index 0c81e60..34e840c 100644 --- a/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/AdditiveExpression.java +++ b/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/AdditionExpression.java @@ -2,9 +2,8 @@ package de.hsrm.compiler.Klang.nodes.expressions; import de.hsrm.compiler.Klang.visitors.Visitor; -public class AdditiveExpression extends BinaryExpression { - - public AdditiveExpression(Expression lhs, Expression rhs) { +public class AdditionExpression extends BinaryExpression { + public AdditionExpression(Expression lhs, Expression rhs) { super(lhs, rhs); } @@ -12,5 +11,4 @@ public class AdditiveExpression extends BinaryExpression { public R welcome(Visitor v) { return v.visit(this); } - } \ No newline at end of file diff --git a/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/BinaryExpression.java b/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/BinaryExpression.java index 2ac71e7..e7f06bc 100644 --- a/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/BinaryExpression.java +++ b/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/BinaryExpression.java @@ -1,7 +1,6 @@ package de.hsrm.compiler.Klang.nodes.expressions; public abstract class BinaryExpression extends Expression { - public Expression lhs; public Expression rhs; diff --git a/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/DivisionExpression.java b/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/DivisionExpression.java new file mode 100644 index 0000000..325c188 --- /dev/null +++ b/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/DivisionExpression.java @@ -0,0 +1,14 @@ +package de.hsrm.compiler.Klang.nodes.expressions; + +import de.hsrm.compiler.Klang.visitors.Visitor; + +public class DivisionExpression extends BinaryExpression { + public DivisionExpression(Expression lhs, Expression rhs) { + super(lhs, rhs); + } + + @Override + public R welcome(Visitor v) { + return v.visit(this); + } +} \ No newline at end of file diff --git a/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/ModuloExpression.java b/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/ModuloExpression.java index ee613e1..89e99da 100644 --- a/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/ModuloExpression.java +++ b/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/ModuloExpression.java @@ -3,7 +3,6 @@ package de.hsrm.compiler.Klang.nodes.expressions; import de.hsrm.compiler.Klang.visitors.Visitor; public class ModuloExpression extends BinaryExpression { - public ModuloExpression(Expression lhs, Expression rhs) { super(lhs, rhs); } @@ -12,5 +11,4 @@ public class ModuloExpression extends BinaryExpression { public R welcome(Visitor v) { return v.visit(this); } - } \ No newline at end of file diff --git a/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/MultiplicativeExpression.java b/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/MultiplicationExpression.java similarity index 50% rename from src/main/java/de/hsrm/compiler/Klang/nodes/expressions/MultiplicativeExpression.java rename to src/main/java/de/hsrm/compiler/Klang/nodes/expressions/MultiplicationExpression.java index 3ddd060..e8719d9 100644 --- a/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/MultiplicativeExpression.java +++ b/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/MultiplicationExpression.java @@ -1,9 +1,9 @@ package de.hsrm.compiler.Klang.nodes.expressions; -import de.hsrm.compiler.Klang.visitors.Visitor;; +import de.hsrm.compiler.Klang.visitors.Visitor; -public class MultiplicativeExpression extends BinaryExpression { - public MultiplicativeExpression(Expression lhs, Expression rhs) { +public class MultiplicationExpression extends BinaryExpression { + public MultiplicationExpression(Expression lhs, Expression rhs) { super(lhs, rhs); } diff --git a/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/SubstractionExpression.java b/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/SubstractionExpression.java new file mode 100644 index 0000000..9bc48a4 --- /dev/null +++ b/src/main/java/de/hsrm/compiler/Klang/nodes/expressions/SubstractionExpression.java @@ -0,0 +1,14 @@ +package de.hsrm.compiler.Klang.nodes.expressions; + +import de.hsrm.compiler.Klang.visitors.Visitor; + +public class SubstractionExpression extends BinaryExpression { + public SubstractionExpression(Expression lhs, Expression rhs) { + super(lhs, rhs); + } + + @Override + public R welcome(Visitor v) { + return v.visit(this); + } +} \ No newline at end of file