package jscl.text;
import jscl.math.ExpressionVariable;
import jscl.math.Generic;
import javax.annotation.Nonnull;
public class BracketedExpression implements Parser<ExpressionVariable> {
public static final Parser<ExpressionVariable> parser = new BracketedExpression();
private BracketedExpression() {
}
public ExpressionVariable parse(@Nonnull Parameters p, Generic previousSumElement) throws ParseException {
int pos0 = p.position.intValue();
ParserUtils.tryToParse(p, pos0, '(');
Generic result;
try {
result = ExpressionParser.parser.parse(p, previousSumElement);
} catch (ParseException e) {
p.position.setValue(pos0);
throw e;
}
ParserUtils.tryToParse(p, pos0, ')');
return new ExpressionVariable(result);
}
}