aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/visitors
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-09-29 20:14:34 +0100
committerMichael Williamson <mike@zwobble.org>2015-09-29 20:14:34 +0100
commitccac9247fe4663874be8026ab9cc968ecec7157b (patch)
tree6e15ebf9eb130034c45f84372ce4d3776f401328 /src/main/java/org/zwobble/couscous/ast/visitors
Initial commit
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/visitors')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/ExpressionNodeVisitor.java11
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/StatementNodeVisitor.java9
2 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/visitors/ExpressionNodeVisitor.java b/src/main/java/org/zwobble/couscous/ast/visitors/ExpressionNodeVisitor.java
new file mode 100644
index 0000000..0167abc
--- /dev/null
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/ExpressionNodeVisitor.java
@@ -0,0 +1,11 @@
+package org.zwobble.couscous.ast.visitors;
+
+import org.zwobble.couscous.ast.Assignment;
+import org.zwobble.couscous.ast.LiteralNode;
+import org.zwobble.couscous.ast.VariableReferenceNode;
+
+public interface ExpressionNodeVisitor<T> {
+ T visit(LiteralNode literal);
+ T visit(VariableReferenceNode variableReference);
+ T visit(Assignment assignment);
+}
diff --git a/src/main/java/org/zwobble/couscous/ast/visitors/StatementNodeVisitor.java b/src/main/java/org/zwobble/couscous/ast/visitors/StatementNodeVisitor.java
new file mode 100644
index 0000000..6cec404
--- /dev/null
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/StatementNodeVisitor.java
@@ -0,0 +1,9 @@
+package org.zwobble.couscous.ast.visitors;
+
+import org.zwobble.couscous.ast.ExpressionStatementNode;
+import org.zwobble.couscous.ast.ReturnNode;
+
+public interface StatementNodeVisitor<T> {
+ T visit(ReturnNode returnNode);
+ T visit(ExpressionStatementNode expressionStatement);
+}