package jscl.text; import jscl.math.Generic; import jscl.math.function.Function; import javax.annotation.Nonnull; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class FunctionParser implements Parser<Function> { public static final Parser<Function> parser = new FunctionParser(); private static final List<Parser<Function>> parsers = Arrays.asList( UsualFunctionParser.parser, RootParser.parser, ImplicitFunctionParser.parser); private FunctionParser() { } public Function parse(@Nonnull Parameters p, Generic previousSumElement) throws ParseException { return new MultiTryParser<Function>(new ArrayList<Parser<? extends Function>>(parsers)).parse(p, previousSumElement); } }