package jscl.text;
import jscl.math.Generic;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
/**
* User: serso
* Date: 10/27/11
* Time: 2:45 PM
*/
class ExponentParser implements Parser<Generic> {
public static final Parser<Generic> parser = new ExponentParser();
private ExponentParser() {
}
public Generic parse(@Nonnull Parameters p, @Nullable Generic previousSumElement) throws ParseException {
int pos0 = p.position.intValue();
final boolean minus = MinusParser.parser.parse(p, previousSumElement);
final Generic result = ParserUtils.parseWithRollback(UnsignedExponent.parser, pos0, previousSumElement, p);
return minus ? result.negate() : result;
}
}