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.
27 lines
913 B
27 lines
913 B
package triangle.abstractSyntaxTrees.visitors;
|
|
|
|
import triangle.abstractSyntaxTrees.commands.AssignCommand;
|
|
import triangle.abstractSyntaxTrees.commands.CallCommand;
|
|
import triangle.abstractSyntaxTrees.commands.EmptyCommand;
|
|
import triangle.abstractSyntaxTrees.commands.IfCommand;
|
|
import triangle.abstractSyntaxTrees.commands.LetCommand;
|
|
import triangle.abstractSyntaxTrees.commands.SequentialCommand;
|
|
import triangle.abstractSyntaxTrees.commands.WhileCommand;
|
|
|
|
public interface CommandVisitor<TArg, TResult> {
|
|
|
|
TResult visitAssignCommand(AssignCommand ast, TArg arg);
|
|
|
|
TResult visitCallCommand(CallCommand ast, TArg arg);
|
|
|
|
TResult visitEmptyCommand(EmptyCommand ast, TArg arg);
|
|
|
|
TResult visitIfCommand(IfCommand ast, TArg arg);
|
|
|
|
TResult visitLetCommand(LetCommand ast, TArg arg);
|
|
|
|
TResult visitSequentialCommand(SequentialCommand ast, TArg arg);
|
|
|
|
TResult visitWhileCommand(WhileCommand ast, TArg arg);
|
|
|
|
}
|
|
|