package jscl.text; import jscl.math.Generic; import javax.annotation.Nonnull; import javax.annotation.Nullable; public class PostfixFunctionParser implements Parser<String> { @Nonnull private final String name; protected PostfixFunctionParser(@Nonnull String name) { this.name = name; } @Nullable public String parse(@Nonnull Parameters p, Generic previousSumElement) throws ParseException { final int pos0 = p.position.intValue(); ParserUtils.skipWhitespaces(p); if (p.position.intValue() < p.expression.length() && p.expression.startsWith(name, p.position.intValue())) { p.position.add(name.length()); return name; } else { p.position.setValue(pos0); return null; } } }