Added function call and function definition
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package de.hsrm.compiler.Klang.nodes;
|
||||
|
||||
import de.hsrm.compiler.Klang.visitors.Visitor;
|
||||
|
||||
public class FunctionDefinition extends Node {
|
||||
|
||||
public String name;
|
||||
public String[] parameters;
|
||||
public Block block;
|
||||
|
||||
public FunctionDefinition(String name, String[] parameters, Block block) {
|
||||
this.name = name;
|
||||
this.parameters = parameters;
|
||||
this.block = block;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public <R> R welcome(Visitor<R> v) {
|
||||
return v.visit(this);
|
||||
}
|
||||
}
|
||||
20
src/main/java/de/hsrm/compiler/Klang/nodes/Program.java
Normal file
20
src/main/java/de/hsrm/compiler/Klang/nodes/Program.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package de.hsrm.compiler.Klang.nodes;
|
||||
|
||||
import de.hsrm.compiler.Klang.nodes.expressions.Expression;
|
||||
import de.hsrm.compiler.Klang.visitors.Visitor;
|
||||
|
||||
public class Program extends Node {
|
||||
|
||||
public FunctionDefinition[] funcs;
|
||||
public Expression expression;
|
||||
|
||||
public Program(FunctionDefinition[] funcs, Expression expression) {
|
||||
this.funcs = funcs;
|
||||
this.expression = expression;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <R> R welcome(Visitor<R> v) {
|
||||
return v.visit(this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package de.hsrm.compiler.Klang.nodes.expressions;
|
||||
|
||||
import de.hsrm.compiler.Klang.visitors.Visitor;
|
||||
|
||||
public class FunctionCall extends Expression {
|
||||
|
||||
public String name;
|
||||
public Expression[] arguments;
|
||||
|
||||
public FunctionCall(String name, Expression[] arguments) {
|
||||
this.name = name;
|
||||
this.arguments = arguments;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <R> R welcome(Visitor<R> v) {
|
||||
return v.visit(this);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user