transcendental-lisp/src/token/RightParenthesis.java

27 lines
645 B
Java

package token;
import java.util.function.Supplier;
import file.FilePosition;
import sexpression.Nil;
import sexpression.SExpression;
import token.ParseException.StartsWithRightParenthesisException;
public class RightParenthesis extends Token {
public RightParenthesis(String text, FilePosition position) {
super(text, position);
}
@Override
public SExpression parseSExpression(Supplier<Token> getNextToken) {
throw new StartsWithRightParenthesisException(this);
}
@Override
public SExpression parseSExpressionTail(Supplier<Token> getNextToken) {
return Nil.getUniqueInstance();
}
}