package jscl.text;
import jscl.NumeralBase;
import jscl.math.Generic;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public class NumeralBaseParser implements Parser<NumeralBase> {
public static final Parser<NumeralBase> parser = new NumeralBaseParser();
private NumeralBaseParser() {
}
public NumeralBase parse(@Nonnull Parameters p, @Nullable Generic previousSumElement) {
int pos0 = p.position.intValue();
NumeralBase result = p.context.getNumeralBase();
ParserUtils.skipWhitespaces(p);
for (NumeralBase numeralBase : NumeralBase.values()) {
try {
final String jsclPrefix = numeralBase.getJsclPrefix();
ParserUtils.tryToParse(p, pos0, jsclPrefix);
result = numeralBase;
break;
} catch (ParseException e) {
p.exceptionsPool.release(e);
}
}
return result;
}
}