transcendental-lisp/src/interpreter/LispInterpreterBuilder.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();
}