Triangle tools from the text book Programming Processors in Java.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
Triangle-Tools/Triangle.Compiler/src/main/java/Triangle/AbstractSyntaxTrees/Visitors/ExpressionVisitor.java

39 lines
1.5 KiB

package Triangle.AbstractSyntaxTrees.Visitors;
import Triangle.AbstractSyntaxTrees.Expressions.ArrayExpression;
import Triangle.AbstractSyntaxTrees.Expressions.BinaryExpression;
import Triangle.AbstractSyntaxTrees.Expressions.CallExpression;
import Triangle.AbstractSyntaxTrees.Expressions.CharacterExpression;
import Triangle.AbstractSyntaxTrees.Expressions.EmptyExpression;
import Triangle.AbstractSyntaxTrees.Expressions.IfExpression;
import Triangle.AbstractSyntaxTrees.Expressions.IntegerExpression;
import Triangle.AbstractSyntaxTrees.Expressions.LetExpression;
import Triangle.AbstractSyntaxTrees.Expressions.RecordExpression;
import Triangle.AbstractSyntaxTrees.Expressions.UnaryExpression;
import Triangle.AbstractSyntaxTrees.Expressions.VnameExpression;
public interface ExpressionVisitor<TArg, TResult> {
TResult visitArrayExpression(ArrayExpression ast, TArg arg);
TResult visitBinaryExpression(BinaryExpression ast, TArg arg);
TResult visitCallExpression(CallExpression ast, TArg arg);
TResult visitCharacterExpression(CharacterExpression ast, TArg arg);
TResult visitEmptyExpression(EmptyExpression ast, TArg arg);
TResult visitIfExpression(IfExpression ast, TArg arg);
TResult visitIntegerExpression(IntegerExpression ast, TArg arg);
TResult visitLetExpression(LetExpression ast, TArg arg);
TResult visitRecordExpression(RecordExpression ast, TArg arg);
TResult visitUnaryExpression(UnaryExpression ast, TArg arg);
TResult visitVnameExpression(VnameExpression ast, TArg arg);
}