implement new node types according to the new grammar

This commit is contained in:
2019-12-16 21:45:55 +01:00
parent 629f67b39c
commit 9e5046a20a
6 changed files with 33 additions and 10 deletions

View File

@@ -2,9 +2,8 @@ package de.hsrm.compiler.Klang.nodes.expressions;
import de.hsrm.compiler.Klang.visitors.Visitor; import de.hsrm.compiler.Klang.visitors.Visitor;
public class AdditiveExpression extends BinaryExpression { public class AdditionExpression extends BinaryExpression {
public AdditionExpression(Expression lhs, Expression rhs) {
public AdditiveExpression(Expression lhs, Expression rhs) {
super(lhs, rhs); super(lhs, rhs);
} }
@@ -12,5 +11,4 @@ public class AdditiveExpression extends BinaryExpression {
public <R> R welcome(Visitor<R> v) { public <R> R welcome(Visitor<R> v) {
return v.visit(this); return v.visit(this);
} }
} }

View File

@@ -1,7 +1,6 @@
package de.hsrm.compiler.Klang.nodes.expressions; package de.hsrm.compiler.Klang.nodes.expressions;
public abstract class BinaryExpression extends Expression { public abstract class BinaryExpression extends Expression {
public Expression lhs; public Expression lhs;
public Expression rhs; public Expression rhs;

View File

@@ -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> R welcome(Visitor<R> v) {
return v.visit(this);
}
}

View File

@@ -3,7 +3,6 @@ package de.hsrm.compiler.Klang.nodes.expressions;
import de.hsrm.compiler.Klang.visitors.Visitor; import de.hsrm.compiler.Klang.visitors.Visitor;
public class ModuloExpression extends BinaryExpression { public class ModuloExpression extends BinaryExpression {
public ModuloExpression(Expression lhs, Expression rhs) { public ModuloExpression(Expression lhs, Expression rhs) {
super(lhs, rhs); super(lhs, rhs);
} }
@@ -12,5 +11,4 @@ public class ModuloExpression extends BinaryExpression {
public <R> R welcome(Visitor<R> v) { public <R> R welcome(Visitor<R> v) {
return v.visit(this); return v.visit(this);
} }
} }

View File

@@ -1,9 +1,9 @@
package de.hsrm.compiler.Klang.nodes.expressions; 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 class MultiplicationExpression extends BinaryExpression {
public MultiplicativeExpression(Expression lhs, Expression rhs) { public MultiplicationExpression(Expression lhs, Expression rhs) {
super(lhs, rhs); super(lhs, rhs);
} }

View File

@@ -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> R welcome(Visitor<R> v) {
return v.visit(this);
}
}