37 lines
963 B
Java
37 lines
963 B
Java
package interpreter;
|
|
|
|
import java.io.*;
|
|
import java.util.function.Function;
|
|
|
|
public interface LispInterpreterBuilder {
|
|
|
|
void setInput(InputStream inputStream, String inputName);
|
|
|
|
void setOutput(PrintStream outputStream);
|
|
|
|
void setErrorOutput(PrintStream errorOutputStream);
|
|
|
|
void setTerminationFunction(Runnable terminationFunction);
|
|
|
|
void setErrorTerminationFunction(Runnable errorTerminationFunction);
|
|
|
|
void setNotInteractive();
|
|
|
|
void useFile(String fileName);
|
|
|
|
void setOutputDecorator(Function<String, String> outputDecorator);
|
|
|
|
void setValueOutputDecorator(Function<String, String> valueOutputDecorator);
|
|
|
|
void setWarningOutputDecorator(Function<String, String> warningOutputDecorator);
|
|
|
|
void setErrorOutputDecorator(Function<String, String> errorOutputDecorator);
|
|
|
|
void setCriticalOutputDecorator(Function<String, String> criticalOutputDecorator);
|
|
|
|
default void reset() {}
|
|
|
|
LispInterpreter build();
|
|
|
|
}
|