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.
28 lines
913 B
28 lines
913 B
2 years ago
|
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);
|
||
|
|
||
|
}
|