package org.geogebra.common.kernel.parser; import org.geogebra.common.kernel.arithmetic.ExpressionNode; import org.geogebra.common.kernel.arithmetic.Function; import org.geogebra.common.kernel.arithmetic.FunctionNVar; import org.geogebra.common.kernel.arithmetic.ValidExpression; /** * Interface for parser * */ public interface ParserInterface { /** * @param parseString * string to parse * @return expression * @throws ParseException * if parsing fails */ public ExpressionNode parseExpression(String parseString) throws ParseException; /** * @param string * string to parse * @return function * @throws ParseException * if parsing fails */ public Function parseFunction(String string) throws ParseException; /** * @param string * string to parse * @return multivariate function * @throws ParseException * if parsing fails */ public FunctionNVar parseFunctionNVar(String string) throws ParseException; /** * @param str * string to parse * @return expression * @throws ParseException * if parsing fails */ public ValidExpression parseGeoGebraExpression(String str) throws ParseException; /** * @param label * potential label * @return valid label * @throws ParseException * if parsing fails */ public String parseLabel(String label) throws ParseException; }