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.
39 lines
1.5 KiB
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);
|
|
|
|
}
|
|
|